From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2205) id 9CC69385AC24; Mon, 12 Sep 2022 08:05:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9CC69385AC24 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1662969929; bh=AniMUuEtrEsq+p5sBAw+Vi+clUpykTLIaRMA8UQrP+k=; h=From:To:Subject:Date:From; b=Hyj3qVBoPBJp/WCs5Lp6ZVhcd3xiBgLUqy+sIi4QnvLBCzHcfksLG6OwWHW55X3/5 wAneftllAGfAQxYm5+EbOUOkaA5mAcbAvaGD0BNmysE4EGfQx+tZIjAhwm63MDK+GY wZZZ2gADeTgxWEHFkB7lOATFjCSPWuuIqo+Ggoos= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Tom de Vries To: gdb-cvs@sourceware.org Subject: [binutils-gdb] [gdb/testsuite] Fix gdb.dwarf2/dw2-dir-file-name.exp for ppc64le X-Act-Checkin: binutils-gdb X-Git-Author: Tom de Vries X-Git-Refname: refs/heads/master X-Git-Oldrev: 9e338b141b5f9ab104bb87aea6f8358c9dfa8f77 X-Git-Newrev: 52b920c5d2098a7319bcae3f31c0d1fb58d40c38 Message-Id: <20220912080529.9CC69385AC24@sourceware.org> Date: Mon, 12 Sep 2022 08:05:29 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D52b920c5d209= 8a7319bcae3f31c0d1fb58d40c38 commit 52b920c5d2098a7319bcae3f31c0d1fb58d40c38 Author: Tom de Vries Date: Mon Sep 12 10:05:18 2022 +0200 [gdb/testsuite] Fix gdb.dwarf2/dw2-dir-file-name.exp for ppc64le =20 In commit cd919f5533c ("[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 ... =20 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. =20 Setting a breakpoint on *$func effectively creates a breakpoint for the= global entry point, so if the function is entered through the local entry poin= t, the breakpoint doesn't trigger. =20 Fix this by reverting commit cd919f5533c, and setting the breakpoint on ${func}_label instead. =20 Tested on x86_64-linux and ppc64le-linux. Diff: --- gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp | 8 ++++---- gdb/testsuite/lib/gdb.exp | 7 +------ 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp b/gdb/testsuite= /gdb.dwarf2/dw2-dir-file-name.exp index 08b5c645fa2..053f7229537 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp @@ -450,20 +450,20 @@ proc test { func compdir filename } { error "not absolute" } =20 - gdb_breakpoint *$func + gdb_breakpoint ${func}_label gdb_continue_to_breakpoint $func "$func \\(\\) at .*" =20 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" =20 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 $filen= ame]]:999" "basename" + gdb_test "frame" " in $func \\(\\) at [string_to_regexp [file tail $filen= ame]]:999" "basename" =20 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" } } =20 diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 17523f82996..2f1147159ad 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -787,14 +787,9 @@ proc gdb_continue_to_breakpoint {name {location_patter= n .*}} { global gdb_prompt set full_name "continue to breakpoint: $name" =20 - 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 $" {