diff options
author | Thanassis Tsiodras <Thanassis.Tsiodras@esa.int> | 2018-03-06 07:23:07 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-03-06 07:27:21 +0100 |
commit | 4899759f73fd195500e149dd6bffbe418636c0de (patch) | |
tree | 8a95faf724f7dab65ce345e096fb2d6e7c7b0df4 /c/src | |
parent | spglobalcon02: New test (diff) | |
download | rtems-4899759f73fd195500e149dd6bffbe418636c0de.tar.bz2 |
bsps/sparc: Fix global construction/destruction
The
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
cannot be simplified to
KEEP (*(SORT(.ctors*)))
since
.ctors < .ctors.*
in lexicographical order.
See spglobalcon02 test case.
Update #3319.
Diffstat (limited to 'c/src')
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/startup/linkcmds.base | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base index b4e1c28121..4c7750dfe0 100644 --- a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base +++ b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base @@ -88,11 +88,13 @@ SECTIONS The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) - KEEP (*(SORT(.ctors*))) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) - KEEP (*(SORT(.dtors*))) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) _rodata_start = . ; *(.rodata*) |