This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]