[Bug target/85915] -mfunction-return=thunk causes multiple definition of `__x86_return_thunk'

Arfrever.FTA at GMail dot Com gcc-bugzilla@gcc.gnu.org
Sat May 26 20:31:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85915

--- Comment #7 from Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA at GMail dot Com> ---
Ebuild for GCC 7 branch is not available in Gentoo.
I guess that the relevant commit is:
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=258647
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=b67700aa0344abbbdb50d150c628475e747b316f
I have backported this commit and 6 earlier commits to GCC 7.3.0 and this
patched GCC 7.3.0 now seems to work (both with -mfunction-return=thunk and with
default -mfunction-return=keep).

I guess that the same ABI incompatibility will exist between vanilla GCC 7.3.0
and future GCC 7.4.0 as between vanilla GCC 7.3.0 and GCC 8.1.0.

If it is not possible to have ABI compatibility while still keeping fixed
behavior (not generating aliases for function return thunks), then I suggest
that documentation mention this ABI incompatibility.
The relevant places would be:
https://gcc.gnu.org/gcc-7/changes.html (mentioning ABI incompatibility between
GCC 7.3.0 and >=7.4.0)
https://gcc.gnu.org/gcc-7/porting_to.html (mentioning ABI incompatibility
between GCC 7.3.0 and >=7.4.0)
https://gcc.gnu.org/gcc-8/changes.html (mentioning ABI incompatibility between
GCC 7.3.0 and >=8)
https://gcc.gnu.org/gcc-8/porting_to.html (mentioning ABI incompatibility
between GCC 7.3.0 and >=8)


More information about the Gcc-bugs mailing list