]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
fix(build): allow lower address access with gcc-12
authorGovindraj Raja <govindraj.raja@arm.com>
Fri, 5 May 2023 14:09:36 +0000 (09:09 -0500)
committerManish Pandey <manish.pandey2@arm.com>
Tue, 9 May 2023 09:01:02 +0000 (10:01 +0100)
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>
Makefile
make_helpers/build_macros.mk

index 7368ca59b2ea03f16069343a8c3fcde97395bb5d..8caa5239ab44892b87b449e64775934505d5e6a3 100644 (file)
--- 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 \
index 0c82a715a58d1048da38aae566afff90b7b11a8d..9bf26f08362fe269504e3418caf564a7f05dc0b0 100644 (file)
@@ -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