blob: 5cc32777dc8322b119f206ba14317a7a4f00d140 [file] [log] [blame]
Using Valgrind in Sapphire at Nest Labs
=======================================
Since nobody at Nest is using Valgrind regularly, using valgrind will always be
batteries-not-included. There are some breadcrumbs left by the ancients:
https://wiki.nestlabs.com/display/NEST/Running+Valgrind+on+sapphire+device
sapphire/production/sw/nestlabs/tools/valgrind-scripts/Makefile
https://nest-internal.googlesource.com/platform/sapphire/+/master/production/sw/nestlabs/tools/valgrind-scripts/Makefile
However, they are already out-of-date. However, these links are provided in case
you find them helpful.
In order to use valgrind effectively, you'll probably want to follow the
following steps:
[ ] Change your product makefile config (e.g. flintstone.mak):
[ ] Enable BUILD_FEATURE_VALGRIND
[ ] Disable BUILD_FEATURE_FLINTSTONE_CONSOLE (it steals
the console from you)
[ ] Disable BUILD_FEATURE_AUTOLOG (it steals the console
from you)
[ ] Disable GCC library static linking (as of this writing,
you can do it by switching from the 2.0.1c toolchain
to the 2.0.1b toolchain). You need to do this so you'll
have enough room on the firmware image.
[ ] In order to use valgrind you'll need to have the debug
symbols for ld.so installed on the device. If you're using
the 2.0.1b toolchain, this will happen for you automatically.
For other Poky-based toolchains, you'll have to install them
on the device yourself:
$ scp /opt/poky/<ver>/sysroots/<mach>/lib/.debug/ld-2.22.so \
root@192.168.33.2:/lib/.debug/