diff options
author | Govindraj Raja <govindraj.raja@arm.com> | 2023-05-05 09:09:36 -0500 |
---|---|---|
committer | Manish Pandey <manish.pandey2@arm.com> | 2023-05-09 10:01:02 +0100 |
commit | dea23e245fb890c6c06eff7d1aed8fffa981fc05 (patch) | |
tree | 4d5dcef279f89262c95b506ecee516fcc58463ec | |
parent | 865aff3066f270d0890e85a69f6690f775b5bacc (diff) | |
download | arm-trusted-firmware-dea23e245fb890c6c06eff7d1aed8fffa981fc05.tar.gz |
fix(build): allow lower address access with gcc-12
With gcc-12 any lower address access can trigger a warning/error
this would be useful in other parts of system but in TF-A
there are various reasons to access to the lower address ranges,
example using mmio_read_*/writes_*
So setup to allow access to lower addresses while using gcc-12
Change-Id: Id1b4012b13bc6876d83b90a347fee12478a1921d
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | make_helpers/build_macros.mk | 6 |
2 files changed, 10 insertions, 0 deletions
@@ -414,6 +414,10 @@ ifeq ($(findstring clang,$(notdir $(CC))),) WARNINGS += -Wunused-but-set-variable -Wmaybe-uninitialized \ -Wpacked-bitfield-compat -Wshift-overflow=2 \ -Wlogical-op + +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 +TF_CFLAGS += $(call cc_option, --param=min-pagesize=0) + else # using clang WARNINGS += -Wshift-overflow -Wshift-sign-overflow \ diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk index 0c82a715a..9bf26f083 100644 --- a/make_helpers/build_macros.mk +++ b/make_helpers/build_macros.mk @@ -104,6 +104,12 @@ define ld_option $(shell if $(LD) $(1) -v >/dev/null 2>&1; then echo $(1); fi ) endef +# Convenience function to check for a given compiler option. A call to +# $(call cc_option, --no-XYZ) will return --no-XYZ if supported by the compiler +define cc_option + $(shell if $(CC) $(1) -c -x c /dev/null -o /dev/null >/dev/null 2>&1; then echo $(1); fi ) +endef + # CREATE_SEQ is a recursive function to create sequence of numbers from 1 to # $(2) and assign the sequence to $(1) define CREATE_SEQ |