summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-10-06 18:04:34 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-10-06 18:04:34 +0000
commit01c36de4f23e7978cfde00d62436e0d3243e95c3 (patch)
treec6afda620ea72e8d5509a2a80bb1ead5e623b130
parentAdded convert stanza to generate pdf version of figures from eps. (diff)
downloadrtems-01c36de4f23e7978cfde00d62436e0d3243e95c3.tar.bz2
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.
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/startup/linkcmds8
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/startup/linkcmds13
-rw-r--r--c/src/lib/libbsp/m68k/idp/startup/linkcmds9
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/startup/linkcmds6
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/startup/linkcmds6
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds13
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/startup/linkcmds6
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/startup/linkcmds22
8 files changed, 54 insertions, 29 deletions
diff --git a/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds b/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds
index 47cb15608c..5f50c68595 100644
--- a/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds
@@ -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 ):
diff --git a/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds b/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
index 132eafa35d..9d0899b5af 100644
--- a/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
@@ -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 = .;
diff --git a/c/src/lib/libbsp/m68k/idp/startup/linkcmds b/c/src/lib/libbsp/m68k/idp/startup/linkcmds
index d35d1d17ac..8ffdb3f40d 100644
--- a/c/src/lib/libbsp/m68k/idp/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/idp/startup/linkcmds
@@ -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)
diff --git a/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds
index eb88a08bfe..98c7a8bdd8 100644
--- a/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds
@@ -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)
diff --git a/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds
index 4749021258..01b5381b02 100644
--- a/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds
@@ -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)
diff --git a/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds
index 15c1ecf8e8..24b487fef3 100644
--- a/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds
@@ -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 = .;
}
diff --git a/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds
index 27bea7d764..3aecc130ee 100644
--- a/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds
@@ -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)
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds b/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds
index 8a9be68783..e0a884992c 100644
--- a/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds
@@ -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)