forked from Imagelibrary/rtems
Added more sections and made minor modifications to let the linkcmds
work with m68k-elf on late model versions of binutils (990901+) without overlapping or missing section errors.
This commit is contained in:
@@ -49,14 +49,20 @@ SECTIONS
|
|||||||
*(.dtors)
|
*(.dtors)
|
||||||
LONG(0)
|
LONG(0)
|
||||||
__DTOR_END__ = .;
|
__DTOR_END__ = .;
|
||||||
|
|
||||||
|
_rodata_start = . ;
|
||||||
|
*(.rodata)
|
||||||
|
*(.gnu.linkonce.r*)
|
||||||
|
_erodata = ALIGN( 0x10 ) ;
|
||||||
|
|
||||||
etext = ALIGN( 0x10 ) ;
|
etext = ALIGN( 0x10 ) ;
|
||||||
}
|
}
|
||||||
.rodata : { *(.rodata) *(.gnu.linkonce.r*) } >RAM
|
|
||||||
.data 0x010000 :
|
.data 0x010000 :
|
||||||
{
|
{
|
||||||
data_start = . ;
|
data_start = . ;
|
||||||
*(.data)
|
*(.data)
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
|
*(.gcc_except_table)
|
||||||
edata = ALIGN( 0x10 ) ;
|
edata = ALIGN( 0x10 ) ;
|
||||||
}
|
}
|
||||||
.bss ADDR( .data ) + SIZEOF( .data ):
|
.bss ADDR( .data ) + SIZEOF( .data ):
|
||||||
|
|||||||
@@ -57,9 +57,15 @@ SECTIONS {
|
|||||||
*(.text)
|
*(.text)
|
||||||
. = ALIGN (16);
|
. = ALIGN (16);
|
||||||
|
|
||||||
|
*(.gnu.linkonce.t.*)
|
||||||
|
*(.descriptors)
|
||||||
|
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||||
|
*(.gnu.warning)
|
||||||
|
|
||||||
*(.eh_fram)
|
*(.eh_fram)
|
||||||
. = ALIGN (16);
|
. = ALIGN (16);
|
||||||
|
|
||||||
|
*(.gcc_exc)
|
||||||
/*
|
/*
|
||||||
* C++ constructors
|
* C++ constructors
|
||||||
*/
|
*/
|
||||||
@@ -74,12 +80,19 @@ SECTIONS {
|
|||||||
LONG(0)
|
LONG(0)
|
||||||
__DTOR_END__ = .;
|
__DTOR_END__ = .;
|
||||||
|
|
||||||
|
_rodata_start = . ;
|
||||||
|
*(.rodata)
|
||||||
|
*(.gnu.linkonce.r*)
|
||||||
|
_erodata = ALIGN( 0x10 ) ;
|
||||||
|
|
||||||
etext = .;
|
etext = .;
|
||||||
_etext = .;
|
_etext = .;
|
||||||
} >ram
|
} >ram
|
||||||
.data : {
|
.data : {
|
||||||
copy_start = .;
|
copy_start = .;
|
||||||
*(.data)
|
*(.data)
|
||||||
|
*(.gnu.linkonce.d*)
|
||||||
|
*(.gcc_except_table)
|
||||||
. = ALIGN (16);
|
. = ALIGN (16);
|
||||||
_edata = .;
|
_edata = .;
|
||||||
copy_end = .;
|
copy_end = .;
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ SECTIONS
|
|||||||
*(.eh_fram)
|
*(.eh_fram)
|
||||||
. = ALIGN (16);
|
. = ALIGN (16);
|
||||||
|
|
||||||
|
. = ALIGN (16);
|
||||||
|
*(.gcc_exc)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* C++ constructors
|
* C++ constructors
|
||||||
*/
|
*/
|
||||||
@@ -47,16 +50,14 @@ SECTIONS
|
|||||||
etext = ALIGN( 0x10 ) ;
|
etext = ALIGN( 0x10 ) ;
|
||||||
_etext = .;
|
_etext = .;
|
||||||
}
|
}
|
||||||
.data ADDR( .text ) + SIZEOF( .text ):
|
.data : {
|
||||||
{
|
|
||||||
data_start = . ;
|
data_start = . ;
|
||||||
_data_start = .;
|
_data_start = .;
|
||||||
*(.data)
|
*(.data)
|
||||||
edata = ALIGN( 0x10 ) ;
|
edata = ALIGN( 0x10 ) ;
|
||||||
_edata = .;
|
_edata = .;
|
||||||
}
|
}
|
||||||
.bss ADDR( .data ) + SIZEOF( .data ):
|
.bss : {
|
||||||
{
|
|
||||||
bss_start = . ;
|
bss_start = . ;
|
||||||
_bss_start = . ;
|
_bss_start = . ;
|
||||||
*(.bss)
|
*(.bss)
|
||||||
|
|||||||
@@ -47,16 +47,14 @@ SECTIONS
|
|||||||
etext = ALIGN( 0x10 ) ;
|
etext = ALIGN( 0x10 ) ;
|
||||||
_etext = .;
|
_etext = .;
|
||||||
}
|
}
|
||||||
.data ADDR( .text ) + SIZEOF( .text ):
|
.data : {
|
||||||
{
|
|
||||||
data_start = . ;
|
data_start = . ;
|
||||||
_data_start = .;
|
_data_start = .;
|
||||||
*(.data)
|
*(.data)
|
||||||
edata = ALIGN( 0x10 ) ;
|
edata = ALIGN( 0x10 ) ;
|
||||||
_edata = .;
|
_edata = .;
|
||||||
}
|
}
|
||||||
.bss ADDR( .data ) + SIZEOF( .data ):
|
.bss : {
|
||||||
{
|
|
||||||
bss_start = . ;
|
bss_start = . ;
|
||||||
_bss_start = . ;
|
_bss_start = . ;
|
||||||
*(.bss)
|
*(.bss)
|
||||||
|
|||||||
@@ -52,16 +52,14 @@ SECTIONS
|
|||||||
etext = ALIGN( 0x10 ) ;
|
etext = ALIGN( 0x10 ) ;
|
||||||
_etext = .;
|
_etext = .;
|
||||||
}
|
}
|
||||||
.data ADDR( .text ) + SIZEOF( .text ):
|
.data : {
|
||||||
{
|
|
||||||
data_start = . ;
|
data_start = . ;
|
||||||
_data_start = .;
|
_data_start = .;
|
||||||
*(.data)
|
*(.data)
|
||||||
edata = ALIGN( 0x10 ) ;
|
edata = ALIGN( 0x10 ) ;
|
||||||
_edata = .;
|
_edata = .;
|
||||||
}
|
}
|
||||||
.bss ADDR( .data ) + SIZEOF( .data ):
|
.bss : {
|
||||||
{
|
|
||||||
bss_start = . ;
|
bss_start = . ;
|
||||||
_bss_start = . ;
|
_bss_start = . ;
|
||||||
*(.bss)
|
*(.bss)
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ SECTIONS
|
|||||||
*(.text)
|
*(.text)
|
||||||
. = ALIGN (16);
|
. = ALIGN (16);
|
||||||
|
|
||||||
|
*(.gnu.linkonce.t.*)
|
||||||
|
*(.descriptors)
|
||||||
|
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||||
|
*(.gnu.warning)
|
||||||
|
|
||||||
*(.eh_fram)
|
*(.eh_fram)
|
||||||
. = ALIGN (16);
|
. = ALIGN (16);
|
||||||
|
|
||||||
@@ -49,6 +54,12 @@ SECTIONS
|
|||||||
*(.dtors)
|
*(.dtors)
|
||||||
LONG(0)
|
LONG(0)
|
||||||
__DTOR_END__ = .;
|
__DTOR_END__ = .;
|
||||||
|
|
||||||
|
_rodata_start = . ;
|
||||||
|
*(.rodata)
|
||||||
|
*(.gnu.linkonce.r*)
|
||||||
|
_erodata = ALIGN( 0x10 ) ;
|
||||||
|
|
||||||
etext = ALIGN( 0x10 ) ;
|
etext = ALIGN( 0x10 ) ;
|
||||||
_etext = .;
|
_etext = .;
|
||||||
}
|
}
|
||||||
@@ -57,6 +68,8 @@ SECTIONS
|
|||||||
data_start = . ;
|
data_start = . ;
|
||||||
_data_start = .;
|
_data_start = .;
|
||||||
*(.data)
|
*(.data)
|
||||||
|
*(.gnu.linkonce.d*)
|
||||||
|
*(.gcc_except_table)
|
||||||
edata = ALIGN( 0x10 ) ;
|
edata = ALIGN( 0x10 ) ;
|
||||||
_edata = .;
|
_edata = .;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,14 +53,12 @@ SECTIONS
|
|||||||
__DTOR_END__ = .;
|
__DTOR_END__ = .;
|
||||||
etext = ALIGN( 0x10 ) ;
|
etext = ALIGN( 0x10 ) ;
|
||||||
}
|
}
|
||||||
.data ADDR( .text ) + SIZEOF( .text ):
|
.data : {
|
||||||
{
|
|
||||||
data_start = . ;
|
data_start = . ;
|
||||||
*(.data)
|
*(.data)
|
||||||
edata = ALIGN( 0x10 ) ;
|
edata = ALIGN( 0x10 ) ;
|
||||||
}
|
}
|
||||||
.bss ADDR( .data ) + SIZEOF( .data ):
|
.bss : {
|
||||||
{
|
|
||||||
bss_start = . ;
|
bss_start = . ;
|
||||||
*(.bss)
|
*(.bss)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
|
|||||||
@@ -7,6 +7,13 @@
|
|||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
.vtable 0 :
|
||||||
|
{
|
||||||
|
vtable_start = .;
|
||||||
|
*(.vtable)
|
||||||
|
evtable = .;
|
||||||
|
}
|
||||||
|
|
||||||
.text . :
|
.text . :
|
||||||
{
|
{
|
||||||
text_start = .;
|
text_start = .;
|
||||||
@@ -31,22 +38,13 @@ SECTIONS
|
|||||||
__DTOR_END__ = .;
|
__DTOR_END__ = .;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vtable 0 :
|
.data : {
|
||||||
{
|
|
||||||
vtable_start = .;
|
|
||||||
*(.vtable)
|
|
||||||
evtable = .;
|
|
||||||
}
|
|
||||||
|
|
||||||
.data (ADDR(.vtable) + SIZEOF(.vtable)) :
|
|
||||||
AT (ADDR(.text) + SIZEOF(.text))
|
|
||||||
{
|
|
||||||
data_start = .;
|
data_start = .;
|
||||||
*(.data)
|
*(.data)
|
||||||
|
*(.rodata)
|
||||||
edata = .;
|
edata = .;
|
||||||
}
|
}
|
||||||
.bss (ADDR(.data) + SIZEOF(.data)) :
|
.bss : {
|
||||||
{
|
|
||||||
bss_start = .;
|
bss_start = .;
|
||||||
*(.bss)
|
*(.bss)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
|
|||||||
Reference in New Issue
Block a user