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.
This commit is contained in:
David Edelsohn 2021-03-28 13:11:50 -04:00
parent d15db0c5f5
commit 499fa254ae

View 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)