From f33d3b4db5f46fa37787e7c5bc5d2358573954f6 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 20 Dec 2017 11:36:13 -0600 Subject: gen5200, gen83xx, gen83x, mpc55xxevb, psim, qoriq, t32mppc, tqm8xx, virtex: Simplify bsp_specs These BSPs all use shared/startup/linkcmds.base and thus needed to be modified at the same time. Variations in the arguments were reflected into the BSP specific portions of the linkcmds. Updates #3520. --- c/src/lib/libbsp/powerpc/gen5200/bsp_specs | 6 +----- c/src/lib/libbsp/powerpc/gen83xx/bsp_specs | 7 +------ c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds | 2 ++ c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx | 2 ++ c/src/lib/libbsp/powerpc/mpc55xxevb/bsp_specs | 6 +----- c/src/lib/libbsp/powerpc/psim/bsp_specs | 7 +------ c/src/lib/libbsp/powerpc/psim/startup/linkcmds | 2 ++ c/src/lib/libbsp/powerpc/qoriq/bsp_specs | 6 +----- c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_0 | 2 ++ c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_1 | 2 ++ c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_e500 | 2 ++ c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_e6500_32 | 2 ++ c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base | 1 + c/src/lib/libbsp/powerpc/t32mppc/bsp_specs | 5 +---- c/src/lib/libbsp/powerpc/t32mppc/startup/linkcmds.t32mppc | 2 ++ c/src/lib/libbsp/powerpc/tqm8xx/bsp_specs | 6 +----- c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.base | 2 ++ c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.tqm8xx | 2 ++ c/src/lib/libbsp/powerpc/virtex/bsp_specs | 6 +----- c/src/lib/libbsp/powerpc/virtex/startup/linkcmds.in | 2 ++ 20 files changed, 31 insertions(+), 41 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/gen5200/bsp_specs b/c/src/lib/libbsp/powerpc/gen5200/bsp_specs index 6675d7b79c..2625609327 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/bsp_specs +++ b/c/src/lib/libbsp/powerpc/gen5200/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 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: -dc -dp -N} diff --git a/c/src/lib/libbsp/powerpc/gen83xx/bsp_specs b/c/src/lib/libbsp/powerpc/gen83xx/bsp_specs index a105a01260..a37ec281c8 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/bsp_specs +++ b/c/src/lib/libbsp/powerpc/gen83xx/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 start.o%s}} +%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s -u __vectors}} *endfile: %{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s ecrtn.o%s} - -*link: -%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -u __vectors} - diff --git a/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds b/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds index 9d7c4a8d36..094fdf51af 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds @@ -8,6 +8,8 @@ * be able to compile against this BSP. */ +EXTERN (__vectors) + MEMORY { RAM : ORIGIN = 0x0, LENGTH = 128M ROM : ORIGIN = 0xfe000000, LENGTH = 8M diff --git a/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx b/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx index 66430a8e61..4ddbcd6f76 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx +++ b/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx @@ -9,6 +9,8 @@ bsp_rom_end = bsp_rom_start + bsp_rom_size; IMMRBAR = 0xe0000000; mpc83xx = IMMRBAR; +EXTERN (__vectors) + MEMORY { EMPTY : ORIGIN = 0x0, LENGTH = 0 } diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/bsp_specs b/c/src/lib/libbsp/powerpc/mpc55xxevb/bsp_specs index 6675d7b79c..2625609327 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/bsp_specs +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/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 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: -dc -dp -N} diff --git a/c/src/lib/libbsp/powerpc/psim/bsp_specs b/c/src/lib/libbsp/powerpc/psim/bsp_specs index c8762610a3..2625609327 100644 --- a/c/src/lib/libbsp/powerpc/psim/bsp_specs +++ b/c/src/lib/libbsp/powerpc/psim/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 \ - start.o%s -e _start -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/psim/startup/linkcmds b/c/src/lib/libbsp/powerpc/psim/startup/linkcmds index 9c0f92ab4a..ba9319c91d 100644 --- a/c/src/lib/libbsp/powerpc/psim/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/psim/startup/linkcmds @@ -7,6 +7,8 @@ * http://www.rtems.org/license/LICENSE. */ +EXTERN (__vectors) + MEMORY { RAM : ORIGIN = 0, LENGTH = 16M EMPTY : ORIGIN = 0x0, LENGTH = 0 diff --git a/c/src/lib/libbsp/powerpc/qoriq/bsp_specs b/c/src/lib/libbsp/powerpc/qoriq/bsp_specs index 6e5bb08844..001c45b3c4 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/bsp_specs +++ b/c/src/lib/libbsp/powerpc/qoriq/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 start.o%s}} +%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s}} *endfile: %{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s rtems_crtn.o%s ecrtn.o%s} - -*link: -%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -u __vectors %(link_os)} diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_0 b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_0 index b27c10f4aa..80ae3937bf 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_0 +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_0 @@ -4,6 +4,8 @@ * @brief Memory map for QorIQ Core 0. */ +EXTERN (__vectors) + MEMORY { LOW : ORIGIN = 0x4000, LENGTH = 16M - 16k HIGH : ORIGIN = 0x1000000, LENGTH = 32M diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_1 b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_1 index 21a632b9f4..ecb601b9ef 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_1 +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_1 @@ -4,6 +4,8 @@ * @brief Memory map for QorIQ Core 1. */ +EXTERN (__vectors) + MEMORY { RAM : ORIGIN = 0x4000000, LENGTH = 64M EMPTY : ORIGIN = 0x0, LENGTH = 0 diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_e500 b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_e500 index 9d1fed2ff2..b727aefaa8 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_e500 +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_e500 @@ -4,6 +4,8 @@ * Memory map for P1020RDB. */ +EXTERN (__vectors) + MEMORY { LOW : ORIGIN = 0x4000, LENGTH = 16M - 16k HIGH : ORIGIN = 0x1000000, LENGTH = 512M - 16M diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_e6500_32 b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_e6500_32 index d143369dab..900147c163 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_e6500_32 +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_e6500_32 @@ -4,6 +4,8 @@ * Memory map for e6500 core based QorIQ chips, e.g. T2080, T4240. */ +EXTERN (__vectors) + MEMORY { LOW : ORIGIN = 0x00004000, LENGTH = 16M - 16k NOCACHE : ORIGIN = 0x01000000, LENGTH = 48M diff --git a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base index a9b0c24dff..200591722f 100644 --- a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base +++ b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base @@ -21,6 +21,7 @@ */ ENTRY (_start) +STARTUP (start.o) /* * Global symbols that may be defined externally diff --git a/c/src/lib/libbsp/powerpc/t32mppc/bsp_specs b/c/src/lib/libbsp/powerpc/t32mppc/bsp_specs index 92f6c582e8..f8bbffbdf6 100644 --- a/c/src/lib/libbsp/powerpc/t32mppc/bsp_specs +++ b/c/src/lib/libbsp/powerpc/t32mppc/bsp_specs @@ -4,11 +4,8 @@ *startfile: %{!qrtems: %(old_startfile)} \ -%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s 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: -dc -dp -u __vectors -N} - diff --git a/c/src/lib/libbsp/powerpc/t32mppc/startup/linkcmds.t32mppc b/c/src/lib/libbsp/powerpc/t32mppc/startup/linkcmds.t32mppc index 165412f03c..02367f57d0 100644 --- a/c/src/lib/libbsp/powerpc/t32mppc/startup/linkcmds.t32mppc +++ b/c/src/lib/libbsp/powerpc/t32mppc/startup/linkcmds.t32mppc @@ -1,3 +1,5 @@ +EXTERN (__vectors) + MEMORY { RAM : ORIGIN = 0x0, LENGTH = 128M EMPTY : ORIGIN = 0x0, LENGTH = 0 diff --git a/c/src/lib/libbsp/powerpc/tqm8xx/bsp_specs b/c/src/lib/libbsp/powerpc/tqm8xx/bsp_specs index 44f36add1f..b5cd6764ce 100644 --- a/c/src/lib/libbsp/powerpc/tqm8xx/bsp_specs +++ b/c/src/lib/libbsp/powerpc/tqm8xx/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 start.o%s -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: -dc -dp -N} diff --git a/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.base b/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.base index 6e473c59ef..3ad73f23f4 100644 --- a/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.base +++ b/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.base @@ -7,6 +7,8 @@ OUTPUT_FORMAT ("elf32-powerpc", "elf32-powerpc", "elf32-powerpc") OUTPUT_ARCH (powerpc) ENTRY (start) +STARTUP (start.o) +EXTERN (__vectors) bsp_ram_start = ORIGIN (RAM); bsp_ram_end = ORIGIN (RAM) + LENGTH (RAM); diff --git a/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.tqm8xx b/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.tqm8xx index d5668b67be..a830b687e5 100644 --- a/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.tqm8xx +++ b/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.tqm8xx @@ -4,6 +4,8 @@ * TQM8xx */ +EXTERN (__vectors) + TopRamReserved = DEFINED(TopRamReserved) ? TopRamReserved : 0; MEMORY { RAM : ORIGIN = 0x0, LENGTH = 128M diff --git a/c/src/lib/libbsp/powerpc/virtex/bsp_specs b/c/src/lib/libbsp/powerpc/virtex/bsp_specs index bfa43f384d..6cb546f392 100644 --- a/c/src/lib/libbsp/powerpc/virtex/bsp_specs +++ b/c/src/lib/libbsp/powerpc/virtex/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 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: -dc -dp -N -u __vectors} diff --git a/c/src/lib/libbsp/powerpc/virtex/startup/linkcmds.in b/c/src/lib/libbsp/powerpc/virtex/startup/linkcmds.in index 0de4cad1f9..13f9217e9d 100644 --- a/c/src/lib/libbsp/powerpc/virtex/startup/linkcmds.in +++ b/c/src/lib/libbsp/powerpc/virtex/startup/linkcmds.in @@ -1,3 +1,5 @@ +EXTERN (__vectors) + MEMORY { RAM : ORIGIN = @VIRTEX_RAM_ORIGIN@, LENGTH = @VIRTEX_RAM_LENGTH@ FAST_RAM : ORIGIN = @VIRTEX_FAST_RAM_ORIGIN@, LENGTH = @VIRTEX_FAST_RAM_LENGTH@ -- cgit v1.2.3