diff options
author | Joel Sherrill <joel@rtems.org> | 2017-12-20 14:38:28 -0600 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2017-12-20 15:19:17 -0600 |
commit | 2f7a25c9cf54ed7e151f0c2d096029e072397916 (patch) | |
tree | 14ab8cd2dee11a4932fd73b055c8a0e73c0417ba | |
parent | qemuppc: Simplify bsp_specs (diff) | |
download | rtems-2f7a25c9cf54ed7e151f0c2d096029e072397916.tar.bz2 |
beatnik, motorola_powerpc, mvme3100, mvme5500: Simplify bsp_specs
This collection of BSPs shared the linker script shared/startup/linkcmds.
I renamed that ot shared/startup/linkcmds.share and made a BSP family
specific startup/linkcmds. This was needed because each BSP family had
a different combination of start file name, undefined symbols, etc.
Updates #3520.
17 files changed, 53 insertions, 31 deletions
diff --git a/c/src/lib/libbsp/powerpc/beatnik/Makefile.am b/c/src/lib/libbsp/powerpc/beatnik/Makefile.am index 115a79c880..19d627cac0 100644 --- a/c/src/lib/libbsp/powerpc/beatnik/Makefile.am +++ b/c/src/lib/libbsp/powerpc/beatnik/Makefile.am @@ -50,7 +50,8 @@ project_lib_DATA += motld_start.$(OBJEXT) #startup -dist_project_lib_DATA += ../shared/startup/linkcmds +dist_project_lib_DATA += ../shared/startup/linkcmds.share +dist_project_lib_DATA += startup/linkcmds noinst_LIBRARIES = libbsp.a libbsp_a_SOURCES = diff --git a/c/src/lib/libbsp/powerpc/beatnik/bsp_specs b/c/src/lib/libbsp/powerpc/beatnik/bsp_specs index c6647045a9..99ca0adb61 100644 --- a/c/src/lib/libbsp/powerpc/beatnik/bsp_specs +++ b/c/src/lib/libbsp/powerpc/beatnik/bsp_specs @@ -1,13 +1,9 @@ %rename endfile old_endfile %rename startfile old_startfile -%rename link old_link *startfile: %{!qrtems: %(old_startfile)} \ -%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s -e __rtems_entry_point -u __vectors motld_start.o%s}} +%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s}} *endfile: %{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s ecrtn.o%s} - -*link: -%{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic} diff --git a/c/src/lib/libbsp/powerpc/beatnik/preinstall.am b/c/src/lib/libbsp/powerpc/beatnik/preinstall.am index 38d9b7764e..a80848a923 100644 --- a/c/src/lib/libbsp/powerpc/beatnik/preinstall.am +++ b/c/src/lib/libbsp/powerpc/beatnik/preinstall.am @@ -61,7 +61,11 @@ $(PROJECT_LIB)/motld_start.$(OBJEXT): motld_start.$(OBJEXT) $(PROJECT_LIB)/$(dir $(INSTALL_DATA) $< $(PROJECT_LIB)/motld_start.$(OBJEXT) TMPINSTALL_FILES += $(PROJECT_LIB)/motld_start.$(OBJEXT) -$(PROJECT_LIB)/linkcmds: ../shared/startup/linkcmds $(PROJECT_LIB)/$(dirstamp) +$(PROJECT_LIB)/linkcmds.share: ../shared/startup/linkcmds.share $(PROJECT_LIB)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.share +PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.share + +$(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/beatnik/startup/linkcmds b/c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds new file mode 100644 index 0000000000..b30fb91277 --- /dev/null +++ b/c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds @@ -0,0 +1,5 @@ +STARTUP(motld_start.o) +ENTRY(__rtems_entry_point) +EXTERN(__vectors) + +INCLUDE linkcmds.share diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am b/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am index 0eb1a18807..fb4f9ca2c0 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am @@ -33,7 +33,8 @@ project_lib_DATA += rtems_crti.$(OBJEXT) libbspstart_a_SOURCES += ../../powerpc/shared/start/vectors_entry.S project_lib_DATA += vectors_entry.$(OBJEXT) -dist_project_lib_DATA += ../shared/startup/linkcmds +dist_project_lib_DATA += ../shared/startup/linkcmds.share +dist_project_lib_DATA += startup/linkcmds noinst_LIBRARIES += libbsp.a libbsp_a_SOURCES = diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/bsp_specs b/c/src/lib/libbsp/powerpc/motorola_powerpc/bsp_specs index 2a245e9a66..2625609327 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/bsp_specs +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/bsp_specs @@ -1,14 +1,9 @@ %rename endfile old_endfile %rename startfile old_startfile -%rename link old_link *startfile: %{!qrtems: %(old_startfile)} \ -%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s \ - vectors_entry%O%s start.o%s -e __rtems_entry_point -u __vectors}} +%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s}} *endfile: %{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s ecrtn.o%s} - -*link: -%{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic} diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/preinstall.am b/c/src/lib/libbsp/powerpc/motorola_powerpc/preinstall.am index 5071a2dcf1..6396cb5b66 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/preinstall.am +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/preinstall.am @@ -69,7 +69,11 @@ $(PROJECT_LIB)/vectors_entry.$(OBJEXT): vectors_entry.$(OBJEXT) $(PROJECT_LIB)/$ $(INSTALL_DATA) $< $(PROJECT_LIB)/vectors_entry.$(OBJEXT) TMPINSTALL_FILES += $(PROJECT_LIB)/vectors_entry.$(OBJEXT) -$(PROJECT_LIB)/linkcmds: ../shared/startup/linkcmds $(PROJECT_LIB)/$(dirstamp) +$(PROJECT_LIB)/linkcmds.share: ../shared/startup/linkcmds.share $(PROJECT_LIB)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.share +PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.share + +$(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/motorola_powerpc/startup/linkcmds b/c/src/lib/libbsp/powerpc/motorola_powerpc/startup/linkcmds new file mode 100644 index 0000000000..ae44032d4f --- /dev/null +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/startup/linkcmds @@ -0,0 +1,6 @@ +INPUT(vectors_entry.o) +STARTUP(start.o) +ENTRY(__rtems_entry_point) +EXTERN(_vectors) + +INCLUDE linkcmds.share diff --git a/c/src/lib/libbsp/powerpc/mvme3100/Makefile.am b/c/src/lib/libbsp/powerpc/mvme3100/Makefile.am index a1bc9db34c..5f3024cded 100644 --- a/c/src/lib/libbsp/powerpc/mvme3100/Makefile.am +++ b/c/src/lib/libbsp/powerpc/mvme3100/Makefile.am @@ -42,7 +42,8 @@ rtems_crti.$(OBJEXT): ../../powerpc/shared/start/rtems_crti.S $(CPPASCOMPILE) -o $@ -c $< project_lib_DATA += rtems_crti.$(OBJEXT) -dist_project_lib_DATA += ../shared/startup/linkcmds +dist_project_lib_DATA += ../shared/startup/linkcmds.share +dist_project_lib_DATA += startup/linkcmds noinst_LIBRARIES = libbsp.a libbsp_a_SOURCES = diff --git a/c/src/lib/libbsp/powerpc/mvme3100/bsp_specs b/c/src/lib/libbsp/powerpc/mvme3100/bsp_specs index c6647045a9..2625609327 100644 --- a/c/src/lib/libbsp/powerpc/mvme3100/bsp_specs +++ b/c/src/lib/libbsp/powerpc/mvme3100/bsp_specs @@ -1,13 +1,9 @@ %rename endfile old_endfile %rename startfile old_startfile -%rename link old_link *startfile: %{!qrtems: %(old_startfile)} \ -%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s -e __rtems_entry_point -u __vectors motld_start.o%s}} +%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s}} *endfile: %{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s ecrtn.o%s} - -*link: -%{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic} diff --git a/c/src/lib/libbsp/powerpc/mvme3100/preinstall.am b/c/src/lib/libbsp/powerpc/mvme3100/preinstall.am index 16a7b9101f..ee5d767482 100644 --- a/c/src/lib/libbsp/powerpc/mvme3100/preinstall.am +++ b/c/src/lib/libbsp/powerpc/mvme3100/preinstall.am @@ -61,7 +61,11 @@ $(PROJECT_LIB)/rtems_crti.$(OBJEXT): rtems_crti.$(OBJEXT) $(PROJECT_LIB)/$(dirst $(INSTALL_DATA) $< $(PROJECT_LIB)/rtems_crti.$(OBJEXT) TMPINSTALL_FILES += $(PROJECT_LIB)/rtems_crti.$(OBJEXT) -$(PROJECT_LIB)/linkcmds: ../shared/startup/linkcmds $(PROJECT_LIB)/$(dirstamp) +$(PROJECT_LIB)/linkcmds.share: ../shared/startup/linkcmds.share $(PROJECT_LIB)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.share +PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.share + +$(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/mvme3100/startup/linkcmds b/c/src/lib/libbsp/powerpc/mvme3100/startup/linkcmds new file mode 100644 index 0000000000..b30fb91277 --- /dev/null +++ b/c/src/lib/libbsp/powerpc/mvme3100/startup/linkcmds @@ -0,0 +1,5 @@ +STARTUP(motld_start.o) +ENTRY(__rtems_entry_point) +EXTERN(__vectors) + +INCLUDE linkcmds.share diff --git a/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am b/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am index 7924eb0170..c257a9e72a 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am +++ b/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am @@ -16,8 +16,8 @@ DISTCLEANFILES = include/bspopts.h noinst_PROGRAMS = -### -dist_project_lib_DATA += ../shared/startup/linkcmds +dist_project_lib_DATA += ../shared/startup/linkcmds.share +dist_project_lib_DATA += startup/linkcmds noinst_LIBRARIES = libbsp.a libbsp_a_SOURCES = diff --git a/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs b/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs index 9528d878e6..2625609327 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs +++ b/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs @@ -1,13 +1,9 @@ %rename endfile old_endfile %rename startfile old_startfile -%rename link old_link *startfile: %{!qrtems: %(old_startfile)} \ -%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s -e __rtems_entry_point -u __vectors mvme5500start.o%s}} +%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s}} *endfile: %{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s ecrtn.o%s} - -*link: -%{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic} diff --git a/c/src/lib/libbsp/powerpc/mvme5500/preinstall.am b/c/src/lib/libbsp/powerpc/mvme5500/preinstall.am index 940b6fafd0..f2bf466b6f 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/preinstall.am +++ b/c/src/lib/libbsp/powerpc/mvme5500/preinstall.am @@ -53,7 +53,11 @@ $(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INC $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h -$(PROJECT_LIB)/linkcmds: ../shared/startup/linkcmds $(PROJECT_LIB)/$(dirstamp) +$(PROJECT_LIB)/linkcmds.share: ../shared/startup/linkcmds.share $(PROJECT_LIB)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.share +PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.share + +$(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/mvme5500/startup/linkcmds b/c/src/lib/libbsp/powerpc/mvme5500/startup/linkcmds new file mode 100644 index 0000000000..384b623474 --- /dev/null +++ b/c/src/lib/libbsp/powerpc/mvme5500/startup/linkcmds @@ -0,0 +1,5 @@ +STARTUP(mvme5500start.o) +ENTRY(__rtems_entry_point) +EXTERN(__vectors) + +INCLUDE linkcmds.share diff --git a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.share index a18382bd14..59f538e3a2 100644 --- a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.share @@ -1,7 +1,6 @@ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc") OUTPUT_ARCH(powerpc) -ENTRY(_start) /* Do we need any of these for elf? __DYNAMIC = 0; */ PROVIDE (__stack = 0); |