From 2f816dda058ffc471cad62e158671418c247bef0 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Sun, 22 Jun 2003 18:32:38 +0000 Subject: [PATCH] * gdb.base/relocate.exp: Test add-symbol-file with a variable offset. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.base/relocate.exp | 26 ++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index bc295240677..8a1a41141f6 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-06-22 Daniel Jacobowitz + + * gdb.base/relocate.exp: Test add-symbol-file with a variable + offset. + 2003-06-22 Daniel Jacobowitz * gdb.c++/pr-1210.cc: New file. diff --git a/gdb/testsuite/gdb.base/relocate.exp b/gdb/testsuite/gdb.base/relocate.exp index bcaa48adbc2..8d8ff90bc9e 100644 --- a/gdb/testsuite/gdb.base/relocate.exp +++ b/gdb/testsuite/gdb.base/relocate.exp @@ -105,4 +105,30 @@ if { "${function_foo_addr}" == "${function_bar_addr}" } { pass "functions have different addresses" } +# Now use a variable as an offset to add-symbol-file, and check that +# the functions' addresses change. + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir + +gdb_test "set \$offset = 0x10000" "" + +# Load the object file. +gdb_test "add-symbol-file ${binfile} \$offset" \ + "Reading symbols from .*${testfile}\\.o\\.\\.\\.done\\." \ + "add-symbol-file ${testfile}.o \$offset" \ + "add symbol table from file \".*${testfile}\\.o\" at\[ \t\r\n\]+\.text_addr = 0x10000\[\r\n\]+\\(y or n\\) " \ + "y" + +# Print the addresses of functions. +set new_function_foo_addr [get_var_address function_foo] + +# Make sure they have different addresses. +if { "${function_foo_addr}" == "${new_function_foo_addr}" } { + fail "function foo has a different address" +} else { + pass "function foo has a different address" +} + return 0 -- 2.30.2