summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2017-12-20 14:38:28 -0600
committerJoel Sherrill <joel@rtems.org>2017-12-20 15:19:17 -0600
commit2f7a25c9cf54ed7e151f0c2d096029e072397916 (patch)
tree14ab8cd2dee11a4932fd73b055c8a0e73c0417ba
parentqemuppc: Simplify bsp_specs (diff)
downloadrtems-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.
-rw-r--r--c/src/lib/libbsp/powerpc/beatnik/Makefile.am3
-rw-r--r--c/src/lib/libbsp/powerpc/beatnik/bsp_specs6
-rw-r--r--c/src/lib/libbsp/powerpc/beatnik/preinstall.am6
-rw-r--r--c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds5
-rw-r--r--c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am3
-rw-r--r--c/src/lib/libbsp/powerpc/motorola_powerpc/bsp_specs7
-rw-r--r--c/src/lib/libbsp/powerpc/motorola_powerpc/preinstall.am6
-rw-r--r--c/src/lib/libbsp/powerpc/motorola_powerpc/startup/linkcmds6
-rw-r--r--c/src/lib/libbsp/powerpc/mvme3100/Makefile.am3
-rw-r--r--c/src/lib/libbsp/powerpc/mvme3100/bsp_specs6
-rw-r--r--c/src/lib/libbsp/powerpc/mvme3100/preinstall.am6
-rw-r--r--c/src/lib/libbsp/powerpc/mvme3100/startup/linkcmds5
-rw-r--r--c/src/lib/libbsp/powerpc/mvme5500/Makefile.am4
-rw-r--r--c/src/lib/libbsp/powerpc/mvme5500/bsp_specs6
-rw-r--r--c/src/lib/libbsp/powerpc/mvme5500/preinstall.am6
-rw-r--r--c/src/lib/libbsp/powerpc/mvme5500/startup/linkcmds5
-rw-r--r--c/src/lib/libbsp/powerpc/shared/startup/linkcmds.share (renamed from c/src/lib/libbsp/powerpc/shared/startup/linkcmds)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 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);