[rtems commit] sparc/shared/.../linkcmds.base: Correct C++ support

Joel Sherrill joel at rtems.org
Fri Apr 4 14:19:10 UTC 2014


Module:    rtems
Branch:    master
Commit:    95cb09ed746e7daeca2158c7ecdf0249cfcbc5c8
Changeset: http://git.rtems.org/rtems/commit/?id=95cb09ed746e7daeca2158c7ecdf0249cfcbc5c8

Author:    Joel Sherrill <joel.sherrill at oarcorp.com>
Date:      Wed Apr  2 11:39:20 2014 -0500

sparc/shared/.../linkcmds.base: Correct C++ support

Add KEEP() for .eh_frame*, .ctor*, and .dtor*.

---

 .../lib/libbsp/sparc/shared/startup/linkcmds.base  |   13 ++++++-------
 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 2ed927d..add1f00 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 = .;




More information about the vc mailing list