From: Govindraj Raja Date: Fri, 5 May 2023 14:09:36 +0000 (-0500) Subject: fix(build): allow lower address access with gcc-12 X-Git-Tag: baikal/aarch64/sdk5.10~1^2~33^2~1 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=dea23e245fb890c6c06eff7d1aed8fffa981fc05;p=arm-tf.git 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 --- diff --git a/Makefile b/Makefile index 7368ca59b..8caa5239a 100644 --- a/Makefile +++ b/Makefile @@ -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