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 ipa/58398] [4.9 Regression] gcc.dg/attr-ifunc-4.c runfail regression after r202111


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.


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