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:
Joel Sherrill
1999-10-06 18:04:34 +00:00
parent f5e5de9f11
commit 01c36de4f2
8 changed files with 54 additions and 29 deletions

View File

@@ -49,14 +49,20 @@ SECTIONS
*(.dtors)
LONG(0)
__DTOR_END__ = .;
_rodata_start = . ;
*(.rodata)
*(.gnu.linkonce.r*)
_erodata = ALIGN( 0x10 ) ;
etext = ALIGN( 0x10 ) ;
}
.rodata : { *(.rodata) *(.gnu.linkonce.r*) } >RAM
.data 0x010000 :
{
data_start = . ;
*(.data)
*(.gnu.linkonce.d.*)
*(.gcc_except_table)
edata = ALIGN( 0x10 ) ;
}
.bss ADDR( .data ) + SIZEOF( .data ):

View File

@@ -57,9 +57,15 @@ SECTIONS {
*(.text)
. = ALIGN (16);
*(.gnu.linkonce.t.*)
*(.descriptors)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
*(.eh_fram)
. = ALIGN (16);
*(.gcc_exc)
/*
* C++ constructors
*/
@@ -74,12 +80,19 @@ SECTIONS {
LONG(0)
__DTOR_END__ = .;
_rodata_start = . ;
*(.rodata)
*(.gnu.linkonce.r*)
_erodata = ALIGN( 0x10 ) ;
etext = .;
_etext = .;
} >ram
.data : {
copy_start = .;
*(.data)
*(.gnu.linkonce.d*)
*(.gcc_except_table)
. = ALIGN (16);
_edata = .;
copy_end = .;

View File

@@ -31,6 +31,9 @@ SECTIONS
*(.eh_fram)
. = ALIGN (16);
. = ALIGN (16);
*(.gcc_exc)
/*
* C++ constructors
*/
@@ -47,16 +50,14 @@ SECTIONS
etext = ALIGN( 0x10 ) ;
_etext = .;
}
.data ADDR( .text ) + SIZEOF( .text ):
{
.data : {
data_start = . ;
_data_start = .;
*(.data)
edata = ALIGN( 0x10 ) ;
_edata = .;
}
.bss ADDR( .data ) + SIZEOF( .data ):
{
.bss : {
bss_start = . ;
_bss_start = . ;
*(.bss)

View File

@@ -47,16 +47,14 @@ SECTIONS
etext = ALIGN( 0x10 ) ;
_etext = .;
}
.data ADDR( .text ) + SIZEOF( .text ):
{
.data : {
data_start = . ;
_data_start = .;
*(.data)
edata = ALIGN( 0x10 ) ;
_edata = .;
}
.bss ADDR( .data ) + SIZEOF( .data ):
{
.bss : {
bss_start = . ;
_bss_start = . ;
*(.bss)

View File

@@ -52,16 +52,14 @@ SECTIONS
etext = ALIGN( 0x10 ) ;
_etext = .;
}
.data ADDR( .text ) + SIZEOF( .text ):
{
.data : {
data_start = . ;
_data_start = .;
*(.data)
edata = ALIGN( 0x10 ) ;
_edata = .;
}
.bss ADDR( .data ) + SIZEOF( .data ):
{
.bss : {
bss_start = . ;
_bss_start = . ;
*(.bss)

View File

@@ -33,6 +33,11 @@ SECTIONS
*(.text)
. = ALIGN (16);
*(.gnu.linkonce.t.*)
*(.descriptors)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
*(.eh_fram)
. = ALIGN (16);
@@ -49,6 +54,12 @@ SECTIONS
*(.dtors)
LONG(0)
__DTOR_END__ = .;
_rodata_start = . ;
*(.rodata)
*(.gnu.linkonce.r*)
_erodata = ALIGN( 0x10 ) ;
etext = ALIGN( 0x10 ) ;
_etext = .;
}
@@ -57,6 +68,8 @@ SECTIONS
data_start = . ;
_data_start = .;
*(.data)
*(.gnu.linkonce.d*)
*(.gcc_except_table)
edata = ALIGN( 0x10 ) ;
_edata = .;
}

View File

@@ -53,14 +53,12 @@ SECTIONS
__DTOR_END__ = .;
etext = ALIGN( 0x10 ) ;
}
.data ADDR( .text ) + SIZEOF( .text ):
{
.data : {
data_start = . ;
*(.data)
edata = ALIGN( 0x10 ) ;
}
.bss ADDR( .data ) + SIZEOF( .data ):
{
.bss : {
bss_start = . ;
*(.bss)
*(COMMON)

View File

@@ -7,6 +7,13 @@
SECTIONS
{
.vtable 0 :
{
vtable_start = .;
*(.vtable)
evtable = .;
}
.text . :
{
text_start = .;
@@ -31,22 +38,13 @@ SECTIONS
__DTOR_END__ = .;
}
.vtable 0 :
{
vtable_start = .;
*(.vtable)
evtable = .;
}
.data (ADDR(.vtable) + SIZEOF(.vtable)) :
AT (ADDR(.text) + SIZEOF(.text))
{
.data : {
data_start = .;
*(.data)
*(.rodata)
edata = .;
}
.bss (ADDR(.data) + SIZEOF(.data)) :
{
.bss : {
bss_start = .;
*(.bss)
*(COMMON)