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.

Reply via email to