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.
This commit is contained in:
Joel Sherrill
2017-12-20 14:38:28 -06:00
parent 0738a8498d
commit 2f7a25c9cf
17 changed files with 53 additions and 31 deletions

View File

@@ -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 =

View File

@@ -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}

View File

@@ -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

View File

@@ -0,0 +1,5 @@
STARTUP(motld_start.o)
ENTRY(__rtems_entry_point)
EXTERN(__vectors)
INCLUDE linkcmds.share

View File

@@ -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 =

View File

@@ -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}

View File

@@ -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

View File

@@ -0,0 +1,6 @@
INPUT(vectors_entry.o)
STARTUP(start.o)
ENTRY(__rtems_entry_point)
EXTERN(_vectors)
INCLUDE linkcmds.share

View File

@@ -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 =

View File

@@ -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}

View File

@@ -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

View File

@@ -0,0 +1,5 @@
STARTUP(motld_start.o)
ENTRY(__rtems_entry_point)
EXTERN(__vectors)
INCLUDE linkcmds.share

View File

@@ -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 =

View File

@@ -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}

View File

@@ -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

View File

@@ -0,0 +1,5 @@
STARTUP(mvme5500start.o)
ENTRY(__rtems_entry_point)
EXTERN(__vectors)
INCLUDE linkcmds.share

View File

@@ -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);