From 92abd44335b84fc895ddc166694fe8b2a2783ae6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 3 Feb 2022 11:21:04 -0800 Subject: intel-mediasdk,optee-os-stm32mp: Use dynamic-layers Signed-off-by: Khem Raj --- conf/layer.conf | 4 ++ .../intel-mediasdk-20.5.1-no-lgcc.patch | 30 ++++++++++ .../mediasdk/intel-mediasdk_%.bbappend | 3 + .../optee-fix-build-with-clang.patch | 67 ++++++++++++++++++++++ .../optee/optee-os-stm32mp_%.bbappend | 7 +++ .../intel-mediasdk-20.5.1-no-lgcc.patch | 30 ---------- .../mediasdk/intel-mediasdk_%.bbappend | 3 - .../optee-fix-build-with-clang.patch | 67 ---------------------- recipes-security/optee/optee-os-stm32mp_%.bbappend | 7 --- 9 files changed, 111 insertions(+), 107 deletions(-) create mode 100644 dynamic-layers/meta-intel/recipes-multimedia/mediasdk/intel-mediasdk/intel-mediasdk-20.5.1-no-lgcc.patch create mode 100644 dynamic-layers/meta-intel/recipes-multimedia/mediasdk/intel-mediasdk_%.bbappend create mode 100644 dynamic-layers/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp/optee-fix-build-with-clang.patch create mode 100644 dynamic-layers/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp_%.bbappend delete mode 100644 recipes-multimedia/mediasdk/intel-mediasdk/intel-mediasdk-20.5.1-no-lgcc.patch delete mode 100644 recipes-multimedia/mediasdk/intel-mediasdk_%.bbappend delete mode 100644 recipes-security/optee/optee-os-stm32mp/optee-fix-build-with-clang.patch delete mode 100644 recipes-security/optee/optee-os-stm32mp_%.bbappend diff --git a/conf/layer.conf b/conf/layer.conf index c095b30..2f9d6f8 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -17,6 +17,10 @@ BBFILES_DYNAMIC += " \ openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \ + stm-st-stm32mp:${LAYERDIR}/dynamic-layers/meta-st-stm32mp/recipes-*/*/*.bb \ + stm-st-stm32mp:${LAYERDIR}/dynamic-layers/meta-st-stm32mp/recipes-*/*/*.bbappend \ + intel:${LAYERDIR}/dynamic-layers/meta-intel/recipes-*/*/*.bb \ + intel:${LAYERDIR}/dynamic-layers/meta-intel/*/*/*.bbappend \ " PREFERRED_PROVIDER_libgcc-initial = "libgcc-initial" 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 @@ +Author: Bernhard Rosenkraenzer + +Remove -lgcc -- it's unneeded and breaks building with compiler-rt. + +Signed-off-by: Bernhard Rosenkraenzer +Upstream-Status: Pending + +diff -up git/builder/FindFunctions.cmake.omv~ git/builder/FindFunctions.cmake +--- git/builder/FindFunctions.cmake.omv~ 2021-06-03 20:35:11.230895070 +0200 ++++ git/builder/FindFunctions.cmake 2021-06-03 20:35:49.750360067 +0200 +@@ -200,10 +200,6 @@ function( make_library name variant type + set_target_properties( ${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BIN_DIR}/${CMAKE_BUILD_TYPE} FOLDER ${folder} ) + set_target_properties( ${target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_LIB_DIR}/${CMAKE_BUILD_TYPE} FOLDER ${folder} ) + +- if( Linux ) +- target_link_libraries( ${target} "-lgcc" ) +- endif() +- + set( target ${target} PARENT_SCOPE ) + endfunction() + +@@ -278,7 +274,7 @@ function( make_executable name variant ) + endforeach() + + if( Linux ) +- target_link_libraries( ${target} "-Xlinker --end-group -lgcc" ) ++ target_link_libraries( ${target} "-Xlinker --end-group" ) + endif() + + 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 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +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 @@ +From: Bernhard Rosenkraenzer +Subject: [optee-os-stm] Fix build with clang + +Fix build with clang: No suffix to RCC_MP_ENCLRR_OFFSET (it's used +in assembly code), fix warning in mbedtls, look for compiler-rt +inside the sysroot instead of on the system + +Signed-off-by: Bernhard Rosenkraenzer +Upstream-Status: Pending + +diff -up git/core/include/drivers/stm32mp1_rcc.h.omv~ git/core/include/drivers/stm32mp1_rcc.h +--- git/core/include/drivers/stm32mp1_rcc.h.omv~ 2021-06-04 23:35:39.741212399 +0200 ++++ git/core/include/drivers/stm32mp1_rcc.h 2021-06-04 23:37:28.856900701 +0200 +@@ -280,10 +280,10 @@ + #define RCC_TIMGXPRER_TIMGXPRE BIT(0) + + /* Offset between RCC_MP_xxxENSETR and RCC_MP_xxxENCLRR registers */ +-#define RCC_MP_ENCLRR_OFFSET 4u ++#define RCC_MP_ENCLRR_OFFSET 4 + + /* Offset between RCC_MP_xxxRSTSETR and RCC_MP_xxxRSTCLRR registers */ +-#define RCC_MP_RSTCLRR_OFFSET 4u ++#define RCC_MP_RSTCLRR_OFFSET 4 + + /* Fields of RCC_BDCR register */ + #define RCC_BDCR_LSEON BIT(0) +diff -up git/lib/libmbedtls/mbedtls/library/md5.c.omv~ git/lib/libmbedtls/mbedtls/library/md5.c +--- git/lib/libmbedtls/mbedtls/library/md5.c.omv~ 2021-06-04 23:35:39.742212415 +0200 ++++ git/lib/libmbedtls/mbedtls/library/md5.c 2021-06-04 23:37:28.857900716 +0200 +@@ -428,8 +428,8 @@ static const unsigned char md5_test_buf[ + { "message digest" }, + { "abcdefghijklmnopqrstuvwxyz" }, + { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" }, +- { "12345678901234567890123456789012345678901234567890123456789012" +- "345678901234567890" } ++ { ("12345678901234567890123456789012345678901234567890123456789012" ++ "345678901234567890") } + }; + + static const size_t md5_test_buflen[7] = +diff -up git/mk/clang.mk.omv~ git/mk/clang.mk +--- git/mk/clang.mk.omv~ 2021-06-04 23:35:39.742212415 +0200 ++++ git/mk/clang.mk 2021-06-04 23:38:35.887937844 +0200 +@@ -25,10 +25,11 @@ nostdinc$(sm) := -nostdinc -isystem $(sh + comp-cflags-warns-clang := -Wno-language-extension-token \ + -Wno-gnu-zero-variadic-macro-arguments + ++SYSROOT := $(shell echo $(CC) |sed -e 's,.*--sysroot=,,;s, .*,,g') + # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of + # libgcc for clang +-libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \ +- -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null) ++libgcc$(sm) := $(SYSROOT)/$(shell echo $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \ ++ -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null) |sed -e 's,-arm\.a,-armhf.a,') + + # Core ASLR relies on the executable being ready to run from its preferred load + # address, because some symbols are used before the MMU is enabled and the +@@ -36,7 +37,8 @@ libgcc$(sm) := $(shell $(CC$(sm)) $(CFLA + ldflag-apply-dynamic-relocs := --apply-dynamic-relocs + + # Define these to something to discover accidental use +-CC := false ++# Not CC because we need it to determine SYSROOT ++#CC := false + CXX := false + CPP := false + 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 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append_toolchain-clang = " file://optee-fix-build-with-clang.patch" + +EXTRA_OEMAKE_append_toolchain-clang = "COMPILER=clang" + +DEPENDS_append_toolchain-clang = "compiler-rt" diff --git a/recipes-multimedia/mediasdk/intel-mediasdk/intel-mediasdk-20.5.1-no-lgcc.patch b/recipes-multimedia/mediasdk/intel-mediasdk/intel-mediasdk-20.5.1-no-lgcc.patch deleted file mode 100644 index 866dbcd..0000000 --- a/recipes-multimedia/mediasdk/intel-mediasdk/intel-mediasdk-20.5.1-no-lgcc.patch +++ /dev/null @@ -1,30 +0,0 @@ -Author: Bernhard Rosenkraenzer - -Remove -lgcc -- it's unneeded and breaks building with compiler-rt. - -Signed-off-by: Bernhard Rosenkraenzer -Upstream-Status: Pending - -diff -up git/builder/FindFunctions.cmake.omv~ git/builder/FindFunctions.cmake ---- git/builder/FindFunctions.cmake.omv~ 2021-06-03 20:35:11.230895070 +0200 -+++ git/builder/FindFunctions.cmake 2021-06-03 20:35:49.750360067 +0200 -@@ -200,10 +200,6 @@ function( make_library name variant type - set_target_properties( ${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BIN_DIR}/${CMAKE_BUILD_TYPE} FOLDER ${folder} ) - set_target_properties( ${target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_LIB_DIR}/${CMAKE_BUILD_TYPE} FOLDER ${folder} ) - -- if( Linux ) -- target_link_libraries( ${target} "-lgcc" ) -- endif() -- - set( target ${target} PARENT_SCOPE ) - endfunction() - -@@ -278,7 +274,7 @@ function( make_executable name variant ) - endforeach() - - if( Linux ) -- target_link_libraries( ${target} "-Xlinker --end-group -lgcc" ) -+ target_link_libraries( ${target} "-Xlinker --end-group" ) - endif() - - set( target ${target} PARENT_SCOPE ) diff --git a/recipes-multimedia/mediasdk/intel-mediasdk_%.bbappend b/recipes-multimedia/mediasdk/intel-mediasdk_%.bbappend deleted file mode 100644 index d070d03..0000000 --- a/recipes-multimedia/mediasdk/intel-mediasdk_%.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI_append_toolchain-clang = " file://intel-mediasdk-20.5.1-no-lgcc.patch" diff --git a/recipes-security/optee/optee-os-stm32mp/optee-fix-build-with-clang.patch b/recipes-security/optee/optee-os-stm32mp/optee-fix-build-with-clang.patch deleted file mode 100644 index 6581d77..0000000 --- a/recipes-security/optee/optee-os-stm32mp/optee-fix-build-with-clang.patch +++ /dev/null @@ -1,67 +0,0 @@ -From: Bernhard Rosenkraenzer -Subject: [optee-os-stm] Fix build with clang - -Fix build with clang: No suffix to RCC_MP_ENCLRR_OFFSET (it's used -in assembly code), fix warning in mbedtls, look for compiler-rt -inside the sysroot instead of on the system - -Signed-off-by: Bernhard Rosenkraenzer -Upstream-Status: Pending - -diff -up git/core/include/drivers/stm32mp1_rcc.h.omv~ git/core/include/drivers/stm32mp1_rcc.h ---- git/core/include/drivers/stm32mp1_rcc.h.omv~ 2021-06-04 23:35:39.741212399 +0200 -+++ git/core/include/drivers/stm32mp1_rcc.h 2021-06-04 23:37:28.856900701 +0200 -@@ -280,10 +280,10 @@ - #define RCC_TIMGXPRER_TIMGXPRE BIT(0) - - /* Offset between RCC_MP_xxxENSETR and RCC_MP_xxxENCLRR registers */ --#define RCC_MP_ENCLRR_OFFSET 4u -+#define RCC_MP_ENCLRR_OFFSET 4 - - /* Offset between RCC_MP_xxxRSTSETR and RCC_MP_xxxRSTCLRR registers */ --#define RCC_MP_RSTCLRR_OFFSET 4u -+#define RCC_MP_RSTCLRR_OFFSET 4 - - /* Fields of RCC_BDCR register */ - #define RCC_BDCR_LSEON BIT(0) -diff -up git/lib/libmbedtls/mbedtls/library/md5.c.omv~ git/lib/libmbedtls/mbedtls/library/md5.c ---- git/lib/libmbedtls/mbedtls/library/md5.c.omv~ 2021-06-04 23:35:39.742212415 +0200 -+++ git/lib/libmbedtls/mbedtls/library/md5.c 2021-06-04 23:37:28.857900716 +0200 -@@ -428,8 +428,8 @@ static const unsigned char md5_test_buf[ - { "message digest" }, - { "abcdefghijklmnopqrstuvwxyz" }, - { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" }, -- { "12345678901234567890123456789012345678901234567890123456789012" -- "345678901234567890" } -+ { ("12345678901234567890123456789012345678901234567890123456789012" -+ "345678901234567890") } - }; - - static const size_t md5_test_buflen[7] = -diff -up git/mk/clang.mk.omv~ git/mk/clang.mk ---- git/mk/clang.mk.omv~ 2021-06-04 23:35:39.742212415 +0200 -+++ git/mk/clang.mk 2021-06-04 23:38:35.887937844 +0200 -@@ -25,10 +25,11 @@ nostdinc$(sm) := -nostdinc -isystem $(sh - comp-cflags-warns-clang := -Wno-language-extension-token \ - -Wno-gnu-zero-variadic-macro-arguments - -+SYSROOT := $(shell echo $(CC) |sed -e 's,.*--sysroot=,,;s, .*,,g') - # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of - # libgcc for clang --libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \ -- -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null) -+libgcc$(sm) := $(SYSROOT)/$(shell echo $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \ -+ -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null) |sed -e 's,-arm\.a,-armhf.a,') - - # Core ASLR relies on the executable being ready to run from its preferred load - # address, because some symbols are used before the MMU is enabled and the -@@ -36,7 +37,8 @@ libgcc$(sm) := $(shell $(CC$(sm)) $(CFLA - ldflag-apply-dynamic-relocs := --apply-dynamic-relocs - - # Define these to something to discover accidental use --CC := false -+# Not CC because we need it to determine SYSROOT -+#CC := false - CXX := false - CPP := false - LD := false diff --git a/recipes-security/optee/optee-os-stm32mp_%.bbappend b/recipes-security/optee/optee-os-stm32mp_%.bbappend deleted file mode 100644 index cb513d3..0000000 --- a/recipes-security/optee/optee-os-stm32mp_%.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI_append_toolchain-clang = " file://optee-fix-build-with-clang.patch" - -EXTRA_OEMAKE_append_toolchain-clang = "COMPILER=clang" - -DEPENDS_append_toolchain-clang = "compiler-rt" -- cgit v1.2.3-54-g00ecf