diff options
Diffstat (limited to 'dynamic-layers/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp/optee-fix-build-with-clang.patch')
-rw-r--r-- | dynamic-layers/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp/optee-fix-build-with-clang.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/dynamic-layers/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp/optee-fix-build-with-clang.patch b/dynamic-layers/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp/optee-fix-build-with-clang.patch new file mode 100644 index 0000000..6581d77 --- /dev/null +++ b/dynamic-layers/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp/optee-fix-build-with-clang.patch | |||
@@ -0,0 +1,67 @@ | |||
1 | From: Bernhard Rosenkraenzer <bernhard.rosenkraenzer.ext@huawei.com> | ||
2 | Subject: [optee-os-stm] Fix build with clang | ||
3 | |||
4 | Fix build with clang: No suffix to RCC_MP_ENCLRR_OFFSET (it's used | ||
5 | in assembly code), fix warning in mbedtls, look for compiler-rt | ||
6 | inside the sysroot instead of on the system | ||
7 | |||
8 | Signed-off-by: Bernhard Rosenkraenzer <bernhard.rosenkraenzer.ext@huawei.com> | ||
9 | Upstream-Status: Pending | ||
10 | |||
11 | diff -up git/core/include/drivers/stm32mp1_rcc.h.omv~ git/core/include/drivers/stm32mp1_rcc.h | ||
12 | --- git/core/include/drivers/stm32mp1_rcc.h.omv~ 2021-06-04 23:35:39.741212399 +0200 | ||
13 | +++ git/core/include/drivers/stm32mp1_rcc.h 2021-06-04 23:37:28.856900701 +0200 | ||
14 | @@ -280,10 +280,10 @@ | ||
15 | #define RCC_TIMGXPRER_TIMGXPRE BIT(0) | ||
16 | |||
17 | /* Offset between RCC_MP_xxxENSETR and RCC_MP_xxxENCLRR registers */ | ||
18 | -#define RCC_MP_ENCLRR_OFFSET 4u | ||
19 | +#define RCC_MP_ENCLRR_OFFSET 4 | ||
20 | |||
21 | /* Offset between RCC_MP_xxxRSTSETR and RCC_MP_xxxRSTCLRR registers */ | ||
22 | -#define RCC_MP_RSTCLRR_OFFSET 4u | ||
23 | +#define RCC_MP_RSTCLRR_OFFSET 4 | ||
24 | |||
25 | /* Fields of RCC_BDCR register */ | ||
26 | #define RCC_BDCR_LSEON BIT(0) | ||
27 | diff -up git/lib/libmbedtls/mbedtls/library/md5.c.omv~ git/lib/libmbedtls/mbedtls/library/md5.c | ||
28 | --- git/lib/libmbedtls/mbedtls/library/md5.c.omv~ 2021-06-04 23:35:39.742212415 +0200 | ||
29 | +++ git/lib/libmbedtls/mbedtls/library/md5.c 2021-06-04 23:37:28.857900716 +0200 | ||
30 | @@ -428,8 +428,8 @@ static const unsigned char md5_test_buf[ | ||
31 | { "message digest" }, | ||
32 | { "abcdefghijklmnopqrstuvwxyz" }, | ||
33 | { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" }, | ||
34 | - { "12345678901234567890123456789012345678901234567890123456789012" | ||
35 | - "345678901234567890" } | ||
36 | + { ("12345678901234567890123456789012345678901234567890123456789012" | ||
37 | + "345678901234567890") } | ||
38 | }; | ||
39 | |||
40 | static const size_t md5_test_buflen[7] = | ||
41 | diff -up git/mk/clang.mk.omv~ git/mk/clang.mk | ||
42 | --- git/mk/clang.mk.omv~ 2021-06-04 23:35:39.742212415 +0200 | ||
43 | +++ git/mk/clang.mk 2021-06-04 23:38:35.887937844 +0200 | ||
44 | @@ -25,10 +25,11 @@ nostdinc$(sm) := -nostdinc -isystem $(sh | ||
45 | comp-cflags-warns-clang := -Wno-language-extension-token \ | ||
46 | -Wno-gnu-zero-variadic-macro-arguments | ||
47 | |||
48 | +SYSROOT := $(shell echo $(CC) |sed -e 's,.*--sysroot=,,;s, .*,,g') | ||
49 | # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of | ||
50 | # libgcc for clang | ||
51 | -libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \ | ||
52 | - -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null) | ||
53 | +libgcc$(sm) := $(SYSROOT)/$(shell echo $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \ | ||
54 | + -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null) |sed -e 's,-arm\.a,-armhf.a,') | ||
55 | |||
56 | # Core ASLR relies on the executable being ready to run from its preferred load | ||
57 | # address, because some symbols are used before the MMU is enabled and the | ||
58 | @@ -36,7 +37,8 @@ libgcc$(sm) := $(shell $(CC$(sm)) $(CFLA | ||
59 | ldflag-apply-dynamic-relocs := --apply-dynamic-relocs | ||
60 | |||
61 | # Define these to something to discover accidental use | ||
62 | -CC := false | ||
63 | +# Not CC because we need it to determine SYSROOT | ||
64 | +#CC := false | ||
65 | CXX := false | ||
66 | CPP := false | ||
67 | LD := false | ||