diff options
author | Joseph Myers <joseph@codesourcery.com> | 2007-06-11 15:55:06 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2007-06-11 15:55:06 +0100 |
commit | afcc986d03991b070c7ab76159f5b792b94c0a80 (patch) | |
tree | f08294fa1c04fadd6434d0bf574351e57333df48 /gcc/config/arm | |
parent | abca47391d1197200823d4b2e307a6f62e9c5fec (diff) | |
download | gcc-afcc986d03991b070c7ab76159f5b792b94c0a80.zip gcc-afcc986d03991b070c7ab76159f5b792b94c0a80.tar.gz gcc-afcc986d03991b070c7ab76159f5b792b94c0a80.tar.bz2 |
arm.c (arm_output_dwarf_dtprel, [...]): New.
* config/arm/arm.c (arm_output_dwarf_dtprel,
TARGET_ASM_OUTPUT_DWARF_DTPREL): New.
From-SVN: r125619
Diffstat (limited to 'gcc/config/arm')
-rw-r--r-- | gcc/config/arm/arm.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 587b74f..cd287bf 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -195,6 +195,7 @@ static bool arm_handle_option (size_t, const char *, int); static unsigned HOST_WIDE_INT arm_shift_truncation_mask (enum machine_mode); static bool arm_cannot_copy_insn_p (rtx); static bool arm_tls_symbol_p (rtx x); +static void arm_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED; /* Initialize the GCC target structure. */ @@ -377,6 +378,11 @@ static bool arm_tls_symbol_p (rtx x); #undef TARGET_CANNOT_FORCE_CONST_MEM #define TARGET_CANNOT_FORCE_CONST_MEM arm_tls_referenced_p +#ifdef HAVE_AS_TLS +#undef TARGET_ASM_OUTPUT_DWARF_DTPREL +#define TARGET_ASM_OUTPUT_DWARF_DTPREL arm_output_dwarf_dtprel +#endif + struct gcc_target targetm = TARGET_INITIALIZER; /* Obstack for minipool constant handling. */ @@ -16532,6 +16538,17 @@ arm_emit_tls_decoration (FILE *fp, rtx x) return TRUE; } +/* ARM implementation of TARGET_ASM_OUTPUT_DWARF_DTPREL. */ + +static void +arm_output_dwarf_dtprel (FILE *file, int size, rtx x) +{ + gcc_assert (size == 4); + fputs ("\t.word\t", file); + output_addr_const (file, x); + fputs ("(tlsldo)", file); +} + bool arm_output_addr_const_extra (FILE *fp, rtx x) { |