summaryrefslogtreecommitdiffstats
path: root/recipes-security/optee/optee-os/0002-link.mk-implement-support-for-libnames-after-libgcc-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-security/optee/optee-os/0002-link.mk-implement-support-for-libnames-after-libgcc-.patch')
-rw-r--r--recipes-security/optee/optee-os/0002-link.mk-implement-support-for-libnames-after-libgcc-.patch55
1 files changed, 0 insertions, 55 deletions
diff --git a/recipes-security/optee/optee-os/0002-link.mk-implement-support-for-libnames-after-libgcc-.patch b/recipes-security/optee/optee-os/0002-link.mk-implement-support-for-libnames-after-libgcc-.patch
deleted file mode 100644
index 11296c8c..00000000
--- a/recipes-security/optee/optee-os/0002-link.mk-implement-support-for-libnames-after-libgcc-.patch
+++ /dev/null
@@ -1,55 +0,0 @@
1Upstream-Status: Backport
2Signed-off-by: Ross Burton <ross.burton@arm.com>
3
4From 73196b58ea6978ffa5e581738030f51c5789ef73 Mon Sep 17 00:00:00 2001
5From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
6Date: Tue, 13 Oct 2020 22:54:13 +0300
7Subject: [PATCH 2/3] link.mk: implement support for libnames-after-libgcc
8 variable
9
10Newer versions of libgcc depend on external __getauxval() symbol, which is
11now provided by libutils. But libgcc is linked after libutils, so linker
12can't resolve that symbol. We can't include libgcc into linking group with
13libtutils, because libgcc provides symbols that conflict with libutil's
14ones, like __aeabi_idiv with friends for instance.
15
16So, to resolve libgcc dependency on libutils we need to link with libutils
17second time. To make things more generic, we will introduce
18$(libnames-after-libgcc) variable for libraries that should be linked after
19libgcc.
20
21Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
22Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
23Reviewed-by: Jerome Forissier <jerome@forissier.org>
24---
25 ta/arch/arm/link.mk | 6 +++++-
26 1 file changed, 5 insertions(+), 1 deletion(-)
27
28diff --git a/ta/arch/arm/link.mk b/ta/arch/arm/link.mk
29index 445c285d..3025acb1 100644
30--- a/ta/arch/arm/link.mk
31+++ b/ta/arch/arm/link.mk
32@@ -55,8 +55,11 @@ link-ldflags += --eh-frame-hdr
33 link-ldadd += $(libstdc++$(sm)) $(libgcc_eh$(sm))
34 endif
35 link-ldadd += --end-group
36-ldargs-$(user-ta-uuid).elf := $(link-ldflags) $(objs) $(link-ldadd) $(libgcc$(sm))
37
38+link-ldadd-after-libgcc += $(addprefix -l,$(libnames-after-libgcc))
39+
40+ldargs-$(user-ta-uuid).elf := $(link-ldflags) $(objs) $(link-ldadd) \
41+ $(libgcc$(sm)) $(link-ldadd-after-libgcc)
42
43 link-script-cppflags-$(sm) := \
44 $(filter-out $(CPPFLAGS_REMOVE) $(cppflags-remove), \
45@@ -76,6 +79,7 @@ $(link-script-pp$(sm)): $(link-script$(sm)) $(conf-file) $(link-script-pp-makefi
46 $(link-script-cppflags-$(sm)) $$< -o $$@
47
48 $(link-out-dir$(sm))/$(user-ta-uuid).elf: $(objs) $(libdeps) \
49+ $(libdeps-after-libgcc) \
50 $(link-script-pp$(sm)) \
51 $(dynlistdep) \
52 $(additional-link-deps)
53--
542.25.1
55