diff options
Diffstat (limited to 'recipes-bsp/arm-trusted-firmware/arm-trusted-firmware/0001-rockchip-Prevent-macro-expansion-in-paths.patch')
-rw-r--r-- | recipes-bsp/arm-trusted-firmware/arm-trusted-firmware/0001-rockchip-Prevent-macro-expansion-in-paths.patch | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware/0001-rockchip-Prevent-macro-expansion-in-paths.patch b/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware/0001-rockchip-Prevent-macro-expansion-in-paths.patch new file mode 100644 index 0000000..755b618 --- /dev/null +++ b/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware/0001-rockchip-Prevent-macro-expansion-in-paths.patch @@ -0,0 +1,94 @@ +From 39a97dce61aca9f618e28e26c6e441c8976f3172 Mon Sep 17 00:00:00 2001 +From: Joshua Watt <JPEWhacker@gmail.com> +Date: Fri, 13 Dec 2019 13:44:55 -0600 +Subject: [PATCH] rockchip: Prevent macro expansion in paths + +Instead of stringizing the paths to binary files, add them as string +defines on the command line (e.g. -DFOO=\"BAR\" instead of -DFOO=BAR). +This prevents macros from being expanded inside the string value itself. +For example, -DFOO=/path/with-linux-in-it would have been expanded to +"/path/with-1-in-it" because `linux=1` is one of the standard GCC +defines. + +Upstream-Status: Accepted [https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/2813] +Change-Id: I7b65df3c9930faed4f1aff75ad726982ae3671e6 +Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> +--- + plat/rockchip/rk3399/drivers/dp/cdn_dp.c | 2 +- + plat/rockchip/rk3399/drivers/pmu/pmu_fw.c | 24 +++++++++++------------ + plat/rockchip/rk3399/platform.mk | 6 +++--- + 3 files changed, 15 insertions(+), 17 deletions(-) + +diff --git a/plat/rockchip/rk3399/drivers/dp/cdn_dp.c b/plat/rockchip/rk3399/drivers/dp/cdn_dp.c +index aa71fdea..a8773f4f 100644 +--- a/plat/rockchip/rk3399/drivers/dp/cdn_dp.c ++++ b/plat/rockchip/rk3399/drivers/dp/cdn_dp.c +@@ -18,7 +18,7 @@ __asm__( + ".global hdcp_handler\n" + ".balign 4\n" + "hdcp_handler:\n" +- ".incbin \"" __XSTRING(HDCPFW) "\"\n" ++ ".incbin \"" HDCPFW "\"\n" + ".type hdcp_handler, %function\n" + ".size hdcp_handler, .- hdcp_handler\n" + ".popsection\n" +diff --git a/plat/rockchip/rk3399/drivers/pmu/pmu_fw.c b/plat/rockchip/rk3399/drivers/pmu/pmu_fw.c +index a09ad21e..25596b18 100644 +--- a/plat/rockchip/rk3399/drivers/pmu/pmu_fw.c ++++ b/plat/rockchip/rk3399/drivers/pmu/pmu_fw.c +@@ -5,20 +5,18 @@ + */ + + /* convoluted way to make sure that the define is pasted just the right way */ +-#define _INCBIN(file, sym, sec) \ ++#define INCBIN(file, sym, sec) \ + __asm__( \ +- ".section " #sec "\n" \ +- ".global " #sym "\n" \ +- ".type " #sym ", %object\n" \ ++ ".section " sec "\n" \ ++ ".global " sym "\n" \ ++ ".type " sym ", %object\n" \ + ".align 4\n" \ +- #sym ":\n" \ +- ".incbin \"" #file "\"\n" \ +- ".size " #sym ", .-" #sym "\n" \ +- ".global " #sym "_end\n" \ +- #sym "_end:\n" \ ++ sym ":\n" \ ++ ".incbin \"" file "\"\n" \ ++ ".size " sym ", .-" sym "\n" \ ++ ".global " sym "_end\n" \ ++ sym "_end:\n" \ + ) + +-#define INCBIN(file, sym, sec) _INCBIN(file, sym, sec) +- +-INCBIN(RK3399M0FW, rk3399m0_bin, ".sram.incbin"); +-INCBIN(RK3399M0PMUFW, rk3399m0pmu_bin, ".pmusram.incbin"); ++INCBIN(RK3399M0FW, "rk3399m0_bin", ".sram.incbin"); ++INCBIN(RK3399M0PMUFW, "rk3399m0pmu_bin", ".pmusram.incbin"); +diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk +index cfc48e8f..643c24f5 100644 +--- a/plat/rockchip/rk3399/platform.mk ++++ b/plat/rockchip/rk3399/platform.mk +@@ -82,13 +82,13 @@ PLAT_M0 := ${PLAT}m0 + BUILD_M0 := ${BUILD_PLAT}/m0 + + RK3399M0FW=${BUILD_M0}/${PLAT_M0}.bin +-$(eval $(call add_define,RK3399M0FW)) ++$(eval $(call add_define_val,RK3399M0FW,\"$(RK3399M0FW)\")) + + RK3399M0PMUFW=${BUILD_M0}/${PLAT_M0}pmu.bin +-$(eval $(call add_define,RK3399M0PMUFW)) ++$(eval $(call add_define_val,RK3399M0PMUFW,\"$(RK3399M0PMUFW)\")) + + HDCPFW=${RK_PLAT_SOC}/drivers/dp/hdcp.bin +-$(eval $(call add_define,HDCPFW)) ++$(eval $(call add_define_val,HDCPFW,\"$(HDCPFW)\")) + + # CCACHE_EXTRAFILES is needed because ccache doesn't handle .incbin + export CCACHE_EXTRAFILES +-- +2.23.0 + |