diff options
| author | Khem Raj <raj.khem@gmail.com> | 2022-02-03 11:21:04 -0800 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2022-02-03 11:21:04 -0800 |
| commit | 92abd44335b84fc895ddc166694fe8b2a2783ae6 (patch) | |
| tree | c5e6544866933d9bf7ff8afcb92cd1e6bf72f6c8 /dynamic-layers | |
| parent | e755276318e2bfbae891aef7a1edd0c9c03a5873 (diff) | |
| download | meta-clang-92abd44335b84fc895ddc166694fe8b2a2783ae6.tar.gz | |
intel-mediasdk,optee-os-stm32mp: Use dynamic-layers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'dynamic-layers')
4 files changed, 107 insertions, 0 deletions
diff --git a/dynamic-layers/meta-intel/recipes-multimedia/mediasdk/intel-mediasdk/intel-mediasdk-20.5.1-no-lgcc.patch b/dynamic-layers/meta-intel/recipes-multimedia/mediasdk/intel-mediasdk/intel-mediasdk-20.5.1-no-lgcc.patch new file mode 100644 index 0000000..866dbcd --- /dev/null +++ b/dynamic-layers/meta-intel/recipes-multimedia/mediasdk/intel-mediasdk/intel-mediasdk-20.5.1-no-lgcc.patch | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | Author: Bernhard Rosenkraenzer <bernhard.rosenkraenzer.ext@huawei.com> | ||
| 2 | |||
| 3 | Remove -lgcc -- it's unneeded and breaks building with compiler-rt. | ||
| 4 | |||
| 5 | Signed-off-by: Bernhard Rosenkraenzer <bernhard.rosenkraenzer.ext@huawei.com> | ||
| 6 | Upstream-Status: Pending | ||
| 7 | |||
| 8 | diff -up git/builder/FindFunctions.cmake.omv~ git/builder/FindFunctions.cmake | ||
| 9 | --- git/builder/FindFunctions.cmake.omv~ 2021-06-03 20:35:11.230895070 +0200 | ||
| 10 | +++ git/builder/FindFunctions.cmake 2021-06-03 20:35:49.750360067 +0200 | ||
| 11 | @@ -200,10 +200,6 @@ function( make_library name variant type | ||
| 12 | set_target_properties( ${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BIN_DIR}/${CMAKE_BUILD_TYPE} FOLDER ${folder} ) | ||
| 13 | set_target_properties( ${target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_LIB_DIR}/${CMAKE_BUILD_TYPE} FOLDER ${folder} ) | ||
| 14 | |||
| 15 | - if( Linux ) | ||
| 16 | - target_link_libraries( ${target} "-lgcc" ) | ||
| 17 | - endif() | ||
| 18 | - | ||
| 19 | set( target ${target} PARENT_SCOPE ) | ||
| 20 | endfunction() | ||
| 21 | |||
| 22 | @@ -278,7 +274,7 @@ function( make_executable name variant ) | ||
| 23 | endforeach() | ||
| 24 | |||
| 25 | if( Linux ) | ||
| 26 | - target_link_libraries( ${target} "-Xlinker --end-group -lgcc" ) | ||
| 27 | + target_link_libraries( ${target} "-Xlinker --end-group" ) | ||
| 28 | endif() | ||
| 29 | |||
| 30 | set( target ${target} PARENT_SCOPE ) | ||
diff --git a/dynamic-layers/meta-intel/recipes-multimedia/mediasdk/intel-mediasdk_%.bbappend b/dynamic-layers/meta-intel/recipes-multimedia/mediasdk/intel-mediasdk_%.bbappend new file mode 100644 index 0000000..d070d03 --- /dev/null +++ b/dynamic-layers/meta-intel/recipes-multimedia/mediasdk/intel-mediasdk_%.bbappend | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
| 2 | |||
| 3 | SRC_URI_append_toolchain-clang = " file://intel-mediasdk-20.5.1-no-lgcc.patch" | ||
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 | ||
diff --git a/dynamic-layers/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp_%.bbappend b/dynamic-layers/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp_%.bbappend new file mode 100644 index 0000000..cb513d3 --- /dev/null +++ b/dynamic-layers/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp_%.bbappend | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
| 2 | |||
| 3 | SRC_URI_append_toolchain-clang = " file://optee-fix-build-with-clang.patch" | ||
| 4 | |||
| 5 | EXTRA_OEMAKE_append_toolchain-clang = "COMPILER=clang" | ||
| 6 | |||
| 7 | DEPENDS_append_toolchain-clang = "compiler-rt" | ||
