]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm.c (arm_output_dwarf_dtprel, [...]): New.
authorJoseph Myers <joseph@codesourcery.com>
Mon, 11 Jun 2007 14:55:06 +0000 (15:55 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Mon, 11 Jun 2007 14:55:06 +0000 (15:55 +0100)
* config/arm/arm.c (arm_output_dwarf_dtprel,
TARGET_ASM_OUTPUT_DWARF_DTPREL): New.

From-SVN: r125619

gcc/ChangeLog
gcc/config/arm/arm.c

index fd94652f733ee6a1264319db5986a61cbced3fe1..13cb914ebed18e215584d470016e4220267713cd 100644 (file)
@@ -1,3 +1,8 @@
+2007-06-11  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/arm.c (arm_output_dwarf_dtprel,
+       TARGET_ASM_OUTPUT_DWARF_DTPREL): New.
+
 2007-06-11  Bernd Schmidt  <bernd.schmidt@analog.com>
 
        * config/bfin/bfin.md (movdi_insn, movsi_insn, movv2hi_insn,
index 587b74f0af73bfd66133cbb70d28440550f2a8cf..cd287bfa3635e027f949732fdcce5866c5af708f 100644 (file)
@@ -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;
 
 \f
 /* 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;
 \f
 /* 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)
 {