diff options
Diffstat (limited to 'ld/scripttempl/elf32crx.sc')
-rw-r--r-- | ld/scripttempl/elf32crx.sc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/ld/scripttempl/elf32crx.sc b/ld/scripttempl/elf32crx.sc index 63401fe7e2c1..430418744f91 100644 --- a/ld/scripttempl/elf32crx.sc +++ b/ld/scripttempl/elf32crx.sc @@ -90,14 +90,15 @@ SECTIONS doesn't matter which directory crtbegin.o is in. */ - KEEP (*crtbegin*.o(.ctors)) - + KEEP (*crtbegin.o(.ctors)) + KEEP (*crtbegin?.o(.ctors)) + /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ - KEEP (*(EXCLUDE_FILE (*crtend*.o) .ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) __CTOR_END = .; @@ -106,8 +107,9 @@ SECTIONS .dtor ALIGN(4) : { __DTOR_START = .; - KEEP (*crtbegin*.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend*.o) .dtors)) + KEEP (*crtbegin.o(.dtors)) + KEEP (*crtbegin?.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) __DTOR_END = .; |