This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ipa/58398] [4.9 Regression] gcc.dg/attr-ifunc-4.c runfail regression after r202111
- From: "bernd.edlinger at hotmail dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 16 Sep 2013 12:25:16 +0000
- Subject: [Bug ipa/58398] [4.9 Regression] gcc.dg/attr-ifunc-4.c runfail regression after r202111
- Auto-submitted: auto-generated
- References: <bug-58398-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58398
--- Comment #5 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
(In reply to Jan Hubicka from comment #4)
> Yes, this seems OK. We probably do not want to be too ken about optimizing
> around ifuncs.
Yes, the problem is that the resolver function just looks
like an alias, but it actually is not. the syntax in the
assembler must look like this:
.type magic, @gnu_indirect_function
.set magic,resolver
.globl main
.type main, @function
main:
call magic
but it is all linker-magic. if you disassemle that
at runtime it looks like
main:
call implementation
I am not sure, maybe returning AVAIL_OVERWRITABLE
would be more conservative. it seems to work too.