diff --git a/Makefile b/Makefile index f36b782a5..87ff22e72 100644 --- a/Makefile +++ b/Makefile @@ -100,14 +100,12 @@ HOSTCC := gcc export HOSTCC CC := ${CROSS_COMPILE}gcc -CPP := ${CROSS_COMPILE}cpp +CPP := ${CROSS_COMPILE}gcc -E AS := ${CROSS_COMPILE}gcc -AR := ${CROSS_COMPILE}ar +AR := ${CROSS_COMPILE}gcc-ar LINKER := ${CROSS_COMPILE}ld OC := ${CROSS_COMPILE}objcopy OD := ${CROSS_COMPILE}objdump -NM := ${CROSS_COMPILE}nm -PP := ${CROSS_COMPILE}gcc -E DTC := dtc # Use ${LD}.bfd instead if it exists (as absolute path or together with $PATH). @@ -187,7 +185,6 @@ ifneq ($(findstring clang,$(notdir $(CC))),) endif CPP := $(CC) -E $(TF_CFLAGS_$(ARCH)) - PP := $(CC) -E $(TF_CFLAGS_$(ARCH)) AS := $(CC) -c -x assembler-with-cpp $(TF_CFLAGS_$(ARCH)) else ifneq ($(findstring gcc,$(notdir $(CC))),) ifeq ($(ENABLE_LTO),1) @@ -356,6 +353,7 @@ ifneq ($(findstring armlink,$(notdir $(LD))),) # LD = gcc (used when GCC LTO is enabled) else ifneq ($(findstring gcc,$(notdir $(LD))),) # Pass ld options with Wl or Xlinker switches + TF_LDFLAGS += $(call ld_option,-Xlinker --no-warn-rwx-segments) TF_LDFLAGS += -Wl,--fatal-warnings -O1 TF_LDFLAGS += -Wl,--gc-sections diff --git a/changelog.yaml b/changelog.yaml index f67ad2924..35ffaa863 100644 --- a/changelog.yaml +++ b/changelog.yaml @@ -1,5 +1,5 @@ # -# Copyright (c) 2021-2023, Arm Limited. All rights reserved. +# Copyright (c) 2021-2024, Arm Limited. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -774,6 +774,9 @@ subsections: - title: PSCI scope: psci + - title: ROMlib + scope: romlib + - title: GPT scope: gpt diff --git a/lib/romlib/Makefile b/lib/romlib/Makefile index c3ddc5afb..3b62aaa15 100644 --- a/lib/romlib/Makefile +++ b/lib/romlib/Makefile @@ -1,14 +1,14 @@ # -# Copyright (c) 2018-2019, Arm Limited and Contributors. All rights reserved. +# Copyright (c) 2018-2024, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # -AS = $(CROSS_COMPILE)as -AR = $(CROSS_COMPILE)ar +AS = $(CROSS_COMPILE)gcc +AR = $(CROSS_COMPILE)gcc-ar LD = $(CROSS_COMPILE)ld OC = $(CROSS_COMPILE)objcopy -CPP = $(CROSS_COMPILE)cpp +CPP = $(CROSS_COMPILE)gcc -E ROMLIB_GEN = ./romlib_generator.py BUILD_DIR = $(BUILD_PLAT)/romlib LIB_DIR = $(BUILD_PLAT)/lib @@ -48,11 +48,11 @@ all: $(BUILD_DIR)/romlib.bin $(LIB_DIR)/libwrappers.a %.o: %.s @echo " AS $@" - $(Q)$(AS) $(ASFLAGS) -o $@ $< + $(Q)$(AS) -c $(ASFLAGS) -o $@ $< $(BUILD_DIR)/%.o: %.s @echo " AS $@" - $(Q)$(AS) $(ASFLAGS) -o $@ $< + $(Q)$(AS) -c $(ASFLAGS) -o $@ $< $(BUILD_DIR)/romlib.ld: romlib.ld.S @echo " PP $@" diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk index 08a604625..2d2f14116 100644 --- a/make_helpers/build_macros.mk +++ b/make_helpers/build_macros.mk @@ -1,5 +1,5 @@ # -# Copyright (c) 2015-2023, Arm Limited and Contributors. All rights reserved. +# Copyright (c) 2015-2024, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -101,9 +101,7 @@ endef # Convenience function to check for a given linker option. An call to # $(call ld_option, --no-XYZ) will return --no-XYZ if supported by the linker -define ld_option - $(shell if $(LD) $(1) -v >/dev/null 2>&1; then echo $(1); fi ) -endef +ld_option = $(shell $(LD) $(1) -Wl,--version >/dev/null 2>&1 || $(LD) $(1) -v >/dev/null 2>&1 && echo $(1)) # 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 @@ -658,7 +656,7 @@ $(eval DTBDEP := $(patsubst %.dtb,%.d,$(DOBJ))) $(DOBJ): $(2) $(filter-out %.d,$(MAKEFILE_LIST)) | fdt_dirs $${ECHO} " CPP $$<" $(eval DTBS := $(addprefix $(1)/,$(call SOURCES_TO_DTBS,$(2)))) - $$(Q)$$(PP) $$(DTC_CPPFLAGS) -MT $(DTBS) -MMD -MF $(DTSDEP) -o $(DPRE) $$< + $$(Q)$$(CPP) $$(DTC_CPPFLAGS) -MT $(DTBS) -MMD -MF $(DTSDEP) -o $(DPRE) $$< $${ECHO} " DTC $$<" $$(Q)$$(DTC) $$(DTC_FLAGS) -d $(DTBDEP) -o $$@ $(DPRE) diff --git a/plat/rockchip/rk3399/drivers/m0/Makefile b/plat/rockchip/rk3399/drivers/m0/Makefile index 79e09f0ef..71548ba81 100644 --- a/plat/rockchip/rk3399/drivers/m0/Makefile +++ b/plat/rockchip/rk3399/drivers/m0/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. +# Copyright (c) 2016-2024, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -40,11 +40,10 @@ LDFLAGS := -Wl,--gc-sections -Wl,--build-id=none # Cross tool CC := ${M0_CROSS_COMPILE}gcc -CPP := ${M0_CROSS_COMPILE}cpp -AR := ${M0_CROSS_COMPILE}ar +CPP := ${M0_CROSS_COMPILE}gcc -E +AR := ${M0_CROSS_COMPILE}gcc-ar OC := ${M0_CROSS_COMPILE}objcopy OD := ${M0_CROSS_COMPILE}objdump -NM := ${M0_CROSS_COMPILE}nm # NOTE: The line continuation '\' is required in the next define otherwise we # end up with a line-feed characer at the end of the last c filename. diff --git a/tools/renesas/rcar_layout_create/makefile b/tools/renesas/rcar_layout_create/makefile index d5857549b..01b3d62f4 100644 --- a/tools/renesas/rcar_layout_create/makefile +++ b/tools/renesas/rcar_layout_create/makefile @@ -113,8 +113,8 @@ $(OUTPUT_FILE_SA6) : $(MEMORY_DEF_SA6) $(OBJ_FILE_SA6) # Compile ################################################### -%.o:../%.c - $(CC) -c -I $< -o $@ +%.o: %.c + $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< .PHONY: clean clean: diff --git a/tools/renesas/rzg_layout_create/makefile b/tools/renesas/rzg_layout_create/makefile index 2d438b923..92a0557c0 100644 --- a/tools/renesas/rzg_layout_create/makefile +++ b/tools/renesas/rzg_layout_create/makefile @@ -110,8 +110,8 @@ $(OUTPUT_FILE_SA6) : $(MEMORY_DEF_SA6) $(OBJ_FILE_SA6) # Compile ################################################### -%.o:../%.c - $(CC) -c -I $< -o $@ +%.o: %.c + $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< .PHONY: clean clean: