This is the mail archive of the gcc-patches@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] |
This patch fixes two related (though opposite) problems in the handling of PIC global data on arm-linux. Firstly, a symbol marked with ENCODED_SHORT_CALL_ATTR_P should not be a candidate for GOTOFF relocation. This signifies that the function was defined locally in this compilation unit, but pointers to such functions may still need refer to the PLT entry for pointer comparisons to work out right. Secondly, references to local symbols used for string constants (.LC0 and similar) _do_ want to be addressed with GOTOFF. This isn't a correctness issue, but the extra indirection is bad for performance and causes substantial GOT bloat (about a 400% size increase in the case of glibc). p.
Attachment:
pic.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |