u-boot/arch/arm/lib
Ilias Apalodimas c1eb7a993d arm: move _end to linker symbols
commit 6e2228fb05 ("Merge patch series "Clean up arm linker scripts")
was cleaning up linker scripts for armv7 and v8 but was leaving
_end and __secure_stack_start/end.

commit d0b5d9da5d ("arm: make _end compiler-generated")
was moving _end to be compiler generated. _end is defined as c variable
in its own section to force the compiler emit relative a reference.
However, defining those in the linker script will do the same thing
since [0].

So let's remove the special sections from the linker scripts, the
variable definitions from sections.c and define them as a symbols.
It's worth noting that _image_binary_end symbol is now redundant and
can be removed in the future.

- SPL

The .end section has been removed from the new binary
[ 5] .end
     PROGBITS         00000000fffdf488  000000000002f488  0
     0000000000000000 0000000000000000  0                 1
     [0000000000000003]: WRITE, ALLOC

$~ bloat-o-meter kria_old/spl/u-boot-spl krina_new/spl/u-boot-spl
add/remove: 0/0 grow/shrink: 0/0 up/down: 0/0 (0)
Function                                     old     new   delta
Total: Before=115980, After=115980, chg +0.00%

$~ readelf -sW kria_old/u-boot kria_new/u-boot | grep -w _end
 12047: 000000000813a0f0     0 OBJECT  GLOBAL DEFAULT   11 _end
 12047: 000000000813a118     0 NOTYPE  GLOBAL DEFAULT   11 _end

$~ readelf -sW kria_old/spl/u-boot-spl kria_new/spl/u-boot-spl | grep -w _end
  1605: 00000000fffdf488     0 OBJECT  GLOBAL DEFAULT    5 _end
  1603: 00000000fffdf498     0 NOTYPE  GLOBAL DEFAULT    4 _end

$~ readelf -sW old/u-boot new/u-boot | grep -w _end
  8847: 0000000000103710     0 OBJECT  GLOBAL DEFAULT   11 _end
  8847: 0000000000103738     0 NOTYPE  GLOBAL DEFAULT   11 _end

$~ readelf -sW old_v7/u-boot new_v7/u-boot | grep -w _end
 10638: 000da824     0 OBJECT  GLOBAL DEFAULT   10 _end
 10637: 000da84c     0 NOTYPE  GLOBAL DEFAULT   10 _end

- For both QEMU instances
$~ bloat-o-meter old/u-boot new/u-boot
add/remove: 0/0 grow/shrink: 1/0 up/down: 20/0 (20)
Function                                     old     new   delta
version_string                                50      70     +20
Total: Before=656915, After=656935, chg +0.00%

[0] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object")

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-07 16:20:29 -06:00
..
ashldi3.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ashrdi3.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
asm-offsets.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
asmdefs.h arm64: arch/arm/lib: Add optimized memset/memcpy/memmove functions 2021-09-24 07:48:06 -04:00
bdinfo.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
bitops.S arm: Use builtins for ffs/fls 2023-08-17 16:39:20 -04:00
bootm-fdt.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
bootm.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
cache-cp15.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
cache-pl310.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
cache.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
ccn504.S WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
cmd_boot.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
crt0.S arm32: Fix relocation of env_addr if POSITION_INDEPENDENT=y 2022-11-21 09:23:00 -05:00
crt0_64.S Migrate CUSTOM_SYS_INIT_SP_ADDR to Kconfig using system-constants.h 2022-06-06 12:09:19 -04:00
crt0_aarch64_efi.S efi_loader: set IMAGE_DLLCHARACTERISTICS_NX_COMPAT 2024-02-28 14:37:46 +01:00
crt0_arm_efi.S arm: separate .data and .text sections of EFI binaries 2024-02-28 14:39:27 +01:00
debug.S arm: Drop CONFIG_MMU 2023-02-07 14:33:48 -05:00
div0.c common: Move hang() to the same header as panic() 2020-01-17 17:53:40 -05:00
div64.S WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
eabi_compat.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
elf_aarch64_efi.lds efi_loader: add .rela sections to .text on arm64 2023-01-13 09:09:07 +01:00
elf_arm_efi.lds arm: separate .data and .text sections of EFI binaries 2024-02-28 14:39:27 +01:00
gic-v3-its.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
gic_64.S arm64: gic: Add power up sequence for GIC-600 2024-03-19 18:40:46 -04:00
image.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
interrupts.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
interrupts_64.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
interrupts_m.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
lib1funcs.S arm: lib: add __gnu_thumb1_case_si 2023-04-06 19:10:08 -04:00
lshrdi3.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile Revert "Merge patch series "pxe: Allow extlinux booting without CMDLINE enabled"" 2024-04-18 08:29:35 -06:00
memcpy-arm64.S arm64: arch/arm/lib: Add optimized memset/memcpy/memmove functions 2021-09-24 07:48:06 -04:00
memcpy.S arm: ARMv4 assembly compatibility 2022-09-02 13:40:42 -04:00
memset-arm64.S arm64: memset-arm64: Use simple memset when cache is disabled 2021-09-24 07:48:06 -04:00
memset.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
muldi3.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
psci-dt.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
reloc_aarch64_efi.c arm: Remove unused _relocate arguments 2018-07-19 16:31:36 -04:00
reloc_arm_efi.c arm: Remove unused _relocate arguments 2018-07-19 16:31:36 -04:00
relocate.S arm: Use the WEAK assembly entry point consistently 2022-12-06 15:30:30 -05:00
relocate_64.S Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00
reset.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
save_prev_bl_data.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
sections.c arm: move _end to linker symbols 2024-06-07 16:20:29 -06:00
semihosting.S arm: semihosting: Fix returning from traps on ARMv6 and lower 2023-11-10 12:52:28 -05:00
setjmp.S arm: ARMv4 assembly compatibility 2022-09-02 13:40:42 -04:00
setjmp_aarch64.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spl.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
stack.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
uldivmod.S SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
vectors.S arm: spl: Use separate fault handlers instead of a single common one 2024-01-11 21:19:25 -05:00
vectors_m.S Migrate CUSTOM_SYS_INIT_SP_ADDR to Kconfig using system-constants.h 2022-06-06 12:09:19 -04:00
xferlist.c arm: Get bloblist from boot arguments 2024-02-29 09:24:22 -05:00
xferlist.h arm: Get bloblist from boot arguments 2024-02-29 09:24:22 -05:00
zimage.c Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00