summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/shared/startup
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2014-04-02 11:39:20 -0500
committerJoel Sherrill <joel.sherrill@oarcorp.com>2014-04-04 09:26:08 -0500
commit95cb09ed746e7daeca2158c7ecdf0249cfcbc5c8 (patch)
treef57d1ce86431fa136cf2e712edf8cdbd282409b3 /c/src/lib/libbsp/sparc/shared/startup
parentschedulerpriorityaffinitysmp.h: Fix compilation error introduced by recent ch... (diff)
downloadrtems-95cb09ed746e7daeca2158c7ecdf0249cfcbc5c8.tar.bz2
sparc/shared/.../linkcmds.base: Correct C++ support
Add KEEP() for .eh_frame*, .ctor*, and .dtor*.
Diffstat (limited to 'c/src/lib/libbsp/sparc/shared/startup')
-rw-r--r--c/src/lib/libbsp/sparc/shared/startup/linkcmds.base13
1 files changed, 6 insertions, 7 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base
index 2ed927d6a2..add1f00ff3 100644
--- a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base
+++ b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base
@@ -63,7 +63,7 @@ SECTIONS
*(.text*)
. = ALIGN (16);
- *(.eh_frame)
+ KEEP(*(.eh_frame*))
. = ALIGN (16);
*(.gnu.linkonce.t*)
@@ -87,13 +87,11 @@ 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 (*(.ctors))
+ KEEP (*(SORT(.ctors*)))
KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin?.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
+ KEEP (*(SORT(.dtors*)))
_rodata_start = . ;
*(.rodata*)
@@ -102,8 +100,8 @@ SECTIONS
etext = ALIGN(0x10);
_etext = .;
- KEEP(*(.init))
- KEEP(*(.fini))
+ KEEP(*(.init*))
+ KEEP(*(.fini*))
*(.lit)
*(.shdata)
. = ALIGN (16);
@@ -159,6 +157,7 @@ SECTIONS
_sdata = . ;
*(.data*)
*(.gnu.linkonce.d*)
+ . = ALIGN(0x10);
*(.gcc_except_table*)
. = ALIGN(0x10);
edata = .;