[PATCH] Setting a symbol's type to function has no effect if its	type is gnu_indirect_function.
    Rafael Ávila de Espíndola 
    rafael.espindola at gmail.com
       
    Tue Apr  9 11:58:42 PDT 2013
    
    
  
  Since this is getting to corner cases of gas' behavior, it is probably better to be a bit more systematic. I did some testing and it looks like what gas does is:
  * The orders in which the .type directives appear is irrelevant
  * The winning type is decided base of the following order:
   TLS > IFUNC > FUNC > OBJECT > NOTYPE
  so, for example, both
          .type ifunc, at tls_object
          .type ifunc, at gnu_indirect_function
  and
          .type ifunc, at gnu_indirect_function
          .type ifunc, at tls_object
  produce a TLS symbol.
http://llvm-reviews.chandlerc.com/D607
    
    
More information about the llvm-commits
mailing list