JJerome ForissierUpdate CHANGELOG for 3.21.0
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
mk/aosp_optee.mk: Provide the ability to set CROSS_COMPILE* variables Provide the ability to set CROSS_COMPILE32/64 for AOSP build, since those may differ among different compilers. Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com> | 4 年前 | |
build: fix ld-option again Commit 5510db0b9458 ("build: ld-option: handle any linker warning as an error") fixed an issue when used with the GNU linker, but while doing so it broke the Clang use case. The problem is, the exit status tested by `|| echo "Not supported"' is the one from grep, not the one from the link command. The fix provided here is tested with GCC (ld) and Clang (ld.lld). Fixes: 5510db0b9458 ("build: ld-option: handle any linker warning as an error") Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> | 5 年前 | |
build: make 'force' macro more robust The 'force' macro can cause unexpected errors in some cases where the name of the configuration variable is preceded by a space: '$(call force, CFG_FOO,foo)' instead of '$(call force,CFG_FOO,foo)'. For example: $ make PLATFORM=imx-mx8mmevk CFG_STACK_{TMP,THREAD}_EXTRA=8192 \ CFG_CRYPTO_DRV_ACIPHER=y CFG_NXP_SE05X=y CFG_NXP_CAAM=y core/drivers/crypto/se050/crypto.mk:49: *** CFG_CRYPTO_DRV_ACIPHER is set to '' (from undefined) but its value must be 'y' [Mandated by CFG_NXP_SE05X_ACIPHER_DRV]. Stop. Fixing the callers is certainly a good thing to do (if only for consistency) but the current behavior is difficult to troubleshoot. Therefore, make the 'force' macro more robust by stripping any space around the variable name. Reported-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 5 年前 | |
clang.mk: fix build on AArch64 host When building on an AArch64 host and using OP-TEE's build.git [1], the AArch64 cross compiler prefix is "aarch64-linux-" instead of the usual "aarch64-linux-gnu-". This happens due to [2]. Clang still expects --target=aarch64-linux-gnu so for convenience map the prefix accordingly in mk/clang.mk. Link: [1] https://github.com/OP-TEE/build.git Link: [2] https://github.com/OP-TEE/build/blob/3.18.0/toolchain.mk#L97 Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
mk/cleandirs.mk: avoid print spurious empty lines Fixes the macro do-rm-f from outputting spurious empty lines if supplied a large list of files. Reviewed-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 7 年前 | |
mk: cleanvars.mk: clean spec-srcs var Clean $(spec-srcs) variable, as the value can be accumulated in ta/mk/build-user-ta.mk Fixes linking issues when multiple TAs are compiled as Early TAs (using CFG_IN_TREE_EARLY_TAS) $ make V=1 ... out/arm/ta/avb/user_ta_header.o:(.data+0x0): multiple definition of trace_level' out/arm/ta/avb/user_ta_header.o:(.data+0x0): first defined here out/arm/ta/avb/user_ta_header.o: In function tahead_get_trace_level': optee_os/out/arm/export-ta_arm32/src/user_ta_header.c:102: multiple definition of trace_ext_prefix' out/arm/ta/avb/user_ta_header.o:optee_os/out/arm/export-ta_arm32/src/user_ta_header.c:102: first defined here out/arm/ta/avb/user_ta_header.o: In function tahead_get_trace_level': optee_os/out/arm/export-ta_arm32/src/user_ta_header.c:102: multiple definition of ta_head' out/arm/ta/avb/user_ta_header.o:optee_os/out/arm/export-ta_arm32/src/user_ta_header.c:102: first defined here out/arm/ta/avb/user_ta_header.o: In function tahead_get_trace_level': optee_os/out/arm/export-ta_arm32/src/user_ta_header.c:102: multiple definition of ta_heap' out/arm/ta/avb/user_ta_header.o:optee_os/out/arm/export-ta_arm32/src/user_ta_header.c:102: first defined here out/arm/ta/avb/user_ta_header.o: In function tahead_get_trace_level': optee_os/out/arm/export-ta_arm32/src/user_ta_header.c:102: multiple definition of ta_heap_size' out/arm/ta/avb/user_ta_header.o:optee_os/out/arm/export-ta_arm32/src/user_ta_header.c:102: first defined here out/arm/ta/avb/user_ta_header.o: In function tahead_get_trace_level': optee_os/out/arm/export-ta_arm32/src/user_ta_header.c:102: multiple definition of `ta_props' Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org> | 7 年前 | |
mk/compile.mk: add -Ulinux -Uunix to dtb-cppflags Add -Ulinux and -Uunix to dtb-cppflags to fix two corner cases, where DTS file might contain properties like following: dma_coherent: coherent { compatible = "shared-dma-pool"; linux,dma-default; } Without these flags, C preprocessor will modify "linux,dma-default" to "1,dma-default" Signed-off-by: lei zhou <lei.zhou@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
Update CHANGELOG for 3.21.0 Update CHANGELOG for 3.21.0 and collect Tested-by tags. Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6dlsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6qsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6sllevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6sxsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6ulevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6ullevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6ulzevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx7dsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx7ulpevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mmevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mnevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mqevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mpevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8qmmek) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8qxpmek) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8ulpevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx93evk) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Juno) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_virt) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_armv8a) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (rockchip-rk3399) (RockPi4B) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (imx-mx8mqevk) Tested-by: Igor Opaniuk <igor.opaniuk@foundries.io> (Poplar) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (vexpress-fvp) Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm32mp1-157C_DK2) Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm32mp1-157C_EV1) Tested-by: Joakim Bech <joakim.bech@linaro.org> (RPi3B) Tested-by: Ricardo Salveti <ricardo@foundries.io> (ZynqMP) Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> | 3 年前 | |
ta: experimental C++ support Update the TA makefiles to support C++ (file extension: .cpp). This allows the use of C++ in TA and libraries, with limitations (see below). I consider this work experimental because it was only tested with simple cases in xtest, introducing the required changes and addressing issues one after another. Therefore, some features may be missing for more complex use cases (additional relocation types or runtime support...). Tested with the arm-linux-gnueabihf- and aarch64-linux-gnu- toolchains (GCC 8.3). Limitations: - Clang is not supported at the moment - Exception handling: shared libraries cannot throw, catch or propagate exceptions. Doing so would require linking the libraries and the main program with the shared libgcc [1] which is not straightforward due to the many dependencies on the GNU libc. Exceptions *can* be used in the main program however, as well as in static libraries directly linked with the main program. - ldelf stack unwinding does not support C++ frames so crash/panic dumps will likely be truncated when they involve C++ code. Link: [1] https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html see "-shared-libgcc" Tested-by: Jerome Forissier <jerome@forissier.org> (QEMU, QEMUv8, HiKey960) Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> | 5 年前 | |
mk/lib.mk: use full path to shared library in flags variable To add link flags for a shared library, a makefile variable is used that is called lib-ldflags$(libuuid). That's incorrect because the UUID is not enough to uniquely identify a shared library in the build. For example when both 32-bit and 64-bit user space is generated there are two versions of the shared library with the same UUID. It is not a problem at the moment because lib-ldflags$(libuuid) is used only for one target: ta_arm64, but fix this anyways so that the variable may be used for more complex cases. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
build: allow multiple occurrences of the same directory in subdirs-y This change enables adding the same directory several times to subdirs-y in sub.mk without causing warnings. This means we can now use patterns such as: subdirs-$(CFG_FOO) += foobar subdirs-$(CFG_BAR) += foobar Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> | 4 年前 |