[SPARC] Fix PR ld/22263
Eric Botcazou
ebotcazou@adacore.com
Tue Jan 30 00:13:00 GMT 2018
More information about the Binutils mailing list
Tue Jan 30 00:13:00 GMT 2018
- Previous message (by thread): [committed] MIPS/LD/testsuite: Correct comm-data.exp test ABI/emul/endian arrangement
- Next message (by thread): [committed] MIPS/LD/testsuite: Adjust match patterns for special section indexes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi, this is -fpie -pie generating dynamic relocations in the text section, simply because no TLS transitions are applied in PIE mode. As diagnosed by H.J., the meat of the patch is to turn calls to bfd_link_pic (info) in TLS-related code into !bfd_link_executable (info) and there are quite a lot of them... It also contains a few obvious cleanups and formatting fixes and was tested with a bootstrap/regtest of GCC mainline on SPARC64/Linux. OK for mainline? 2018-01-29 Eric Botcazou <ebotcazou@adacore.com> bfd/ * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic into call to !bfd_link_executable and tidy up. (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up. <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to !bfd_link_executable. <R_SPARC_TLS_IE_HI22>: Likewise. <GOT relocations>: Remove useless code, tidy up and merge related blocks. <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to !bfd_link_executable. <R_SPARC_WPLT30>: Tidy up. (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to !bfd_link_executable. (allocate_dynrelocs): Likewise. (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up. <R_SPARC_TLS_GD_HI22>: Merge into... <R_SPARC_TLS_GD_LO10>: ...this. Adjust 4th argument in call to sparc_elf_tls_transition and remove redundant code. <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to !bfd_link_executable. <R_SPARC_TLS_LDO_HIX22>: Likewise. <R_SPARC_TLS_LE_HIX22>: Likewise. Tidy up. <R_SPARC_TLS_LDM_CALL>: Likewise. <R_SPARC_TLS_GD_CALL>: Likewise. Tidy up. <R_SPARC_TLS_GD_ADD>: Likewise. <R_SPARC_TLS_LDM_ADD>: Likewise. <R_SPARC_TLS_LDO_ADD>: Likewise. <R_SPARC_TLS_IE_LD>: Likewise. ld/ * testsuite/ld-elf/tls.exp (AFLAGS_PIC): Define on SPARC. (pr22263-1): Pass AFLAGS_PIC to the assembler. * testsuite/ld-sparc/tlspie32.s: Add test for other 3 transitions. * testsuite/ld-sparc/tlspie32.dd: Adjust to above. * testsuite/ld-sparc/tlspie64.s: Add test for other 3 transitions. * testsuite/ld-sparc/tlspie64.dd: Adjust to above. -- Eric Botcazou -------------- next part -------------- A non-text attachment was scrubbed... Name: pr22263.diff Type: text/x-patch Size: 26282 bytes Desc: not available URL: <https://sourceware.org/pipermail/binutils/attachments/20180130/93a865a5/attachment.bin>
- Previous message (by thread): [committed] MIPS/LD/testsuite: Correct comm-data.exp test ABI/emul/endian arrangement
- Next message (by thread): [committed] MIPS/LD/testsuite: Adjust match patterns for special section indexes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list