diff options
| author | jules <jules@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-29 14:22:10 +0000 |
|---|---|---|
| committer | jules <jules@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-29 14:22:10 +0000 |
| commit | 41b9306ebdeacd1904e7e6048154ca3735ea6e43 (patch) | |
| tree | f42ebe0890b56f17574eed62d7ddb4e56d6a8274 | |
| parent | d4ddb84e43de42ec0304dbec1f3b3d6664447cda (diff) | |
| download | ppe42-gcc-41b9306ebdeacd1904e7e6048154ca3735ea6e43.tar.gz ppe42-gcc-41b9306ebdeacd1904e7e6048154ca3735ea6e43.zip | |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98988 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 8 | ||||
| -rw-r--r-- | gcc/config/arm/arm.h | 4 | ||||
| -rw-r--r-- | gcc/config/arm/symbian.h | 8 |
3 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 65dcd3f2b23..78eafd329ee 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 4f0eeec6138..6310a627e60 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -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 \ diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h index 08ea763fbcd..4f5ac375500 100644 --- a/gcc/config/arm/symbian.h +++ b/gcc/config/arm/symbian.h @@ -88,6 +88,14 @@ } \ 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 |

