From 02fc867810866904966d45c3e290810c4a196543 Mon Sep 17 00:00:00 2001 From: Sean Anderson Date: Wed, 23 Mar 2022 14:04:50 -0400 Subject: [PATCH] doc: sandbox: Document how to run sandbox with valgrind This documents how to get more detailed results from valgrind made possible by the last two commits. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- doc/arch/sandbox.rst | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/doc/arch/sandbox.rst b/doc/arch/sandbox.rst index f8804e1f41..e1119492b4 100644 --- a/doc/arch/sandbox.rst +++ b/doc/arch/sandbox.rst @@ -477,14 +477,20 @@ Using valgrind / memcheck It is possible to run U-Boot under valgrind to check memory allocations:: - valgrind u-boot + valgrind ./u-boot + +For more detailed results, enable `CONFIG_VALGRIND`. There are many false +positives due to `malloc` itself. Suppress these with:: + + valgrind --suppressions=scripts/u-boot.supp ./u-boot If you are running sandbox SPL or TPL, then valgrind will not by default notice when U-Boot jumps from TPL to SPL, or from SPL to U-Boot proper. To -fix this, use:: - - valgrind --trace-children=yes u-boot +fix this, use `--trace-children=yes`. To show who alloc'd some troublesome +memory, use `--track-origins=yes`. To uncover possible errors, try running all +unit tests with:: + valgrind --track-origins=yes --suppressions=scripts/u-boot.supp ./u-boot -Tc 'ut all' Testing ------- -- 2.39.5