[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