aix: TLS DWARF symbol decorations.
authorDavid Edelsohn <dje.gcc@gmail.com>
Sun, 28 Mar 2021 17:11:50 +0000 (13:11 -0400)
committerDavid Edelsohn <dje.gcc@gmail.com>
Sun, 28 Mar 2021 21:57:33 +0000 (17:57 -0400)
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.

gcc/ChangeLog:

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

gcc/config/rs6000/rs6000.c

index fd2b0b5..6a8943d 100644 (file)
@@ -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)