summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2007-07-10 21:02:30 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2007-07-10 21:02:30 +0000
commit6c053cbd84727ae86415d2b34e8bf1a5aecdda21 (patch)
treef742522d73fb370c8997b42b6452bb38cfc00025 /c
parentadded c++ support (diff)
downloadrtems-6c053cbd84727ae86415d2b34e8bf1a5aecdda21.tar.bz2
fixed some c++ problems
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/ChangeLog3
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/Makefile.am7
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/bsp_specs4
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/preinstall.am4
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds2
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.pm52077
6 files changed, 48 insertions, 49 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog
index 6db1bab23d..bb84ea2aef 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog
+++ b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog
@@ -1,6 +1,7 @@
2007-07-10 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
- * bsp_specs, startup/linkcmds: add c++ support again
+ * bsp_specs, startup/linkcmds, startup/linkcmds.pm520:
+ add c++ support again
* preinstall.am: some fixes
2007-07-06 Joel Sherrill <joel.sherrill@oarcorp.com>
diff --git a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am
index dc0553d8e6..036f124587 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am
+++ b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am
@@ -29,6 +29,11 @@ start.$(OBJEXT): start/start.S
$(CPPASCOMPILE) -o $@ -c $<
project_lib_DATA = start.$(OBJEXT)
+EXTRA_DIST += ../../powerpc/shared/start/rtems_crti.S
+rtems_crti.$(OBJEXT): ../../powerpc/shared/start/rtems_crti.S
+ $(CPPASCOMPILE) -o $@ -c $<
+project_lib_DATA += rtems_crti.$(OBJEXT)
+
dist_project_lib_DATA += startup/linkcmds
dist_project_lib_DATA += startup/linkcmds.brs5l
dist_project_lib_DATA += startup/linkcmds.ep5200
@@ -113,7 +118,7 @@ noinst_PROGRAMS += startup.rel
startup_rel_SOURCES = startup/bspclean.c ../../shared/bsplibc.c \
../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
../../shared/sbrk.c ../shared/uboot_dump_bdinfo.c \
- ../../shared/gnatinstallhandler.c startup/cpuinit.c start/start.S
+ ../../shared/gnatinstallhandler.c startup/cpuinit.c
startup_rel_CPPFLAGS = $(AM_CPPFLAGS)
startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
diff --git a/c/src/lib/libbsp/powerpc/gen5200/bsp_specs b/c/src/lib/libbsp/powerpc/gen5200/bsp_specs
index 423e6d4c91..d750e714d9 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/bsp_specs
+++ b/c/src/lib/libbsp/powerpc/gen5200/bsp_specs
@@ -3,7 +3,9 @@
%rename link old_link
*startfile:
-%{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s}}
+%{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s \
+%{!qrtems_debug: start.o%s} \
+%{qrtems_debug: start_g.o%s}}}
*endfile:
%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s ecrtn.o%s}
diff --git a/c/src/lib/libbsp/powerpc/gen5200/preinstall.am b/c/src/lib/libbsp/powerpc/gen5200/preinstall.am
index 0df2cff383..eff2a6f2da 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/preinstall.am
+++ b/c/src/lib/libbsp/powerpc/gen5200/preinstall.am
@@ -77,6 +77,10 @@ $(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
+$(PROJECT_LIB)/rtems_crti.$(OBJEXT): rtems_crti.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/rtems_crti.$(OBJEXT)
+TMPINSTALL_FILES += $(PROJECT_LIB)/rtems_crti.$(OBJEXT)
+
$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds b/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds
index fa18cbb721..015aa98afc 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds
+++ b/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds
@@ -166,7 +166,7 @@ SECTIONS
} > ram
- .jcr : { KEEP (*(.jcr)) } >RAM
+ .jcr : { KEEP (*(.jcr)) } >ram
.rel.dyn : {
*(.rel.init)
diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.pm520 b/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.pm520
index 61794202f7..d65ed90f64 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.pm520
+++ b/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.pm520
@@ -59,7 +59,6 @@ SECTIONS
/* Actual Code */
*(.text*)
-
*(.rodata*)
*(.rodata1)
@@ -136,42 +135,38 @@ SECTIONS
*(rom_ver)
_erodata = .;
-
- /* Various possible names for the end of the .text section */
- etext = ALIGN(0x10);
- _etext = .;
- _endtext = .;
- text.end = .;
- PROVIDE (etext = .);
- PROVIDE (__etext = .);
-
- } > ram
-
-
PROVIDE (__EXCEPT_START__ = .);
- .gcc_except_table : { *(.gcc_except_table) } >ram
+ *(.gcc_except_table)
PROVIDE (__EXCEPT_END__ = .);
__GOT_START__ = .;
- .got :
- {
- s.got = .;
- *(.got.plt) *(.got)
- } > ram
- __GOT_END__ = .;
-
- .got1 : { *(.got1) } >ram
+ s.got = .;
+ *(.got.plt)
+ *(.got)
+ *(.got1)
PROVIDE (__GOT2_START__ = .);
PROVIDE (_GOT2_START_ = .);
- .got2 : { *(.got2) } >ram
+ *(.got2)
PROVIDE (__GOT2_END__ = .);
PROVIDE (_GOT2_END_ = .);
PROVIDE (__FIXUP_START__ = .);
PROVIDE (_FIXUP_START_ = .);
- .fixup : { *(.fixup) } >ram
+ *(.fixup)
PROVIDE (_FIXUP_END_ = .);
PROVIDE (__FIXUP_END__ = .);
+
+ /* Various possible names for the end of the .text section */
+ etext = ALIGN(0x10);
+ _etext = .;
+ _endtext = .;
+ text.end = .;
+ PROVIDE (etext = .);
+ PROVIDE (__etext = .);
+ } > ram
+
+ .jcr : { KEEP (*(.jcr)) } >ram
+
.rel.dyn : {
*(.rel.init)
*(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
@@ -211,28 +206,13 @@ SECTIONS
} >ram
PROVIDE (__SDATA2_START__ = .);
- .sdata2 : { *(.sdata2) *(.gnu.linkonce.s2.*) } >ram
- .sbss2 : { *(.sbss2) *(.gnu.linkonce.sb2.*) } >ram
+ .sdata2 : { *(.sdata2) *(.gnu.linkonce.s2.*) } >ram
+ .sbss2 : { *(.sbss2) *(.gnu.linkonce.sb2.*) } >ram
PROVIDE (__SBSS2_END__ = .);
.sbss2 : { *(.sbss2) } >ram
PROVIDE (__SBSS2_END__ = .);
- __SBSS_START__ = .;
- .bss :
- {
- bss.start = .;
- *(.bss .bss* .gnu.linkonce.b*)
- *(.sbss*) *(COMMON)
- . = ALIGN(4);
- bss.end = .;
- } > ram
- __SBSS_END__ = .;
-
-
-
-
-
/* R/W Data */
.data ( . ) :
{
@@ -241,7 +221,6 @@ SECTIONS
data.start = .;
*(.data)
- *(.data.rel.*)
*(.data1)
*(.data.* .gnu.linkonce.d.*)
PROVIDE (__SDATA_START__ = .);
@@ -250,9 +229,16 @@ SECTIONS
data.end = .;
} > ram
- data.size = data.end - data.start;
- bss.size = bss.end - bss.start;
- text.size = text.end - text.start;
+ __SBSS_START__ = .;
+ .bss :
+ {
+ bss.start = .;
+ *(.bss .bss* .gnu.linkonce.b*)
+ *(.sbss*) *(COMMON)
+ . = ALIGN(4);
+ bss.end = .;
+ } > ram
+ __SBSS_END__ = .;
PROVIDE(_bss_start = ADDR(.bss));
PROVIDE(_bss_size = SIZEOF(.bss));
@@ -278,6 +264,7 @@ SECTIONS
+
_WorkspaceBase = .;
__WorkspaceBase = .;
. += WorkSpaceSize;