Merge pull request #1008 from douglas-raillard-arm/dr/add_TF_LDFLAGS

Introduce TF_LDFLAGS and improve CFLAGS documentation
This commit is contained in:
danh-arm 2017-06-28 15:50:20 +01:00 committed by GitHub
commit 1979ee13a5
4 changed files with 18 additions and 9 deletions

View File

@ -151,10 +151,9 @@ TF_CFLAGS += $(CPPFLAGS) $(TF_CFLAGS_$(ARCH)) \
-ffreestanding -fno-builtin -Wall -std=gnu99 \ -ffreestanding -fno-builtin -Wall -std=gnu99 \
-Os -ffunction-sections -fdata-sections -Os -ffunction-sections -fdata-sections
LDFLAGS += $(LDFLAGS_$(ARCH)) TF_LDFLAGS += --fatal-warnings -O1
LDFLAGS += --fatal-warnings -O1 TF_LDFLAGS += --gc-sections
LDFLAGS += --gc-sections TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH))
################################################################################ ################################################################################
# Common sources and include directories # Common sources and include directories

View File

@ -269,6 +269,9 @@ performed.
* `BUILD_STRING`: Input string for VERSION_STRING, which allows the TF build * `BUILD_STRING`: Input string for VERSION_STRING, which allows the TF build
to be uniquely identified. Defaults to the current git commit id. to be uniquely identified. Defaults to the current git commit id.
* `CFLAGS`: Extra user options appended on the compiler's command line in
addition to the options set by the build system.
* `COLD_BOOT_SINGLE_CPU`: This option indicates whether the platform may * `COLD_BOOT_SINGLE_CPU`: This option indicates whether the platform may
release several CPUs out of reset. It can take either 0 (several CPUs may be release several CPUs out of reset. It can take either 0 (several CPUs may be
brought up) or 1 (only one CPU will ever be brought up during cold reset). brought up) or 1 (only one CPU will ever be brought up during cold reset).
@ -385,6 +388,9 @@ performed.
AArch64 and facilitates the loading of `SP_MIN` and BL33 as AArch32 executable AArch64 and facilitates the loading of `SP_MIN` and BL33 as AArch32 executable
images. 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 * `LOAD_IMAGE_V2`: Boolean option to enable support for new version (v2) of
image loading, which provides more flexibility and scalability around what image loading, which provides more flexibility and scalability around what
images are loaded and executed during boot. Default is 0. images are loaded and executed during boot. Default is 0.
@ -684,11 +690,15 @@ NOTE: Using `-O0` could cause output images to be larger and base addresses
might need to be recalculated (see the **Memory layout on ARM development might need to be recalculated (see the **Memory layout on ARM development
platforms** section in the [Firmware Design]). platforms** section in the [Firmware Design]).
Extra debug options can be passed to the build system by setting `CFLAGS`: Extra debug options can be passed to the build system by setting `CFLAGS` or
`LDFLAGS`:
CFLAGS='-O0 -gdwarf-2' \ CFLAGS='-O0 -gdwarf-2' \
make PLAT=<platform> DEBUG=1 V=1 all make PLAT=<platform> DEBUG=1 V=1 all
Note that using `-Wl,` style compilation driver options in `CFLAGS` will be
ignored as the linker is called directly.
It is also possible to introduce an infinite loop to help in debugging the It is also possible to introduce an infinite loop to help in debugging the
post-BL2 phase of the Trusted Firmware. This can be done by rebuilding BL1 with post-BL2 phase of the Trusted Firmware. This can be done by rebuilding BL1 with
the `SPIN_ON_BL1_EXIT=1` build flag. Refer to the "Summary of build options" the `SPIN_ON_BL1_EXIT=1` build flag. Refer to the "Summary of build options"

View File

@ -145,10 +145,10 @@ $(eval $(call add_define,ERRATA_A57_833471))
# Errata build flags # Errata build flags
ifneq (${ERRATA_A53_843419},0) ifneq (${ERRATA_A53_843419},0)
LDFLAGS_aarch64 += --fix-cortex-a53-843419 TF_LDFLAGS_aarch64 += --fix-cortex-a53-843419
endif endif
ifneq (${ERRATA_A53_835769},0) ifneq (${ERRATA_A53_835769},0)
TF_CFLAGS_aarch64 += -mfix-cortex-a53-835769 TF_CFLAGS_aarch64 += -mfix-cortex-a53-835769
LDFLAGS_aarch64 += --fix-cortex-a53-835769 TF_LDFLAGS_aarch64 += --fix-cortex-a53-835769
endif endif

View File

@ -313,8 +313,8 @@ else
const char version_string[] = "${VERSION_STRING}";' | \ const char version_string[] = "${VERSION_STRING}";' | \
$$(CC) $$(TF_CFLAGS) $$(CFLAGS) -xc -c - -o $(BUILD_DIR)/build_message.o $$(CC) $$(TF_CFLAGS) $$(CFLAGS) -xc -c - -o $(BUILD_DIR)/build_message.o
endif endif
$$(Q)$$(LD) -o $$@ $$(LDFLAGS) -Map=$(MAPFILE) --script $(LINKERFILE) \ $$(Q)$$(LD) -o $$@ $$(TF_LDFLAGS) $$(LDFLAGS) -Map=$(MAPFILE) \
$(BUILD_DIR)/build_message.o $(OBJS) --script $(LINKERFILE) $(BUILD_DIR)/build_message.o $(OBJS)
$(DUMP): $(ELF) $(DUMP): $(ELF)
@echo " OD $$@" @echo " OD $$@"