[gdb/testsuite] Fix gdb.dwarf2/dw2-dir-file-name.exp for ppc64le
In commitcd919f5533
("[gdb/testsuite] Fix gdb.dwarf2/dw2-dir-file-name.exp"), I made gdb.dwarf2/dw2-dir-file-name.exp independent of prologue analyzers, using this change: ... - gdb_breakpoint $func + gdb_breakpoint *$func ... That however caused a regression on ppc64le. For PowerPC, as described in the ELFv2 ABI, a function can have a global and local entry point. Setting a breakpoint on *$func effectively creates a breakpoint for the global entry point, so if the function is entered through the local entry point, the breakpoint doesn't trigger. Fix this by reverting commitcd919f5533
, and setting the breakpoint on ${func}_label instead. Tested on x86_64-linux and ppc64le-linux.
This commit is contained in:
parent
9e338b141b
commit
52b920c5d2
2 changed files with 5 additions and 10 deletions
|
@ -450,20 +450,20 @@ proc test { func compdir filename } {
|
|||
error "not absolute"
|
||||
}
|
||||
|
||||
gdb_breakpoint *$func
|
||||
gdb_breakpoint ${func}_label
|
||||
gdb_continue_to_breakpoint $func "$func \\(\\) at .*"
|
||||
|
||||
gdb_test_no_output "set filename-display absolute"
|
||||
verbose -log "expect: ${absolute}"
|
||||
gdb_test "frame" "#0 $func \\(\\) at [string_to_regexp ${absolute}]:999" "absolute"
|
||||
gdb_test "frame" " in $func \\(\\) at [string_to_regexp ${absolute}]:999" "absolute"
|
||||
|
||||
gdb_test_no_output "set filename-display basename"
|
||||
verbose -log "expect: [file tail $filename]"
|
||||
gdb_test "frame" "#0 $func \\(\\) at [string_to_regexp [file tail $filename]]:999" "basename"
|
||||
gdb_test "frame" " in $func \\(\\) at [string_to_regexp [file tail $filename]]:999" "basename"
|
||||
|
||||
gdb_test_no_output "set filename-display relative"
|
||||
verbose -log "expect: $filename"
|
||||
gdb_test "frame" "#0 $func \\(\\) at [string_to_regexp $filename]:999" "relative"
|
||||
gdb_test "frame" " in $func \\(\\) at [string_to_regexp $filename]:999" "relative"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -787,14 +787,9 @@ proc gdb_continue_to_breakpoint {name {location_pattern .*}} {
|
|||
global gdb_prompt
|
||||
set full_name "continue to breakpoint: $name"
|
||||
|
||||
set re_at_in " (at|in) "
|
||||
if { [regexp $re_at_in $location_pattern] } {
|
||||
set re_at_in " "
|
||||
}
|
||||
|
||||
set kfail_pattern "Process record does not support instruction 0xfae64 at.*"
|
||||
gdb_test_multiple "continue" $full_name {
|
||||
-re "(?:Breakpoint|Temporary breakpoint) .*$re_at_in$location_pattern\r\n$gdb_prompt $" {
|
||||
-re "(?:Breakpoint|Temporary breakpoint) .* (at|in) $location_pattern\r\n$gdb_prompt $" {
|
||||
pass $full_name
|
||||
}
|
||||
-re "\[\r\n\]*(?:$kfail_pattern)\[\r\n\]+$gdb_prompt $" {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue