diff options
author | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2007-07-10 21:02:30 +0000 |
---|---|---|
committer | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2007-07-10 21:02:30 +0000 |
commit | 6c053cbd84727ae86415d2b34e8bf1a5aecdda21 (patch) | |
tree | f742522d73fb370c8997b42b6452bb38cfc00025 /c | |
parent | added c++ support (diff) | |
download | rtems-6c053cbd84727ae86415d2b34e8bf1a5aecdda21.tar.bz2 |
fixed some c++ problems
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/ChangeLog | 3 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/Makefile.am | 7 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/bsp_specs | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/preinstall.am | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.pm520 | 77 |
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; |