* [PATCH] gas: scfi: fix failing test on Solaris2
@ 2024-02-02 23:25 Indu Bhagat
2024-02-05 7:32 ` Jan Beulich
0 siblings, 1 reply; 4+ messages in thread
From: Indu Bhagat @ 2024-02-02 23:25 UTC (permalink / raw)
To: binutils; +Cc: Indu Bhagat
It has been observed that the run of scfi-unsupported-1 test with --x32
arg on a Solaris2 x86_64 system fails:
Executing on host: sh -c {../as-new --x32 --scfi=experimental <...>/scfi-unsupported-1.s 2>&1} /dev/null dump.out (timeout = 300)
spawn [open ...]
Assembler messages:
Fatal error: no compiled in support for 32bit x86_64
regexp_diff match failure
regexp "^Fatal error: SCFI is not supported for this ABI$"
line "Fatal error: no compiled in support for 32bit x86_64"
FAIL: x86_64 scfi-unsupported-1
Fix the above by adding a check for --x32 support before running the
test.
gas/testsuite/
* gas/scfi/x86_64/scfi-x86-64.exp: Add gas_x32_check and
conditionalize the execution of scfi-unsupported-1 on it.
---
gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp b/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
index 9c76974fefe..415c82e5c85 100644
--- a/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
+++ b/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
@@ -14,6 +14,14 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+proc gas_x32_check { } {
+ global NM
+ global NMFLAGS
+
+ set status [gas_host_run "$NM $NMFLAGS --help" ""]
+ return [regexp "targets:.*elf32-x86-64" [lindex $status 1]];
+}
+
if { ![is_elf_format] } then {
return
}
@@ -40,8 +48,11 @@ if { ([istarget "x86_64-*-*"] && ![istarget "x86_64-*-linux*-gnux32"]) } then {
run_list_test "scfi-fp-diag-2" "--scfi=experimental"
run_list_test "scfi-diag-2" "--scfi=experimental"
+ if { [gas_x32_check] } then {
+ run_list_test "scfi-unsupported-1" "--x32 --scfi=experimental"
+ }
run_list_test "scfi-unsupported-1" "--32 --scfi=experimental"
- run_list_test "scfi-unsupported-1" "--x32 --scfi=experimental"
+
run_list_test "scfi-unsupported-insn-1" "--scfi=experimental"
run_list_test "scfi-unsupported-2" "--scfi=experimental"
run_list_test "scfi-unsupported-3" "--scfi=experimental"
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] gas: scfi: fix failing test on Solaris2
2024-02-02 23:25 [PATCH] gas: scfi: fix failing test on Solaris2 Indu Bhagat
@ 2024-02-05 7:32 ` Jan Beulich
2024-02-05 22:39 ` Indu Bhagat
0 siblings, 1 reply; 4+ messages in thread
From: Jan Beulich @ 2024-02-05 7:32 UTC (permalink / raw)
To: Indu Bhagat; +Cc: binutils
On 03.02.2024 00:25, Indu Bhagat wrote:
> It has been observed that the run of scfi-unsupported-1 test with --x32
> arg on a Solaris2 x86_64 system fails:
>
> Executing on host: sh -c {../as-new --x32 --scfi=experimental <...>/scfi-unsupported-1.s 2>&1} /dev/null dump.out (timeout = 300)
> spawn [open ...]
> Assembler messages:
> Fatal error: no compiled in support for 32bit x86_64
> regexp_diff match failure
> regexp "^Fatal error: SCFI is not supported for this ABI$"
> line "Fatal error: no compiled in support for 32bit x86_64"
> FAIL: x86_64 scfi-unsupported-1
>
> Fix the above by adding a check for --x32 support before running the
> test.
While okay as-is for the purpose at hand, I still have two questions:
> --- a/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
> +++ b/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
> @@ -14,6 +14,14 @@
> # along with this program; if not, write to the Free Software
> # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
>
> +proc gas_x32_check { } {
> + global NM
> + global NMFLAGS
> +
> + set status [gas_host_run "$NM $NMFLAGS --help" ""]
> + return [regexp "targets:.*elf32-x86-64" [lindex $status 1]];
> +}
> +
> if { ![is_elf_format] } then {
> return
> }
> @@ -40,8 +48,11 @@ if { ([istarget "x86_64-*-*"] && ![istarget "x86_64-*-linux*-gnux32"]) } then {
> run_list_test "scfi-fp-diag-2" "--scfi=experimental"
> run_list_test "scfi-diag-2" "--scfi=experimental"
>
> + if { [gas_x32_check] } then {
> + run_list_test "scfi-unsupported-1" "--x32 --scfi=experimental"
> + }
> run_list_test "scfi-unsupported-1" "--32 --scfi=experimental"
Did it occur to you that this would better also be wrapped in a similar
check, seeing that gas/i386/x86-64.exp also uses such a conditional?
> - run_list_test "scfi-unsupported-1" "--x32 --scfi=experimental"
While minor, I'm also curious about the reason for this re-ordering.
Jan
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] gas: scfi: fix failing test on Solaris2
2024-02-05 7:32 ` Jan Beulich
@ 2024-02-05 22:39 ` Indu Bhagat
2024-02-06 8:30 ` Jan Beulich
0 siblings, 1 reply; 4+ messages in thread
From: Indu Bhagat @ 2024-02-05 22:39 UTC (permalink / raw)
To: Jan Beulich; +Cc: binutils
On 2/4/24 23:32, Jan Beulich wrote:
> On 03.02.2024 00:25, Indu Bhagat wrote:
>> It has been observed that the run of scfi-unsupported-1 test with --x32
>> arg on a Solaris2 x86_64 system fails:
>>
>> Executing on host: sh -c {../as-new --x32 --scfi=experimental <...>/scfi-unsupported-1.s 2>&1} /dev/null dump.out (timeout = 300)
>> spawn [open ...]
>> Assembler messages:
>> Fatal error: no compiled in support for 32bit x86_64
>> regexp_diff match failure
>> regexp "^Fatal error: SCFI is not supported for this ABI$"
>> line "Fatal error: no compiled in support for 32bit x86_64"
>> FAIL: x86_64 scfi-unsupported-1
>>
>> Fix the above by adding a check for --x32 support before running the
>> test.
>
> While okay as-is for the purpose at hand, I still have two questions:
>
>> --- a/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
>> +++ b/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
>> @@ -14,6 +14,14 @@
>> # along with this program; if not, write to the Free Software
>> # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
>>
>> +proc gas_x32_check { } {
>> + global NM
>> + global NMFLAGS
>> +
>> + set status [gas_host_run "$NM $NMFLAGS --help" ""]
>> + return [regexp "targets:.*elf32-x86-64" [lindex $status 1]];
>> +}
>> +
>> if { ![is_elf_format] } then {
>> return
>> }
>> @@ -40,8 +48,11 @@ if { ([istarget "x86_64-*-*"] && ![istarget "x86_64-*-linux*-gnux32"]) } then {
>> run_list_test "scfi-fp-diag-2" "--scfi=experimental"
>> run_list_test "scfi-diag-2" "--scfi=experimental"
>>
>> + if { [gas_x32_check] } then {
>> + run_list_test "scfi-unsupported-1" "--x32 --scfi=experimental"
>> + }
>> run_list_test "scfi-unsupported-1" "--32 --scfi=experimental"
>
> Did it occur to you that this would better also be wrapped in a similar
> check, seeing that gas/i386/x86-64.exp also uses such a conditional?
>
I saw that, but I couldn't see why gas_32_check would fail if [istarget
"x86_64-*-*"] is true.
IIUC, BFD64 must be defined for the case when "if [istarget
"x86_64-*-*"] is true". So seeing the stubs in gas/config/tc-i386.c, I
concluded that --32 should be supported at this point in the
scfi-x86-64.exp. Looks like I am missing something ?
>> - run_list_test "scfi-unsupported-1" "--x32 --scfi=experimental"
>
> While minor, I'm also curious about the reason for this re-ordering.
>
Purely aesthetic reasons; I thought I'd rather keep the other non-x32
tests piled together.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] gas: scfi: fix failing test on Solaris2
2024-02-05 22:39 ` Indu Bhagat
@ 2024-02-06 8:30 ` Jan Beulich
0 siblings, 0 replies; 4+ messages in thread
From: Jan Beulich @ 2024-02-06 8:30 UTC (permalink / raw)
To: Indu Bhagat; +Cc: binutils
On 05.02.2024 23:39, Indu Bhagat wrote:
> On 2/4/24 23:32, Jan Beulich wrote:
>> On 03.02.2024 00:25, Indu Bhagat wrote:
>>> It has been observed that the run of scfi-unsupported-1 test with --x32
>>> arg on a Solaris2 x86_64 system fails:
>>>
>>> Executing on host: sh -c {../as-new --x32 --scfi=experimental <...>/scfi-unsupported-1.s 2>&1} /dev/null dump.out (timeout = 300)
>>> spawn [open ...]
>>> Assembler messages:
>>> Fatal error: no compiled in support for 32bit x86_64
>>> regexp_diff match failure
>>> regexp "^Fatal error: SCFI is not supported for this ABI$"
>>> line "Fatal error: no compiled in support for 32bit x86_64"
>>> FAIL: x86_64 scfi-unsupported-1
>>>
>>> Fix the above by adding a check for --x32 support before running the
>>> test.
>>
>> While okay as-is for the purpose at hand, I still have two questions:
>>
>>> --- a/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
>>> +++ b/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
>>> @@ -14,6 +14,14 @@
>>> # along with this program; if not, write to the Free Software
>>> # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
>>>
>>> +proc gas_x32_check { } {
>>> + global NM
>>> + global NMFLAGS
>>> +
>>> + set status [gas_host_run "$NM $NMFLAGS --help" ""]
>>> + return [regexp "targets:.*elf32-x86-64" [lindex $status 1]];
>>> +}
>>> +
>>> if { ![is_elf_format] } then {
>>> return
>>> }
>>> @@ -40,8 +48,11 @@ if { ([istarget "x86_64-*-*"] && ![istarget "x86_64-*-linux*-gnux32"]) } then {
>>> run_list_test "scfi-fp-diag-2" "--scfi=experimental"
>>> run_list_test "scfi-diag-2" "--scfi=experimental"
>>>
>>> + if { [gas_x32_check] } then {
>>> + run_list_test "scfi-unsupported-1" "--x32 --scfi=experimental"
>>> + }
>>> run_list_test "scfi-unsupported-1" "--32 --scfi=experimental"
>>
>> Did it occur to you that this would better also be wrapped in a similar
>> check, seeing that gas/i386/x86-64.exp also uses such a conditional?
>
> I saw that, but I couldn't see why gas_32_check would fail if [istarget
> "x86_64-*-*"] is true.
>
> IIUC, BFD64 must be defined for the case when "if [istarget
> "x86_64-*-*"] is true". So seeing the stubs in gas/config/tc-i386.c, I
> concluded that --32 should be supported at this point in the
> scfi-x86-64.exp. Looks like I am missing something ?
While BFD64 is a prereq to building 64-bit code, it says nothing about
the supported object formats in a particular build. Conceivably there
might be builds which support only 64-bit ELF, at which point use of
--32 would fail just like what was observed with --x32.
Jan
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-02-06 8:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-02 23:25 [PATCH] gas: scfi: fix failing test on Solaris2 Indu Bhagat
2024-02-05 7:32 ` Jan Beulich
2024-02-05 22:39 ` Indu Bhagat
2024-02-06 8:30 ` Jan Beulich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).