Mercurial > ecos
diff packages/hal/mips/tx39/current/src/mips_tx39.ld @ 12:4cc3eff958ab ecos-sw-1999-06-04
Merge from eCos master repository on 1999-06-04-22:24:56-BST
| author | jlarmour |
|---|---|
| date | Fri, 04 Jun 1999 15:08:16 +0000 |
| parents | d376b777e2ce |
| children | 4f2df4ab82c8 |
line wrap: on
line diff
--- a/packages/hal/mips/tx39/current/src/mips_tx39.ld +++ b/packages/hal/mips/tx39/current/src/mips_tx39.ld @@ -79,6 +79,24 @@ GROUP(libtarget.a libgcc.a) { FORCE_OUTPUT; *(.fini) } \ > _region_ +#define SECTION_ctors(_region_, _vma_, _lma_) \ + .ctors _vma_ : _lma_ \ + { \ + __CTOR_LIST__ = ABSOLUTE (.); \ + KEEP(*(.ctors)) \ + KEEP(*(SORT(.ctors.*))) \ + __CTOR_END__ = ABSOLUTE (.); \ + } > _region_ + +#define SECTION_dtors(_region_, _vma_, _lma_) \ + .dtors _vma_ : _lma_ \ + { \ + __DTOR_LIST__ = ABSOLUTE (.); \ + KEEP(*(SORT(.dtors.*))) \ + KEEP(*(.dtors)) \ + __DTOR_END__ = ABSOLUTE (.); \ + } > _region_ + #define SECTION_rodata(_region_, _vma_, _lma_) \ .rodata _vma_ : _lma_ \ { FORCE_OUTPUT; *(.rodata*) } \ @@ -109,6 +127,9 @@ GROUP(libtarget.a libgcc.a) { FORCE_OUTPUT; *(.gcc_except_table) } \ > _region_ +/* FIXME: The SORT(CONSTRUCTORS) line below is for backwards compatibility + * with older (pre-99r1) toolchains + */ #define SECTION_data(_region_, _vma_, _lma_) \ .data _vma_ : _lma_ \ { __ram_data_start = ABSOLUTE (.); \ @@ -116,7 +137,7 @@ GROUP(libtarget.a libgcc.a) _GOT1_START_ = ABSOLUTE (.); *(.got1) _GOT1_END_ = ABSOLUTE (.); \ _GOT2_START_ = ABSOLUTE (.); *(.got2) _GOT2_END_ = ABSOLUTE (.); \ . = ALIGN (8); \ - SORT (CONSTRUCTORS) *(.ctors*) *(.dtors*) \ + SORT (CONSTRUCTORS) \ . = ALIGN (8); \ __DEVTAB__ = ABSOLUTE (.); KEEP (*(SORT (.devtab*))) __DEVTAB_END__ = ABSOLUTE (.); \ . = ALIGN (8); \
