* [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