[rtems commit] beatnik, motorola_powerpc, mvme3100, mvme5500: Simplify bsp_specs

Joel Sherrill joel at rtems.org
Fri Dec 22 16:02:29 UTC 2017


Module:    rtems
Branch:    master
Commit:    2f7a25c9cf54ed7e151f0c2d096029e072397916
Changeset: http://git.rtems.org/rtems/commit/?id=2f7a25c9cf54ed7e151f0c2d096029e072397916

Author:    Joel Sherrill <joel at rtems.org>
Date:      Wed Dec 20 14:38:28 2017 -0600

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.

---

 c/src/lib/libbsp/powerpc/beatnik/Makefile.am                       | 3 ++-
 c/src/lib/libbsp/powerpc/beatnik/bsp_specs                         | 6 +-----
 c/src/lib/libbsp/powerpc/beatnik/preinstall.am                     | 6 +++++-
 c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds                  | 5 +++++
 c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am              | 3 ++-
 c/src/lib/libbsp/powerpc/motorola_powerpc/bsp_specs                | 7 +------
 c/src/lib/libbsp/powerpc/motorola_powerpc/preinstall.am            | 6 +++++-
 c/src/lib/libbsp/powerpc/motorola_powerpc/startup/linkcmds         | 6 ++++++
 c/src/lib/libbsp/powerpc/mvme3100/Makefile.am                      | 3 ++-
 c/src/lib/libbsp/powerpc/mvme3100/bsp_specs                        | 6 +-----
 c/src/lib/libbsp/powerpc/mvme3100/preinstall.am                    | 6 +++++-
 c/src/lib/libbsp/powerpc/mvme3100/startup/linkcmds                 | 5 +++++
 c/src/lib/libbsp/powerpc/mvme5500/Makefile.am                      | 4 ++--
 c/src/lib/libbsp/powerpc/mvme5500/bsp_specs                        | 6 +-----
 c/src/lib/libbsp/powerpc/mvme5500/preinstall.am                    | 6 +++++-
 c/src/lib/libbsp/powerpc/mvme5500/startup/linkcmds                 | 5 +++++
 .../lib/libbsp/powerpc/shared/startup/{linkcmds => linkcmds.share} | 1 -
 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 115a79c..19d627c 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 c664704..99ca0ad 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 38d9b77..a80848a 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 0000000..b30fb91
--- /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 0eb1a18..fb4f9ca 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 2a245e9..2625609 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 5071a2d..6396cb5 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 0000000..ae44032
--- /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 a1bc9db..5f3024c 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 c664704..2625609 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 16a7b91..ee5d767 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 0000000..b30fb91
--- /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 7924eb0..c257a9e 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 9528d87..2625609 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 940b6fa..f2bf466 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 0000000..384b623
--- /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
similarity index 99%
rename from c/src/lib/libbsp/powerpc/shared/startup/linkcmds
rename to c/src/lib/libbsp/powerpc/shared/startup/linkcmds.share
index a18382b..59f538e 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);




More information about the vc mailing list