[PATCH] AIX TLS DWARF symbols

David Edelsohn dje.gcc@gmail.com
Sun Mar 28 21:53:58 GMT 2021


    GCC currently emits TLS relocation decorations on symbols in DWARF sections.
    Recent changes to the AIX linker cause it to reject such symbols.
    This patch removes the decorations (@ie, @le, @m) and emit only the
    qualified symbol name.

Bootstrapped on powerpc-ibm-aix7.3.2.0.

            * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Do not add
            XCOFF TLS reloc decorations.

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index fd2b0b5280c..6a8943d0286 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -9027,26 +9027,6 @@ rs6000_output_dwarf_dtprel (FILE *file, int size, rtx x)
   output_addr_const (file, x);
   if (TARGET_ELF)
     fputs ("@dtprel+0x8000", file);
-  else if (TARGET_XCOFF && SYMBOL_REF_P (x))
-    {
-      switch (SYMBOL_REF_TLS_MODEL (x))
-       {
-       case 0:
-         break;
-       case TLS_MODEL_LOCAL_EXEC:
-         fputs ("@le", file);
-         break;
-       case TLS_MODEL_INITIAL_EXEC:
-         fputs ("@ie", file);
-         break;
-       case TLS_MODEL_GLOBAL_DYNAMIC:
-       case TLS_MODEL_LOCAL_DYNAMIC:
-         fputs ("@m", file);
-         break;
-       default:
-         gcc_unreachable ();
-       }
-    }
 }

 /* Return true if X is a symbol that refers to real (rather than emulated)


More information about the Gcc-patches mailing list