[PATCH] XCOFF: add support for TLS relocations on hidden symbols

CHIGOT, CLEMENT clement.chigot@atos.net
Thu Jan 6 12:49:20 GMT 2022


This patch adds support for TLS relocation targeting C_HIDEXT symbols.
In gas, TLS relocations, except R_TLSM and R_TLMSL, must keep the value
of their target symbol.
In ld, it simply ensures that internal TLS symbols are added to the
linker hash table for xcoff_reloc_type_tls.

It also improves the tests made by both.

bfd/ChangeLog:

        * coff-rs6000.c (xcoff_howto_table): Fix name of R_TLSML.
        (xcoff_reloc_type_tls): Replace the error when h is NULL by
        an assert.
        (xcoff_complain_overflow_unsigned_func): Adjust comments.
        * coff64-rs6000.c (xcoff64_howto_table): Fix name of R_TLSML.
        * xcofflink.c (xcoff_link_add_symbols_to_hash_table): New
        function.
        (xcoff_link_add_symbols): Add C_HIDEXT TLS symbols to the linker
        hash table.

gas/ChangeLog:

        * config/tc-ppc.c (md_apply_fix): Enable support for TLS
        relocation over internal symbols.
        * testsuite/gas/ppc/aix.exp: Replace xcoff-tlms by xcoff-tls.
        * testsuite/gas/ppc/xcoff-tlsm-32.d: Removed.
        * testsuite/gas/ppc/xcoff-tlsm-64.d: Removed.
        * testsuite/gas/ppc/xcoff-tlsm.s: Removed.
        * testsuite/gas/ppc/xcoff-tls-32.d: New test.
        * testsuite/gas/ppc/xcoff-tls-64.d: New test.
        * testsuite/gas/ppc/xcoff-tls.s: New test.

ld/ChangeLog:

        * testsuite/ld-powerpc/aix52.exp: Improve aix-tls-reloc test.
        * testsuite/ld-powerpc/aix-tls-reloc.s: Likewise.
        * testsuite/ld-powerpc/aix-tls-reloc-32.d: Removed.
        * testsuite/ld-powerpc/aix-tls-reloc-64.d: Removed.
        * testsuite/ld-powerpc/aix-tls-reloc-32.dd: New test.
        * testsuite/ld-powerpc/aix-tls-reloc-32.dt: New test.
        * testsuite/ld-powerpc/aix-tls-reloc-64.dd: New test.
        * testsuite/ld-powerpc/aix-tls-reloc-64.dt: New test.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-XCOFF-add-support-for-TLS-relocations-on-hidden-symb.patch
Type: text/x-patch
Size: 34635 bytes
Desc: 0001-XCOFF-add-support-for-TLS-relocations-on-hidden-symb.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20220106/70e9b856/attachment-0001.bin>


More information about the Binutils mailing list