* [PATCH][gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp @ 2021-01-26 18:03 Tom de Vries 2021-01-28 15:04 ` Simon Marchi via Gdb-patches 0 siblings, 1 reply; 4+ messages in thread From: Tom de Vries @ 2021-01-26 18:03 UTC (permalink / raw) To: gdb-patches Hi, When running test-case gdb.arch/i386-sse-stack-align.exp on target board unix/-m32, I run into: ... (gdb) print (int) g0 ()^M Invalid data type for function to be called.^M (gdb) FAIL: gdb.arch/i386-sse-stack-align.exp: print (int) g0 () ... Gdb is supposed to use minimal symbol g0: ... $ nm i386-sse-stack-align | grep g0 08049194 t g0 ... but instead it finds a g0 symbol in the debug info of libm, specifically in ./sysdeps/ieee754/ldbl-96/e_lgammal_r.c. Fix this by disabling reading symbols for shared libs. Tested on x86_64-linux. Any comments? Thanks, - Tom [gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp gdb/testsuite/ChangeLog: 2021-01-26 Tom de Vries <tdevries@suse.de> * gdb.arch/i386-sse-stack-align.exp: Set auto-solib-add to off. --- gdb/testsuite/gdb.arch/i386-sse-stack-align.exp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp index 2c1cdd89c70..57dd12f9830 100644 --- a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp +++ b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp @@ -37,6 +37,11 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $opts clean_restart $executable +# With libm debug info installed, I get a g0 from +# ./sysdeps/ieee754/ldbl-96/e_lgammal_r.c instead of the local g0. +# Fix this by disabling reading symbols for shared libs. +gdb_test_no_output "set auto-solib-add off" + if ![runto_main] then { return -1 } ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH][gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp 2021-01-26 18:03 [PATCH][gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp Tom de Vries @ 2021-01-28 15:04 ` Simon Marchi via Gdb-patches 2021-01-28 16:21 ` Tom de Vries 0 siblings, 1 reply; 4+ messages in thread From: Simon Marchi via Gdb-patches @ 2021-01-28 15:04 UTC (permalink / raw) To: Tom de Vries, gdb-patches On 2021-01-26 1:03 p.m., Tom de Vries wrote: > Hi, > > When running test-case gdb.arch/i386-sse-stack-align.exp on target board > unix/-m32, I run into: > ... > (gdb) print (int) g0 ()^M > Invalid data type for function to be called.^M > (gdb) FAIL: gdb.arch/i386-sse-stack-align.exp: print (int) g0 () > ... > > Gdb is supposed to use minimal symbol g0: > ... > $ nm i386-sse-stack-align | grep g0 > 08049194 t g0 > ... > but instead it finds a g0 symbol in the debug info of libm, specifically in > ./sysdeps/ieee754/ldbl-96/e_lgammal_r.c. > > Fix this by disabling reading symbols for shared libs. > > Tested on x86_64-linux. > > Any comments? > > Thanks, > - Tom > > [gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp > > gdb/testsuite/ChangeLog: > > 2021-01-26 Tom de Vries <tdevries@suse.de> > > * gdb.arch/i386-sse-stack-align.exp: Set auto-solib-add to off. > > --- > gdb/testsuite/gdb.arch/i386-sse-stack-align.exp | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp > index 2c1cdd89c70..57dd12f9830 100644 > --- a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp > +++ b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp > @@ -37,6 +37,11 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $opts > > clean_restart $executable > > +# With libm debug info installed, I get a g0 from > +# ./sysdeps/ieee754/ldbl-96/e_lgammal_r.c instead of the local g0. > +# Fix this by disabling reading symbols for shared libs. > +gdb_test_no_output "set auto-solib-add off" > + > if ![runto_main] then { > return -1 > } > Couldn't we simply use some less common, more scoped name? Simon ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH][gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp 2021-01-28 15:04 ` Simon Marchi via Gdb-patches @ 2021-01-28 16:21 ` Tom de Vries 2021-01-28 16:23 ` Simon Marchi via Gdb-patches 0 siblings, 1 reply; 4+ messages in thread From: Tom de Vries @ 2021-01-28 16:21 UTC (permalink / raw) To: Simon Marchi, gdb-patches [-- Attachment #1: Type: text/plain, Size: 1908 bytes --] On 1/28/21 4:04 PM, Simon Marchi wrote: > > > On 2021-01-26 1:03 p.m., Tom de Vries wrote: >> Hi, >> >> When running test-case gdb.arch/i386-sse-stack-align.exp on target board >> unix/-m32, I run into: >> ... >> (gdb) print (int) g0 ()^M >> Invalid data type for function to be called.^M >> (gdb) FAIL: gdb.arch/i386-sse-stack-align.exp: print (int) g0 () >> ... >> >> Gdb is supposed to use minimal symbol g0: >> ... >> $ nm i386-sse-stack-align | grep g0 >> 08049194 t g0 >> ... >> but instead it finds a g0 symbol in the debug info of libm, specifically in >> ./sysdeps/ieee754/ldbl-96/e_lgammal_r.c. >> >> Fix this by disabling reading symbols for shared libs. >> >> Tested on x86_64-linux. >> >> Any comments? >> >> Thanks, >> - Tom >> >> [gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp >> >> gdb/testsuite/ChangeLog: >> >> 2021-01-26 Tom de Vries <tdevries@suse.de> >> >> * gdb.arch/i386-sse-stack-align.exp: Set auto-solib-add to off. >> >> --- >> gdb/testsuite/gdb.arch/i386-sse-stack-align.exp | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp >> index 2c1cdd89c70..57dd12f9830 100644 >> --- a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp >> +++ b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp >> @@ -37,6 +37,11 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $opts >> >> clean_restart $executable >> >> +# With libm debug info installed, I get a g0 from >> +# ./sysdeps/ieee754/ldbl-96/e_lgammal_r.c instead of the local g0. >> +# Fix this by disabling reading symbols for shared libs. >> +gdb_test_no_output "set auto-solib-add off" >> + >> if ![runto_main] then { >> return -1 >> } >> > > Couldn't we simply use some less common, more scoped name? > Yep, that also works. How about this? Thanks, - Tom [-- Attachment #2: 0001-gdb-testsuite-Fix-g0-search-in-gdb.arch-i386-sse-stack-align.exp.patch --] [-- Type: text/x-patch, Size: 4586 bytes --] [gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp When running test-case gdb.arch/i386-sse-stack-align.exp on target board unix/-m32, I run into: ... (gdb) print (int) g0 ()^M Invalid data type for function to be called.^M (gdb) FAIL: gdb.arch/i386-sse-stack-align.exp: print (int) g0 () ... Gdb is supposed to use minimal symbol g0: ... $ nm i386-sse-stack-align | grep g0 08049194 t g0 ... but instead it finds a g0 symbol in the debug info of libm, specifically in ./sysdeps/ieee754/ldbl-96/e_lgammal_r.c. Fix this by renaming g[0-4] to test_g[0-4]. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2021-01-28 Tom de Vries <tdevries@suse.de> * gdb.arch/i386-sse-stack-align.S: Rename g[0-4] to test_g[0-4]. * gdb.arch/i386-sse-stack-align.c: Same. * gdb.arch/i386-sse-stack-align.exp: Same. --- gdb/testsuite/gdb.arch/i386-sse-stack-align.S | 40 ++++++++++++------------- gdb/testsuite/gdb.arch/i386-sse-stack-align.c | 13 ++++---- gdb/testsuite/gdb.arch/i386-sse-stack-align.exp | 2 +- 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/gdb/testsuite/gdb.arch/i386-sse-stack-align.S b/gdb/testsuite/gdb.arch/i386-sse-stack-align.S index cd3b49ed829..2e9d54a8190 100644 --- a/gdb/testsuite/gdb.arch/i386-sse-stack-align.S +++ b/gdb/testsuite/gdb.arch/i386-sse-stack-align.S @@ -70,8 +70,8 @@ f: .cfi_endproc .LFE1: .size f, .-f - .type g0, @function -g0: + .type test_g0, @function +test_g0: .LFB2: .cfi_startproc pushl %ebp @@ -87,9 +87,9 @@ g0: ret .cfi_endproc .LFE2: - .size g0, .-g0 - .type g1, @function -g1: + .size test_g0, .-test_g0 + .type test_g1, @function +test_g1: .LFB3: .cfi_startproc pushl %ebp @@ -105,9 +105,9 @@ g1: ret .cfi_endproc .LFE3: - .size g1, .-g1 - .type g2, @function -g2: + .size test_g1, .-test_g1 + .type test_g2, @function +test_g2: .LFB4: .cfi_startproc pushl %ebp @@ -123,9 +123,9 @@ g2: ret .cfi_endproc .LFE4: - .size g2, .-g2 - .type g3, @function -g3: + .size test_g2, .-test_g2 + .type test_g3, @function +test_g3: .LFB5: .cfi_startproc pushl %ebp @@ -141,9 +141,9 @@ g3: ret .cfi_endproc .LFE5: - .size g3, .-g3 - .type g4, @function -g4: + .size test_g3, .-test_g3 + .type test_g4, @function +test_g4: .LFB6: .cfi_startproc pushl %ebp @@ -159,7 +159,7 @@ g4: ret .cfi_endproc .LFE6: - .size g4, .-g4 + .size test_g4, .-test_g4 .globl main .type main, @function main: @@ -174,25 +174,25 @@ main: andl $-16, %esp subl $16, %esp .cfi_offset 3, -12 - call g0 + call test_g0 movl %eax, %ebx movl $1, (%esp) - call g1 + call test_g1 addl %eax, %ebx movl $2, 4(%esp) movl $1, (%esp) - call g2 + call test_g2 addl %eax, %ebx movl $3, 8(%esp) movl $2, 4(%esp) movl $1, (%esp) - call g3 + call test_g3 addl %eax, %ebx movl $4, 12(%esp) movl $3, 8(%esp) movl $2, 4(%esp) movl $1, (%esp) - call g4 + call test_g4 addl %ebx, %eax movl -4(%ebp), %ebx leave diff --git a/gdb/testsuite/gdb.arch/i386-sse-stack-align.c b/gdb/testsuite/gdb.arch/i386-sse-stack-align.c index adae6b75fb1..4fd1fda3500 100644 --- a/gdb/testsuite/gdb.arch/i386-sse-stack-align.c +++ b/gdb/testsuite/gdb.arch/i386-sse-stack-align.c @@ -34,31 +34,31 @@ f (void) } static __attribute__((noinline, noclone)) int -g0 (void) +test_g0 (void) { return f (); } static __attribute__((noinline, noclone)) int -g1 (int p1) +test_g1 (int p1) { return f (); } static __attribute__((noinline, noclone)) int -g2 (int p1, int p2) +test_g2 (int p1, int p2) { return f (); } static __attribute__((noinline, noclone)) int -g3 (int p1, int p2, int p3) +test_g3 (int p1, int p2, int p3) { return f (); } static __attribute__((noinline, noclone)) int -g4 (int p1, int p2, int p3, int p4) +test_g4 (int p1, int p2, int p3, int p4) { return f (); } @@ -66,5 +66,6 @@ g4 (int p1, int p2, int p3, int p4) int main (void) { - return g0 () + g1 (1) + g2 (1, 2) + g3 (1, 2, 3) + g4 (1, 2, 3, 4); + return (test_g0 () + test_g1 (1) + test_g2 (1, 2) + test_g3 (1, 2, 3) + + test_g4 (1, 2, 3, 4); } diff --git a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp index 2c1cdd89c70..8cda3b49fac 100644 --- a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp +++ b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp @@ -43,7 +43,7 @@ if ![runto_main] then { set args "" foreach i {0 1 2 3 4} { - set test "print (int) g$i ($args)" + set test "print (int) test_g$i ($args)" gdb_test_multiple $test $test { -re " = 2\r\n$gdb_prompt $" { pass $test ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH][gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp 2021-01-28 16:21 ` Tom de Vries @ 2021-01-28 16:23 ` Simon Marchi via Gdb-patches 0 siblings, 0 replies; 4+ messages in thread From: Simon Marchi via Gdb-patches @ 2021-01-28 16:23 UTC (permalink / raw) To: Tom de Vries, gdb-patches On 2021-01-28 11:21 a.m., Tom de Vries wrote: > On 1/28/21 4:04 PM, Simon Marchi wrote: >> >> >> On 2021-01-26 1:03 p.m., Tom de Vries wrote: >>> Hi, >>> >>> When running test-case gdb.arch/i386-sse-stack-align.exp on target board >>> unix/-m32, I run into: >>> ... >>> (gdb) print (int) g0 ()^M >>> Invalid data type for function to be called.^M >>> (gdb) FAIL: gdb.arch/i386-sse-stack-align.exp: print (int) g0 () >>> ... >>> >>> Gdb is supposed to use minimal symbol g0: >>> ... >>> $ nm i386-sse-stack-align | grep g0 >>> 08049194 t g0 >>> ... >>> but instead it finds a g0 symbol in the debug info of libm, specifically in >>> ./sysdeps/ieee754/ldbl-96/e_lgammal_r.c. >>> >>> Fix this by disabling reading symbols for shared libs. >>> >>> Tested on x86_64-linux. >>> >>> Any comments? >>> >>> Thanks, >>> - Tom >>> >>> [gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp >>> >>> gdb/testsuite/ChangeLog: >>> >>> 2021-01-26 Tom de Vries <tdevries@suse.de> >>> >>> * gdb.arch/i386-sse-stack-align.exp: Set auto-solib-add to off. >>> >>> --- >>> gdb/testsuite/gdb.arch/i386-sse-stack-align.exp | 5 +++++ >>> 1 file changed, 5 insertions(+) >>> >>> diff --git a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp >>> index 2c1cdd89c70..57dd12f9830 100644 >>> --- a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp >>> +++ b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp >>> @@ -37,6 +37,11 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $opts >>> >>> clean_restart $executable >>> >>> +# With libm debug info installed, I get a g0 from >>> +# ./sysdeps/ieee754/ldbl-96/e_lgammal_r.c instead of the local g0. >>> +# Fix this by disabling reading symbols for shared libs. >>> +gdb_test_no_output "set auto-solib-add off" >>> + >>> if ![runto_main] then { >>> return -1 >>> } >>> >> >> Couldn't we simply use some less common, more scoped name? >> > > Yep, that also works. How about this? > > Thanks, > - Tom > > Yep, that LGTM. Simon ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-01-28 16:23 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-01-26 18:03 [PATCH][gdb/testsuite] Fix g0 search in gdb.arch/i386-sse-stack-align.exp Tom de Vries 2021-01-28 15:04 ` Simon Marchi via Gdb-patches 2021-01-28 16:21 ` Tom de Vries 2021-01-28 16:23 ` Simon Marchi via Gdb-patches
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox