On arm-linux, I ran into: ... (gdb) python print("Got: " + gdb.format_address(0x103dd))^M Got: 0x103dd <main at /home/vries/gdb/src/gdb/testsuite/gdb.python/py-format-address.c:30>^M (gdb) FAIL: gdb.python/py-format-address.exp: symbol_filename=on: gdb.format_address, result should have an offset ...
Tentative patch: ... diff --git a/gdb/testsuite/gdb.python/py-format-address.c b/gdb/testsuite/gdb.python/py-format-address.c index 2a0e9163db5..626bb41a220 100644 --- a/gdb/testsuite/gdb.python/py-format-address.c +++ b/gdb/testsuite/gdb.python/py-format-address.c @@ -28,5 +28,6 @@ FUNCTION_NAME (void) int main (void) { - return FUNCTION_NAME (); + int res = 0; + return res + FUNCTION_NAME (); } diff --git a/gdb/testsuite/gdb.python/py-format-address.exp b/gdb/testsuite/gdb.python/py-format-address.exp index 8e7cf47e03a..0fd1e63b13f 100644 --- a/gdb/testsuite/gdb.python/py-format-address.exp +++ b/gdb/testsuite/gdb.python/py-format-address.exp @@ -40,7 +40,9 @@ if ![runto_main] { # for the program space and architecture (these will be selected based # on the current inferior). set main_addr [get_hexadecimal_valueof "&main" "UNKNOWN"] -set next_addr [format 0x%x [expr $main_addr + 1]] + +gdb_test "next" "$decimal\[ \t\]+return .*" +set next_addr [get_hexadecimal_valueof {$pc} "UNKNOWN"] foreach_with_prefix symbol_filename { on off } { gdb_test_no_output "set print symbol-filename ${symbol_filename}" @@ -56,7 +58,7 @@ foreach_with_prefix symbol_filename { on off } { "gdb.format_address, result should have no offset" gdb_test "python print(\"Got: \" + gdb.format_address($next_addr))" \ - "Got: $next_addr <main\\+1${filename_pattern}>" \ + "Got: $next_addr <main\\+$decimal${filename_pattern}>" \ "gdb.format_address, result should have an offset" } ...