]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm.h (ARM_EABI_CTORS_SECTION_OP): Do not define if a definition has already been...
authorMark Mitchell <mark@codesourcery.com>
Fri, 29 Apr 2005 14:22:10 +0000 (14:22 +0000)
committerJulian Brown <jules@gcc.gnu.org>
Fri, 29 Apr 2005 14:22:10 +0000 (14:22 +0000)
* config/arm/arm.h (ARM_EABI_CTORS_SECTION_OP): Do not define if a
definition has already been provided.
(ARM_EABI_DTORS_SECTION_OP): Likewise.
* config/arm/symbian.h (ARM_EABI_CTORS_SECTION_OP): Define.
(ARM_EABI_DTORS_SECTION_OP): Likewise.

From-SVN: r98988

gcc/ChangeLog
gcc/config/arm/arm.h
gcc/config/arm/symbian.h

index 65dcd3f2b23063178b24526e7277af659e15e314..78eafd329ee363a222d611e52feb65b4acd9d150 100644 (file)
@@ -1,3 +1,11 @@
+2005-04-29  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/arm/arm.h (ARM_EABI_CTORS_SECTION_OP): Do not define if a
+       definition has already been provided.
+       (ARM_EABI_DTORS_SECTION_OP): Likewise.
+       * config/arm/symbian.h (ARM_EABI_CTORS_SECTION_OP): Define.
+       (ARM_EABI_DTORS_SECTION_OP): Likewise.
+
 2005-04-29  Jim Tison  <jtison@us.ibm.com>
 
        * config/s390/s390.md ("prologue_tpf", "epilogue_tpf"): Alter
index 4f0eeec613841534ad0a0953d711a8527923718e..6310a627e60e0a8991bcfb5adf3756ecc9a5d485 100644 (file)
@@ -2124,10 +2124,14 @@ typedef struct
 
 /* The EABI specifies that constructors should go in .init_array.
    Other targets use .ctors for compatibility.  */
+#ifndef ARM_EABI_CTORS_SECTION_OP
 #define ARM_EABI_CTORS_SECTION_OP \
   "\t.section\t.init_array,\"aw\",%init_array"
+#endif
+#ifndef ARM_EABI_DTORS_SECTION_OP
 #define ARM_EABI_DTORS_SECTION_OP \
   "\t.section\t.fini_array,\"aw\",%fini_array"
+#endif
 #define ARM_CTORS_SECTION_OP \
   "\t.section\t.ctors,\"aw\",%progbits"
 #define ARM_DTORS_SECTION_OP \
index 08ea763fbcd6d6ccff4aa9a3efa69715585c1d13..4f5ac3755003dbbe5380c4dedec753d97da8ba59 100644 (file)
     }                                          \
   while (false)
 
+/* On SymbianOS, these sections are not writable, so we use "a",
+   rather than "aw", for the section attributes.  */
+#undef ARM_EABI_CTORS_SECTION_OP
+#define ARM_EABI_CTORS_SECTION_OP \
+  "\t.section\t.init_array,\"a\",%init_array"
+#undef ARM_EABI_DTORS_SECTION_OP
+#define ARM_EABI_DTORS_SECTION_OP \
+  "\t.section\t.fini_array,\"a\",%fini_array"
 
 /* SymbianOS cannot merge entities with vague linkage at runtime.  */
 #define TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P false