forked from Imagelibrary/rtems
sparc/shared/.../linkcmds.base: Correct C++ support
Add KEEP() for .eh_frame*, .ctor*, and .dtor*.
This commit is contained in:
@@ -63,7 +63,7 @@ SECTIONS
|
|||||||
*(.text*)
|
*(.text*)
|
||||||
. = ALIGN (16);
|
. = ALIGN (16);
|
||||||
|
|
||||||
*(.eh_frame)
|
KEEP(*(.eh_frame*))
|
||||||
. = ALIGN (16);
|
. = ALIGN (16);
|
||||||
|
|
||||||
*(.gnu.linkonce.t*)
|
*(.gnu.linkonce.t*)
|
||||||
@@ -87,13 +87,11 @@ SECTIONS
|
|||||||
The .ctor section from the crtend file contains the
|
The .ctor section from the crtend file contains the
|
||||||
end of ctors marker and it must be last */
|
end of ctors marker and it must be last */
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
|
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 (*crtbegin?.o(.dtors))
|
KEEP (*crtbegin?.o(.dtors))
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
|
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
|
||||||
KEEP (*(SORT(.dtors.*)))
|
KEEP (*(SORT(.dtors*)))
|
||||||
KEEP (*(.dtors))
|
|
||||||
|
|
||||||
_rodata_start = . ;
|
_rodata_start = . ;
|
||||||
*(.rodata*)
|
*(.rodata*)
|
||||||
@@ -102,8 +100,8 @@ SECTIONS
|
|||||||
|
|
||||||
etext = ALIGN(0x10);
|
etext = ALIGN(0x10);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
KEEP(*(.init))
|
KEEP(*(.init*))
|
||||||
KEEP(*(.fini))
|
KEEP(*(.fini*))
|
||||||
*(.lit)
|
*(.lit)
|
||||||
*(.shdata)
|
*(.shdata)
|
||||||
. = ALIGN (16);
|
. = ALIGN (16);
|
||||||
@@ -159,6 +157,7 @@ SECTIONS
|
|||||||
_sdata = . ;
|
_sdata = . ;
|
||||||
*(.data*)
|
*(.data*)
|
||||||
*(.gnu.linkonce.d*)
|
*(.gnu.linkonce.d*)
|
||||||
|
. = ALIGN(0x10);
|
||||||
*(.gcc_except_table*)
|
*(.gcc_except_table*)
|
||||||
. = ALIGN(0x10);
|
. = ALIGN(0x10);
|
||||||
edata = .;
|
edata = .;
|
||||||
|
|||||||
Reference in New Issue
Block a user