[PATCH] libffi: Use #define instead of .macro in src/x86/win64.S [PR102874]

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Mon Nov 15 09:15:52 GMT 2021

The libffi 3.4.2 import badly broke Solaris/x86 bootstrap with the native

        "/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
        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
        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).
Both have been ignored so far.

Ok for master?


Rainer Orth, Center for Biotechnology, Bielefeld University

2021-10-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libffi/102874
	* src/x86/win64.S (epilogue): Use #define instead of .macro.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: solx86-libffi-win64.patch
Type: text/x-patch
Size: 712 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20211115/1c67eff2/attachment.bin>

More information about the Gcc-patches mailing list