diff --git a/Makefile b/Makefile index 91f7c9272..b9805c77e 100644 --- a/Makefile +++ b/Makefile @@ -151,10 +151,9 @@ TF_CFLAGS += $(CPPFLAGS) $(TF_CFLAGS_$(ARCH)) \ -ffreestanding -fno-builtin -Wall -std=gnu99 \ -Os -ffunction-sections -fdata-sections -LDFLAGS += $(LDFLAGS_$(ARCH)) -LDFLAGS += --fatal-warnings -O1 -LDFLAGS += --gc-sections - +TF_LDFLAGS += --fatal-warnings -O1 +TF_LDFLAGS += --gc-sections +TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH)) ################################################################################ # Common sources and include directories diff --git a/docs/user-guide.md b/docs/user-guide.md index 1a07954af..0e9da35d6 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -385,6 +385,9 @@ performed. AArch64 and facilitates the loading of `SP_MIN` and BL33 as AArch32 executable images. +* `LDFLAGS`: Extra user options appended to the linkers' command line in + addition to the one set by the build system. + * `LOAD_IMAGE_V2`: Boolean option to enable support for new version (v2) of image loading, which provides more flexibility and scalability around what images are loaded and executed during boot. Default is 0. diff --git a/lib/cpus/cpu-ops.mk b/lib/cpus/cpu-ops.mk index 218a5482f..ad3297196 100644 --- a/lib/cpus/cpu-ops.mk +++ b/lib/cpus/cpu-ops.mk @@ -145,10 +145,10 @@ $(eval $(call add_define,ERRATA_A57_833471)) # Errata build flags ifneq (${ERRATA_A53_843419},0) -LDFLAGS_aarch64 += --fix-cortex-a53-843419 +TF_LDFLAGS_aarch64 += --fix-cortex-a53-843419 endif ifneq (${ERRATA_A53_835769},0) TF_CFLAGS_aarch64 += -mfix-cortex-a53-835769 -LDFLAGS_aarch64 += --fix-cortex-a53-835769 +TF_LDFLAGS_aarch64 += --fix-cortex-a53-835769 endif diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk index 34d82c9a3..aee045dee 100644 --- a/make_helpers/build_macros.mk +++ b/make_helpers/build_macros.mk @@ -313,8 +313,8 @@ else const char version_string[] = "${VERSION_STRING}";' | \ $$(CC) $$(TF_CFLAGS) $$(CFLAGS) -xc -c - -o $(BUILD_DIR)/build_message.o endif - $$(Q)$$(LD) -o $$@ $$(LDFLAGS) -Map=$(MAPFILE) --script $(LINKERFILE) \ - $(BUILD_DIR)/build_message.o $(OBJS) + $$(Q)$$(LD) -o $$@ $$(TF_LDFLAGS) $$(LDFLAGS) -Map=$(MAPFILE) \ + --script $(LINKERFILE) $(BUILD_DIR)/build_message.o $(OBJS) $(DUMP): $(ELF) @echo " OD $$@"