Remove hardcoded line number from the zeroize test

Instead, we insert a comment containing GDB_BREAK_HERE in the line we
want to break at, and let the gdb script search for it.

Signed-off-by: Bence Szépkúti <bence.szepkuti@arm.com>
This commit is contained in:
Bence Szépkúti 2020-06-09 12:52:04 +02:00
parent 74fc3be396
commit cd6fd060ec
2 changed files with 8 additions and 16 deletions

View File

@ -4,12 +4,10 @@
* This is a simple test application used for debugger-driven testing to check * This is a simple test application used for debugger-driven testing to check
* whether calls to mbedtls_platform_zeroize() are being eliminated by compiler * whether calls to mbedtls_platform_zeroize() are being eliminated by compiler
* optimizations. This application is used by the GDB script at * optimizations. This application is used by the GDB script at
* tests/scripts/test_zeroize.gdb under the assumption that the code does not * tests/scripts/test_zeroize.gdb: the script sets a breakpoint at the last
* change often (as opposed to the library code) because the script sets a * return statement in the main() function of this program. The debugger
* breakpoint at the last return statement in the main() function of this * facilities are then used to manually inspect the memory and verify that the
* program. The debugger facilities are then used to manually inspect the * call to mbedtls_platform_zeroize() was not eliminated.
* memory and verify that the call to mbedtls_platform_zeroize() was not
* eliminated.
* *
* Copyright (C) 2018, Arm Limited, All Rights Reserved * Copyright (C) 2018, Arm Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
@ -98,5 +96,5 @@ int main( int argc, char** argv )
fclose( fp ); fclose( fp );
mbedtls_platform_zeroize( buf, sizeof( buf ) ); mbedtls_platform_zeroize( buf, sizeof( buf ) );
mbedtls_exit( exit_code ); mbedtls_exit( exit_code ); // GDB_BREAK_HERE -- don't remove this comment!
} }

View File

@ -31,19 +31,13 @@
# the compiler potentially has a bug. # the compiler potentially has a bug.
# #
# Note: This test requires that the test program is compiled with -g3. # Note: This test requires that the test program is compiled with -g3.
#
# WARNING: There does not seem to be a mechanism in GDB scripts to set a
# breakpoint at the end of a function (probably because there are a lot of
# complications as function can have multiple exit points, etc). Therefore, it
# was necessary to hard-code the line number of the breakpoint in the zeroize.c
# test app. The assumption is that zeroize.c is a simple test app that does not
# change often (as opposed to the actual library code), so the breakpoint line
# number does not need to be updated often.
set confirm off set confirm off
file ./programs/test/zeroize file ./programs/test/zeroize
break zeroize.c:100
search GDB_BREAK_HERE
break $_
set args ./programs/test/zeroize.c set args ./programs/test/zeroize.c
run run