[gdb/testsuite] Fix compare-sections.exp with -fPIE/-pie
When running gdb.base/compare-sections.exp with target board -fPIE/-pie, we get: ... FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections -r ... The test expects the read-only sections to have the same contents as in the file: ... # Assume startup code doesn't change read-only sections. compare_sections "-r" ... but that's not the case for PIE executables. Fix this by allowing mismatched read-only sections for PIE executables. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-08-16 Tom de Vries <tdevries@suse.de> * gdb.base/compare-sections.exp ("after run to main"): Allow mismatched read-only sections for PIE executables.
This commit is contained in:
parent
81e8046dc0
commit
34dafe9f39
2 changed files with 14 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2019-08-16 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* gdb.base/compare-sections.exp ("after run to main"): Allow
|
||||
mismatched read-only sections for PIE executables.
|
||||
|
||||
2019-08-16 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* lib/tuiterm.exp (_csi_Z): New proc.
|
||||
|
|
|
@ -21,6 +21,8 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug}]} {
|
|||
return -1
|
||||
}
|
||||
|
||||
set is_pie [exec_is_pie $binfile]
|
||||
|
||||
# Run the compare-sections command along with any options as specified
|
||||
# by OPTIONS, and check that no mismatch is found.
|
||||
proc compare_sections { {options ""} } {
|
||||
|
@ -87,8 +89,13 @@ with_test_prefix "after run to main" {
|
|||
gdb_test "compare-sections" \
|
||||
"MIS-MATCHED.*warning.*One or more sections.*does not match.*loaded file"
|
||||
|
||||
# Assume startup code doesn't change read-only sections.
|
||||
compare_sections "-r"
|
||||
if { $is_pie == 1 } {
|
||||
gdb_test "compare-sections -r" \
|
||||
"MIS-MATCHED.*warning.*One or more sections.*does not match.*loaded file"
|
||||
} else {
|
||||
# Assume startup code doesn't change read-only sections.
|
||||
compare_sections "-r"
|
||||
}
|
||||
}
|
||||
|
||||
# Now test that "compare-sections -r" works as expected. Look for an
|
||||
|
|
Loading…
Add table
Reference in a new issue