From 499fa254ae8c9752d8c2cf3130b13ffddfd83546 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Sun, 28 Mar 2021 13:11:50 -0400 Subject: [PATCH] aix: TLS DWARF symbol decorations. 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 | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index fd2b0b5..6a8943d 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) -- 2.7.4