diff options
Diffstat (limited to 'bsps/powerpc/gen5200/start/linkcmds.gen5200_base')
-rw-r--r-- | bsps/powerpc/gen5200/start/linkcmds.gen5200_base | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/bsps/powerpc/gen5200/start/linkcmds.gen5200_base b/bsps/powerpc/gen5200/start/linkcmds.gen5200_base index ca9d50ebb5..8c5e97e5cb 100644 --- a/bsps/powerpc/gen5200/start/linkcmds.gen5200_base +++ b/bsps/powerpc/gen5200/start/linkcmds.gen5200_base @@ -177,31 +177,20 @@ SECTIONS { /* * BSP: Moved into .data from .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 (*ecrti.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 *crtend?.o ) .ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o *ecrtn.o) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) /* * BSP: Moved into .data from .dtors */ + KEEP (*ecrti.o(.dtors)) KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o *ecrtn.o) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) |