diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2019-12-13 13:44:55 -0600 |
---|---|---|
committer | Joshua Watt <JPEWhacker@gmail.com> | 2019-12-13 14:13:45 -0600 |
commit | 39a97dce61aca9f618e28e26c6e441c8976f3172 (patch) | |
tree | 3b7139ab0a4bf93257543f1708db97a6ece63196 /plat/rockchip/rk3399 | |
parent | 1a433965afd5734cec1dbc9d5e3b878ccd3eb98c (diff) | |
download | trusted-firmware-a-39a97dce61aca9f618e28e26c6e441c8976f3172.tar.gz |
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.
Change-Id: I7b65df3c9930faed4f1aff75ad726982ae3671e6
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Diffstat (limited to 'plat/rockchip/rk3399')
-rw-r--r-- | plat/rockchip/rk3399/drivers/dp/cdn_dp.c | 2 | ||||
-rw-r--r-- | plat/rockchip/rk3399/drivers/pmu/pmu_fw.c | 24 | ||||
-rw-r--r-- | 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 aa71fdea6f..a8773f4f6f 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 a09ad21e87..25596b1880 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 cfc48e8f96..643c24f54f 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 |