summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-02-17 23:35:54 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-02-17 23:35:54 +0000
commitf86ec4236f27434b93f3a0d902ee34bdde963630 (patch)
tree71094e41be1d85c77a3520fe97527b64e4c7df14
parent818c361b9439ea4775959d1b2a303d6a2b1fa321 (diff)
downloadrtems-f86ec4236f27434b93f3a0d902ee34bdde963630.tar.bz2
Added .eh_frame, C++ constructor, and C++ destructor sections.
-rw-r--r--c/src/lib/libbsp/i386/force386/startup/linkcmds20
-rw-r--r--c/src/lib/libbsp/i386/i386ex/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/i386/pc386/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/i960/cvme961/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/m68k/dmv152/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/m68k/efi332/startup/linkcmds4
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/startup/linkcmds4
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/startup/linkcmds3
-rw-r--r--c/src/lib/libbsp/m68k/idp/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/startup/linkcmds5
-rw-r--r--c/src/lib/libbsp/no_cpu/no_bsp/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/sparc/erc32/startup/linkcmds18
17 files changed, 251 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/i386/force386/startup/linkcmds b/c/src/lib/libbsp/i386/force386/startup/linkcmds
index 53a02ae699..1c15fe1cb8 100644
--- a/c/src/lib/libbsp/i386/force386/startup/linkcmds
+++ b/c/src/lib/libbsp/i386/force386/startup/linkcmds
@@ -24,7 +24,25 @@ SECTIONS
{
_text_start = . ;
*(.text)
- _etext = ALIGN( 0x10 ) ;
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
+ _etext = ALIGN( 0x10 ) ;
}
.data ADDR( .text ) + SIZEOF( .text ):
{
diff --git a/c/src/lib/libbsp/i386/i386ex/startup/linkcmds b/c/src/lib/libbsp/i386/i386ex/startup/linkcmds
index fa7cf47a60..927ffe92a2 100644
--- a/c/src/lib/libbsp/i386/i386ex/startup/linkcmds
+++ b/c/src/lib/libbsp/i386/i386ex/startup/linkcmds
@@ -88,6 +88,24 @@ SECTIONS
{
_text_start = . ;
*(.text ) ;
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
_etext = ALIGN( 0x10 );
}
diff --git a/c/src/lib/libbsp/i386/pc386/startup/linkcmds b/c/src/lib/libbsp/i386/pc386/startup/linkcmds
index 339195da1b..038531fc79 100644
--- a/c/src/lib/libbsp/i386/pc386/startup/linkcmds
+++ b/c/src/lib/libbsp/i386/pc386/startup/linkcmds
@@ -39,6 +39,24 @@ SECTIONS
{
_text_start = . ;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
_etext = ALIGN( 0x10 ) ;
}
.rodata ADDR( .text ) + SIZEOF( .text ):
diff --git a/c/src/lib/libbsp/i960/cvme961/startup/linkcmds b/c/src/lib/libbsp/i960/cvme961/startup/linkcmds
index e4c31503bd..f6dc1264d3 100644
--- a/c/src/lib/libbsp/i960/cvme961/startup/linkcmds
+++ b/c/src/lib/libbsp/i960/cvme961/startup/linkcmds
@@ -25,6 +25,24 @@ SECTIONS
text_start = . ;
_text_start = . ;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
etext = ALIGN( 0x10 ) ;
/* _etext = .; -- conflicts */
}
diff --git a/c/src/lib/libbsp/m68k/dmv152/startup/linkcmds b/c/src/lib/libbsp/m68k/dmv152/startup/linkcmds
index be5b325ad8..75ecb0a15a 100644
--- a/c/src/lib/libbsp/m68k/dmv152/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/dmv152/startup/linkcmds
@@ -25,6 +25,24 @@ SECTIONS
text_start = . ;
_text_start = . ;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
etext = ALIGN( 0x10 ) ;
_etext = .;
}
diff --git a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds
index 85c0b20b5c..90a27cb2fe 100644
--- a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds
@@ -49,6 +49,10 @@ SECTIONS
text_start = .;
_text_start = .;
*(.text)
+ . = ALIGN (16);
+ *(.eh_fram)
+ . = ALIGN (16);
+
etext = ALIGN(0x10);
_etext = .;
__CTOR_LIST__ = .;
diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds b/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds
index b980d87502..5fabd9d11b 100644
--- a/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/efi68k/startup/linkcmds
@@ -57,6 +57,10 @@ SECTIONS
text_start = .;
_text_start = .;
*(.text)
+ . = ALIGN (16);
+ *(.eh_fram)
+ . = ALIGN (16);
+
etext = ALIGN(0x10);
_etext = .;
__CTOR_LIST__ = .;
diff --git a/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds b/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds
index 1a94a31dce..2d7c8bece4 100644
--- a/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/gen68302/startup/linkcmds
@@ -27,6 +27,24 @@ SECTIONS
{
text_start = . ;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
etext = ALIGN( 0x10 ) ;
}
.data 0x010000 :
diff --git a/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds b/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
index 61f3b8ca63..938281ca46 100644
--- a/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
@@ -72,6 +72,9 @@ SECTIONS {
*(.text)
. = ALIGN (16);
+ *(.eh_fram)
+ . = ALIGN (16);
+
/*
* C++ constructors
*/
diff --git a/c/src/lib/libbsp/m68k/idp/startup/linkcmds b/c/src/lib/libbsp/m68k/idp/startup/linkcmds
index 150d397467..68026b08f8 100644
--- a/c/src/lib/libbsp/m68k/idp/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/idp/startup/linkcmds
@@ -23,6 +23,24 @@ SECTIONS
text_start = . ;
_text_start = . ;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
etext = ALIGN( 0x10 ) ;
_etext = .;
}
diff --git a/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds
index 845cb9f303..577bb0f8cf 100644
--- a/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds
@@ -25,6 +25,24 @@ SECTIONS
text_start = . ;
_text_start = . ;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
etext = ALIGN( 0x10 ) ;
_etext = .;
}
diff --git a/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds
index b23268d99e..c8c9ff9134 100644
--- a/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme147/startup/linkcmds
@@ -29,6 +29,24 @@ SECTIONS
text_start = . ;
_text_start = . ;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
etext = ALIGN( 0x10 ) ;
_etext = .;
}
diff --git a/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds
index 60d2c762ce..bf5b3a31ae 100644
--- a/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme147s/startup/linkcmds
@@ -29,6 +29,24 @@ SECTIONS
text_start = . ;
_text_start = . ;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
etext = ALIGN( 0x10 ) ;
_etext = .;
}
diff --git a/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds b/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds
index e754786917..d8fe8d9808 100644
--- a/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/mvme162/startup/linkcmds
@@ -31,6 +31,24 @@ SECTIONS
{
text_start = . ;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
etext = ALIGN( 0x10 ) ;
}
.data ADDR( .text ) + SIZEOF( .text ):
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds b/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds
index 225cc92f26..8a9be68783 100644
--- a/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds
@@ -11,6 +11,11 @@ SECTIONS
{
text_start = .;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
etext = .;
. = ALIGN(4);
__CTOR_LIST__ = .;
diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/startup/linkcmds b/c/src/lib/libbsp/no_cpu/no_bsp/startup/linkcmds
index eaf8f84c46..02da47c3e1 100644
--- a/c/src/lib/libbsp/no_cpu/no_bsp/startup/linkcmds
+++ b/c/src/lib/libbsp/no_cpu/no_bsp/startup/linkcmds
@@ -25,6 +25,24 @@ SECTIONS
text_start = . ;
_text_start = . ;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
_etext = ALIGN( 0x10 ) ;
}
.data ADDR( .text ) + SIZEOF( .text ):
diff --git a/c/src/lib/libbsp/sparc/erc32/startup/linkcmds b/c/src/lib/libbsp/sparc/erc32/startup/linkcmds
index 8b68dd2c05..9d1ecbbb1a 100644
--- a/c/src/lib/libbsp/sparc/erc32/startup/linkcmds
+++ b/c/src/lib/libbsp/sparc/erc32/startup/linkcmds
@@ -80,6 +80,24 @@ SECTIONS
text_start = .;
_text_start = .;
*(.text)
+ . = ALIGN (16);
+
+ *(.eh_fram)
+ . = ALIGN (16);
+
+ /*
+ * C++ constructors
+ */
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
etext = ALIGN(0x10);
_etext = .;
__CTOR_LIST__ = .;