[PATCH 00/13] Remove dependency on ld --gc-section in PBL
Ahmad Fatoum
a.fatoum at pengutronix.de
Wed Oct 16 02:01:37 PDT 2024
We depend on -ffunction-sections -fdata-sections at a lot of places and
fail the link without due to undefined references. This is especially
needed for obj-pbl-y code as the files usually have other functions
depending on barebox proper infrastructure, but that is never called.
This works so far, but breaks for two things: LTO and using PBL on
sandbox. Both I have not managed to get the linker not to complain about
the undefined references in the ultimately unreferenced code.
Therefore, let's solve this a different way: Adjust the relevant headers
to define stubs when built for sandbox.
This has the nice side effect of compile testing the stubs during PBL
build, so forgotten semicolons are more likely to be noticed during
development instead of CI run.
Ahmad Fatoum (13):
kconfig: add IS_PROPER helper
lib: random: add stubs for PBL
bootsource: stub out when in PBL
crypto: provide crypto_memneq for PBL
cdev: stub out cdev_read/write for PBL
libfile: stub out file descriptor API for PBL
environment: stub out environment API for PBL
of: stub out live tree API when using PBL
errno: stub out perror/strerror API when built for PBL
xfuncs: stub out API when built for PBL
stdio: stub out basprintf and friends when built for PBL
memory: stub out request_barebox_region for PBL
malloc: add PBL stubs
common/bootsource.c | 2 +-
crypto/Makefile | 2 +-
include/driver.h | 24 ++++++++++++--
include/environment.h | 2 +-
include/errno.h | 10 ++++++
include/fcntl.h | 8 +++++
include/libfile.h | 7 ++++
include/linux/kconfig.h | 10 ++++++
include/linux/string.h | 7 ++++
include/malloc.h | 37 +++++++++++++++++++++
include/memory.h | 10 ++++++
include/of.h | 2 +-
include/stdio.h | 24 ++++++++++++--
include/stdlib.h | 19 ++++++++++-
include/unistd.h | 72 +++++++++++++++++++++++++++++++++++++++++
include/xfuncs.h | 19 +++++++++++
16 files changed, 246 insertions(+), 9 deletions(-)
--
2.39.5
More information about the barebox
mailing list