kumquat-buildroot/boot
Louis Chauvet 23ad100915 boot/arm-trusted-firmware: fix the RPATH of fiptool
The arm-trusted-firmware package builds a host tool called "fiptool",
which is used during the build process of arm-trusted-firmware
itself. This tool links against the OpenSSL host library, and
therefore needs to be built with the correct RPATH pointing to
$HOST_DIR/lib.

This is why commit a957d9a90a
("boot/arm-trusted-firmware: build fiptool separately with dependency
o n host-openssl") added the ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL
variable, which builds the fiptool tool first, with the right
variables set, before invoking the full build of TF-A. This ensured
that fiptool was built with the correct RPATH.

However, more recent versions of TF-A have modified their Makefile
machinery, and fiptool is being rebuilt even if it was built
before. Unfortunately, this rebuild is no longer done with the right
flags, so we end up with a fiptool binary that no longer has the right
RPATH, and fiptool fails to find the OpenSSL libraries from
$HOST_DIR/lib.

In order to fix this, we take a different approach: we do not build
fiptool separately first, but we inject the necessary flags through
the HOSTCC variable. Indeed, there's no HOST_LDFLAGS or HOST_LDLIBS
variable or similar that would allow us to pass the -Wl,-rpath flag
that is needed. Shoe-horning this flag into HOSTCC gets the job done,
and actually simplifies our arm-trusted-firmware.mk.

This patch break the compatibility with version prior to 1.4 (upstream
commit 72610c4102990 ("build: Introduce HOSTCC flag")). v1.4 is very old
(July 2017), not used anymore in-tree and probably not used anymore
outside the tree.

Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
Co-authored-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit e7d16c35ae)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-01-03 12:05:33 +01:00
..
afboot-stm32 boot/afboot-stm32: disable stack-protector 2023-02-08 16:54:35 +01:00
arm-trusted-firmware boot/arm-trusted-firmware: fix the RPATH of fiptool 2024-01-03 12:05:33 +01:00
at91bootstrap boot/at91bootstrap: disable PIE and stack-protector build flags 2023-10-13 12:23:35 +02:00
at91bootstrap3 boot/at91bootstrap3: add svn repository method 2021-12-30 17:36:45 +01:00
at91dataflashboot boot/at91dataflashboot: force arm mode instead of Thumb mode 2023-09-10 23:36:11 +02:00
barebox boot/barebox: explicitly set the timezone for the kbuild timestamp 2023-02-06 11:57:08 +01:00
beaglev-ddrinit package/beaglev-ddrinit: update to latest 8d6318 2022-07-25 22:52:20 +02:00
beaglev-secondboot package/beaglev-secondboot: bump to version e17302 2022-07-26 00:11:13 +02:00
binaries-marvell boot, package, support, toolchain: switch to 2 spaces for the hash file 2022-07-28 23:05:23 +02:00
boot-wrapper-aarch64 package: replace git:// URLs with https:// URLs where possible 2022-04-02 19:21:57 +02:00
edk2 Merge branch 'next' 2022-12-05 10:01:26 +01:00
grub2 boot/grub2: backport fixes for numerous CVEs 2023-09-13 22:26:17 +02:00
lpc32xxcdl boot/lpc32xxcdl: rename patches with the proper naming convention 2021-12-11 20:48:58 +01:00
mv-ddr-marvell boot/mv-ddr-marvell: fix build with gcc 12 2023-09-12 08:22:28 +02:00
mxs-bootlets boot/mxs-bootlets: fix build without any bootstream 2023-02-27 17:03:15 +01:00
opensbi boot/opensbi: fix build with empty OPENSBI_PLAT 2023-02-22 15:55:33 +01:00
optee-os boot/optee-os: rewrap Config.in help text to fix check-package warning 2023-02-06 14:19:30 +01:00
s500-bootloader boot, package, support, toolchain: switch to 2 spaces for the hash file 2022-07-28 23:05:23 +02:00
shim boot, package, support, toolchain: switch to 2 spaces for the hash file 2022-07-28 23:05:23 +02:00
syslinux package/syslinux: disable documentation 2022-08-14 22:42:50 +02:00
ti-k3-r5-loader boot/ti-k3-r5-loader: drop bogus TI_K3_R5_LOADER_BOARD 2023-01-04 17:53:50 +01:00
uboot boot/uboot: add host-python-pylibfdt dependency if needed 2023-09-10 23:15:37 +02:00
vexpress-firmware support/download: change format of archives generated from git 2021-01-10 22:06:58 +01:00
common.mk
Config.in boot/gummiboot: remove package 2023-02-06 22:40:10 +01:00