public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as
@ 2021-10-21 9:36 ro at gcc dot gnu.org
2021-10-21 9:38 ` [Bug libffi/102874] " ro at gcc dot gnu.org
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: ro at gcc dot gnu.org @ 2021-10-21 9:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
Bug ID: 102874
Summary: [12 regression] src/x86/win64.S doesn't assemble with
Solaris as
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libffi
Assignee: unassigned at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
CC: hjl.tools at gmail dot com
Target Milestone: ---
Target: i?86-pc-solaris2.11, x86_64-pc-solaris2.11
The libffi 3.4.2 import badly broke Solaris/x86 bootstrap with the native
assembler:
Assembler:
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 88 :
Illegal mnemonic
Near line: ".macro epilogue"
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 88 : Syntax
error
Near line: ".macro epilogue"
config.status: creating Makefile
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 95 :
Illegal mnemonic
Near line: ".endm"
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 95 : Syntax
error
Near line: ".endm"
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 100 :
Illegal mnemonic
Near line: " epilogue"
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 100 :
Syntax error
Near line: "epilogue"
/bin/as doesn't support .macro/.endm.
I initially tried to exclude ffiw64.c and win64.S from SOURCES in
configure.host.
While this fixed the build, it made all 64-bit libffi and libgo link tests
FAIL with unresolved references to *_efi64 functions.
While I wonder why libffi on a Unix system needs win64 support, the fix seems
simple: just use #define instead of .macro/.endm to define epilogue. The
attached patch does that and brings things back to normal.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
@ 2021-10-21 9:38 ` ro at gcc dot gnu.org
2021-10-21 9:38 ` ro at gcc dot gnu.org
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: ro at gcc dot gnu.org @ 2021-10-21 9:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
--- Comment #1 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 51642
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51642&action=edit
proposed patch
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
2021-10-21 9:38 ` [Bug libffi/102874] " ro at gcc dot gnu.org
@ 2021-10-21 9:38 ` ro at gcc dot gnu.org
2021-10-21 11:24 ` hjl.tools at gmail dot com
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: ro at gcc dot gnu.org @ 2021-10-21 9:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |12.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
2021-10-21 9:38 ` [Bug libffi/102874] " ro at gcc dot gnu.org
2021-10-21 9:38 ` ro at gcc dot gnu.org
@ 2021-10-21 11:24 ` hjl.tools at gmail dot com
2021-10-21 21:10 ` ro at CeBiTec dot Uni-Bielefeld.DE
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: hjl.tools at gmail dot com @ 2021-10-21 11:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2021-10-21
Ever confirmed|0 |1
Status|UNCONFIRMED |WAITING
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
Does libffi 3.4.2 work on Solaris? If yes, why doesn't it work in gcc?
If no, please fix the upstream and backport the fix.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
` (2 preceding siblings ...)
2021-10-21 11:24 ` hjl.tools at gmail dot com
@ 2021-10-21 21:10 ` ro at CeBiTec dot Uni-Bielefeld.DE
2021-10-21 22:09 ` hjl.tools at gmail dot com
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2021-10-21 21:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
> Does libffi 3.4.2 work on Solaris? If yes, why doesn't it work in gcc?
It does when gcc is configured with gas, but doesn't when configured
with /bin/as.
> If no, please fix the upstream and backport the fix.
Done: https://github.com/libffi/libffi/issues/665.
Depending on how this goes upstream, we may need a local fix: leaving
gcc master broken on Solaris/x86 isn't an option!
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
` (3 preceding siblings ...)
2021-10-21 21:10 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2021-10-21 22:09 ` hjl.tools at gmail dot com
2021-11-05 13:47 ` rguenth at gcc dot gnu.org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: hjl.tools at gmail dot com @ 2021-10-21 22:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to ro@CeBiTec.Uni-Bielefeld.DE from comment #3)
> > --- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
> > Does libffi 3.4.2 work on Solaris? If yes, why doesn't it work in gcc?
>
> It does when gcc is configured with gas, but doesn't when configured
> with /bin/as.
>
> > If no, please fix the upstream and backport the fix.
>
> Done: https://github.com/libffi/libffi/issues/665.
>
> Depending on how this goes upstream, we may need a local fix: leaving
> gcc master broken on Solaris/x86 isn't an option!
The goal is to fix libffi in both upstream and GCC. Please do
1. Create a pull request to fix libffi upstream.
2. Submit the proposed fix to GCC.
3. After the proposed is checked into GCC, add it to libffi/LOCAL_PATCHES
so that we keep it in GCC until it is fixed in upstream and synced.
If libffi upstream is fixed before the proposed fix is checked into GCC,
you can cherry-pick the fix from libffi upstream without touching
libffi/LOCAL_PATCHES.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
` (4 preceding siblings ...)
2021-10-21 22:09 ` hjl.tools at gmail dot com
@ 2021-11-05 13:47 ` rguenth at gcc dot gnu.org
2021-11-05 15:08 ` hjl.tools at gmail dot com
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-11-05 13:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |build
Status|WAITING |NEW
Priority|P3 |P1
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Upstream bug was filed and fix proposed. IMHO we don't need to wait and can
pull this fix temporarily.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
` (5 preceding siblings ...)
2021-11-05 13:47 ` rguenth at gcc dot gnu.org
@ 2021-11-05 15:08 ` hjl.tools at gmail dot com
2021-11-13 1:39 ` hp at gcc dot gnu.org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: hjl.tools at gmail dot com @ 2021-11-05 15:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Richard Biener from comment #5)
> Upstream bug was filed and fix proposed. IMHO we don't need to wait and can
> pull this fix temporarily.
Is there a pull request to fix it in upstream?
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
` (6 preceding siblings ...)
2021-11-05 15:08 ` hjl.tools at gmail dot com
@ 2021-11-13 1:39 ` hp at gcc dot gnu.org
2021-11-13 6:31 ` hjl.tools at gmail dot com
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: hp at gcc dot gnu.org @ 2021-11-13 1:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
Hans-Peter Nilsson <hp at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hp at gcc dot gnu.org
--- Comment #7 from Hans-Peter Nilsson <hp at gcc dot gnu.org> ---
(In reply to H.J. Lu from comment #6)
> (In reply to Richard Biener from comment #5)
> > Upstream bug was filed and fix proposed. IMHO we don't need to wait and can
> > pull this fix temporarily.
>
> Is there a pull request to fix it in upstream?
I'll help: there -> https://github.com/libffi/libffi/pull/669
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
` (7 preceding siblings ...)
2021-11-13 1:39 ` hp at gcc dot gnu.org
@ 2021-11-13 6:31 ` hjl.tools at gmail dot com
2021-11-15 9:17 ` ro at gcc dot gnu.org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: hjl.tools at gmail dot com @ 2021-11-13 6:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
--- Comment #8 from H.J. Lu <hjl.tools at gmail dot com> ---
The proposed fix should be submitted to GCC and put it in
libffi/LOCAL_PATCHES after it is checked in.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
` (8 preceding siblings ...)
2021-11-13 6:31 ` hjl.tools at gmail dot com
@ 2021-11-15 9:17 ` ro at gcc dot gnu.org
2021-11-15 9:30 ` cvs-commit at gcc dot gnu.org
2021-11-15 9:42 ` ro at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: ro at gcc dot gnu.org @ 2021-11-15 9:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
URL| |https://gcc.gnu.org/piperma
| |il/gcc-patches/2021-Novembe
| |r/584438.html
Assignee|unassigned at gcc dot gnu.org |ro at gcc dot gnu.org
--- Comment #9 from Rainer Orth <ro at gcc dot gnu.org> ---
Mine, patch posted.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
` (9 preceding siblings ...)
2021-11-15 9:17 ` ro at gcc dot gnu.org
@ 2021-11-15 9:30 ` cvs-commit at gcc dot gnu.org
2021-11-15 9:42 ` ro at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-11-15 9:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Rainer Orth <ro@gcc.gnu.org>:
https://gcc.gnu.org/g:a91f844ef449d0dd1cf2e0e47b0ade0d8a6304e1
commit r12-5262-ga91f844ef449d0dd1cf2e0e47b0ade0d8a6304e1
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date: Mon Nov 15 10:24:27 2021 +0100
libffi: Use #define instead of .macro in src/x86/win64.S [PR102874]
The libffi 3.4.2 import badly broke Solaris/x86 bootstrap with the native
assembler:
Assembler:
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 88 :
Illegal mnemonic
Near line: ".macro epilogue"
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 88 :
Syntax
error
Near line: ".macro epilogue"
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 95 :
Illegal mnemonic
Near line: ".endm"
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 95 :
Syntax
error
Near line: ".endm"
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 100 :
Illegal mnemonic
Near line: " epilogue"
"/vol/gcc/src/hg/master/local/libffi/src/x86/win64.S", line 100 :
Syntax error
Near line: "epilogue"
Solaris as doesn't support .macro/.endm.
Fixed by using #define instead of the unportable .macro.
Tested on i386-pc-solaris2.11 and x86_64-pc-linux-gnu.
The bug has been reported upstream
(https://github.com/libffi/libffi/issues/665); a corresponding pull
request is also pending (https://github.com/libffi/libffi/pull/669).
2021-10-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
libffi:
PR libffi/102874
* src/x86/win64.S (epilogue): Use #define instead of .macro.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug libffi/102874] [12 regression] src/x86/win64.S doesn't assemble with Solaris as
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
` (10 preceding siblings ...)
2021-11-15 9:30 ` cvs-commit at gcc dot gnu.org
@ 2021-11-15 9:42 ` ro at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: ro at gcc dot gnu.org @ 2021-11-15 9:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102874
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #11 from Rainer Orth <ro at gcc dot gnu.org> ---
Fixed for GCC 12.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2021-11-15 9:42 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-21 9:36 [Bug libffi/102874] New: [12 regression] src/x86/win64.S doesn't assemble with Solaris as ro at gcc dot gnu.org
2021-10-21 9:38 ` [Bug libffi/102874] " ro at gcc dot gnu.org
2021-10-21 9:38 ` ro at gcc dot gnu.org
2021-10-21 11:24 ` hjl.tools at gmail dot com
2021-10-21 21:10 ` ro at CeBiTec dot Uni-Bielefeld.DE
2021-10-21 22:09 ` hjl.tools at gmail dot com
2021-11-05 13:47 ` rguenth at gcc dot gnu.org
2021-11-05 15:08 ` hjl.tools at gmail dot com
2021-11-13 1:39 ` hp at gcc dot gnu.org
2021-11-13 6:31 ` hjl.tools at gmail dot com
2021-11-15 9:17 ` ro at gcc dot gnu.org
2021-11-15 9:30 ` cvs-commit at gcc dot gnu.org
2021-11-15 9:42 ` ro at gcc dot gnu.org
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).