History log of /optee_os/ldelf/link.mk (Results 1 – 9 of 9)
Revision Date Author Comments
# 0ae5ef34 03-Apr-2025 Thomas Bourgoin <thomas.bourgoin@foss.st.com>

tree wide: fix header files dependencies in linker files

When linking with a generated linker script like kern.ld.S, dependencies
with header file are not regenerated.
Same issue as
commit acdc32afe

tree wide: fix header files dependencies in linker files

When linking with a generated linker script like kern.ld.S, dependencies
with header file are not regenerated.
Same issue as
commit acdc32afe18f ("mk/compile.mk: fix header dependency in .d file")

Add option -MP used to fix error generated when removing header files.

Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 45fecab0 06-Mar-2025 Jens Wiklander <jens.wiklander@linaro.org>

Deprecate libgcc for OP-TEE core and ldelf

By default turn of linking with ligcc for OP-TEE core and ldelf. This
allows building CFG_CORE_BTI=y and CFG_TA_BTI=n using a AArch64 cross
toolchain witho

Deprecate libgcc for OP-TEE core and ldelf

By default turn of linking with ligcc for OP-TEE core and ldelf. This
allows building CFG_CORE_BTI=y and CFG_TA_BTI=n using a AArch64 cross
toolchain without BTI enabled in libgcc.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


# 2f4d97e7 23-Aug-2022 Jerome Forissier <jerome.forissier@linaro.org>

core, ldelf: link: add --no-warn-execstack

When building for arm32 with GNU binutils 2.39, the linker outputs
warnings when generating some TEE core binaries (all_obj.o, init.o,
unpaged.o and tee.el

core, ldelf: link: add --no-warn-execstack

When building for arm32 with GNU binutils 2.39, the linker outputs
warnings when generating some TEE core binaries (all_obj.o, init.o,
unpaged.o and tee.elf) as well as ldelf.elf:

arm-poky-linux-gnueabi-ld.bfd: warning: atomic_a32.o: missing .note.GNU-stack section implies executable stack
arm-poky-linux-gnueabi-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

The permissions used when mapping the TEE core stacks do not depend on
any metadata found in the ELF file. Similarly when the TEE core loads
ldelf it already creates a non-executable stack regardless of ELF
information. Therefore we can safely ignore the warnings. This is done
by adding the '--no-warn-execstack' option.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 48685b6c 16-Dec-2021 Jerome Forissier <jerome@forissier.org>

arm64: bti: fail link phase if some objects do not support BTI

Adds the proper linker options (-z force-bti --fatal-warnings) to fail
the link if some object files lack the BTI feature bit when BTI

arm64: bti: fail link phase if some objects do not support BTI

Adds the proper linker options (-z force-bti --fatal-warnings) to fail
the link if some object files lack the BTI feature bit when BTI is
requested (CFG_CORE_BTI=Y, CFG_TA_BTI=y). The options are added for
tee.elf, ldelf.elf, in-tree TAs, in-tree user space shared libraries
(CFG_ULIBS_SHARED=y) as well as for external TAs and shared libraries
built with the dev kit.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Ruchika Gupta <ruchika.gupta@linaro.org>

show more ...


# a03cdefb 07-May-2020 Victor Chong <victor.chong@linaro.org>

link.mk: add missing $libgcc to ldargs

Add missing $libgcc arg to ldargs for ldelf, ta link.mk and ta
link_shlib.mk. This is required for the AOSP clang build to fix compile
errors like below:

ld.l

link.mk: add missing $libgcc to ldargs

Add missing $libgcc arg to ldargs for ldelf, ta link.mk and ta
link_shlib.mk. This is required for the AOSP clang build to fix compile
errors like below:

ld.lld: error: undefined symbol: __aeabi_mem*

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome@forissier.org>

show more ...


# 2d8d7e28 23-Oct-2019 Jerome Forissier <jerome@forissier.org>

ldelf: link.mk: add generated ldelf.map to $(cleanfiles)

Commit 7509ff7ce5e5 ("Add user mode ELF loader") omitted to add the
generated file $(O)/ldelf/ldelf.map to $(cleanfiles) and therefore
'make

ldelf: link.mk: add generated ldelf.map to $(cleanfiles)

Commit 7509ff7ce5e5 ("Add user mode ELF loader") omitted to add the
generated file $(O)/ldelf/ldelf.map to $(cleanfiles) and therefore
'make clean' leaves it intact. Fix that.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 2f6dffbd 02-Sep-2019 Jerome Forissier <jerome@forissier.org>

build: do not use -Wp with the preprocessor and use -o instead of a redirection

This patch cleans up the command line where we use the C preprocessor
to better reflect the documented usage in the GC

build: do not use -Wp with the preprocessor and use -o instead of a redirection

This patch cleans up the command line where we use the C preprocessor
to better reflect the documented usage in the GCC man page, thus
preparing for Clang support.

1. When invoking the C preprocessor, there is no need for -Wp to pass
arguments, so remove it.

2. -MD is not supposed to take a file name when passed to cpp. The
dependency output file name is overridden with -MF.

3. Lastly, it is better to use -o to specify the output file instead
of redirecting standard output, because if an error occurs during
preprocessing we don't want the output file to be created.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# df7712ba 21-Aug-2019 Jens Wiklander <jens.wiklander@linaro.org>

Remove ASM define for assembly files

Removes the ASM define for assembly files now that they rely on the
predefined macro __ASSEMBLER__ instead.

Reviewed-by: Jerome Forissier <jerome.forissier@lina

Remove ASM define for assembly files

Removes the ASM define for assembly files now that they rely on the
predefined macro __ASSEMBLER__ instead.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 7509ff7c 23-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

Add user mode ELF loader

Adds ldelf which loads user mode TAs while in user mode. The TA ELF file is
loaded and relocated by ldelf before the TA can be executed.

Reviewed-by: Jerome Forissier <jero

Add user mode ELF loader

Adds ldelf which loads user mode TAs while in user mode. The TA ELF file is
loaded and relocated by ldelf before the TA can be executed.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...