summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386/startup
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/i386/pc386/startup/Makefile.in4
-rw-r--r--c/src/lib/libbsp/i386/pc386/startup/linkcmds7
2 files changed, 9 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/startup/Makefile.in b/c/src/lib/libbsp/i386/pc386/startup/Makefile.in
index 6ff0dff45e..a9a359bea8 100644
--- a/c/src/lib/libbsp/i386/pc386/startup/Makefile.in
+++ b/c/src/lib/libbsp/i386/pc386/startup/Makefile.in
@@ -39,7 +39,9 @@ include $(RTEMS_ROOT)/make/leaf.cfg
# (OPTIONAL) Add local stuff here using +=
#
-DEFINES +=
+# USE_INIT_FINI tells main.c what C++ help we need.
+
+DEFINES += -DUSE_INIT_FINI
CPPFLAGS +=
CFLAGS +=
diff --git a/c/src/lib/libbsp/i386/pc386/startup/linkcmds b/c/src/lib/libbsp/i386/pc386/startup/linkcmds
index 5dd7a675a3..712c5cfae4 100644
--- a/c/src/lib/libbsp/i386/pc386/startup/linkcmds
+++ b/c/src/lib/libbsp/i386/pc386/startup/linkcmds
@@ -67,7 +67,12 @@ SECTIONS
_etext = ALIGN( 0x10 ) ;
}
- .data ADDR( .text ) + SIZEOF( .text ):
+ .init :
+ { *( .init ) } = 0x9090
+ .fini :
+ { *( .fini ) } = 0x9090
+
+ .data ADDR( .fini ) + SIZEOF( .fini ):
{
_data_start = . ;
*(.data)