forked from Imagelibrary/rtems
@@ -182,30 +182,19 @@ SECTIONS
|
|||||||
.got2 : { *(.got2) } > CODE
|
.got2 : { *(.got2) } > CODE
|
||||||
.dynamic : { *(.dynamic) } > CODE
|
.dynamic : { *(.dynamic) } > CODE
|
||||||
|
|
||||||
.ctors :
|
.ctors : {
|
||||||
{
|
KEEP (*ecrti.o(.ctors))
|
||||||
/* gcc uses crtbegin.o to find the start of
|
|
||||||
the constructors, so we make sure it is
|
|
||||||
first. Because this is a wildcard, it
|
|
||||||
doesn't matter if the user does not
|
|
||||||
actually link against crtbegin.o; the
|
|
||||||
linker won't look for a file to match a
|
|
||||||
wildcard. The wildcard also means that it
|
|
||||||
doesn't matter which directory crtbegin.o
|
|
||||||
is in. */
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
KEEP (*crtbegin.o(.ctors))
|
||||||
/* We don't want to include the .ctor section from
|
KEEP (*crtbegin?.o(.ctors))
|
||||||
from the crtend.o file until after the sorted ctors.
|
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o *ecrtn.o) .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 (*(SORT(.ctors.*)))
|
KEEP (*(SORT(.ctors.*)))
|
||||||
KEEP (*(.ctors))
|
KEEP (*(.ctors))
|
||||||
} > CODE
|
} > CODE
|
||||||
.dtors :
|
.dtors : {
|
||||||
{
|
KEEP (*ecrti.o(.dtors))
|
||||||
KEEP (*crtbegin.o(.dtors))
|
KEEP (*crtbegin.o(.dtors))
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
|
KEEP (*crtbegin?.o(.dtors))
|
||||||
|
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o *ecrtn.o) .dtors))
|
||||||
KEEP (*(SORT(.dtors.*)))
|
KEEP (*(SORT(.dtors.*)))
|
||||||
KEEP (*(.dtors))
|
KEEP (*(.dtors))
|
||||||
} > CODE
|
} > CODE
|
||||||
|
|||||||
Reference in New Issue
Block a user