diff --git a/Makefile b/Makefile index 180c55842..ed45fa3fc 100644 --- a/Makefile +++ b/Makefile @@ -119,7 +119,7 @@ CC := ${CROSS_COMPILE}gcc CPP := ${CROSS_COMPILE}cpp AS := ${CROSS_COMPILE}gcc AR := ${CROSS_COMPILE}ar -LD := ${CROSS_COMPILE}ld +LINKER := ${CROSS_COMPILE}ld OC := ${CROSS_COMPILE}objcopy OD := ${CROSS_COMPILE}objdump NM := ${CROSS_COMPILE}nm @@ -128,8 +128,8 @@ DTC := dtc # Use ${LD}.bfd instead if it exists (as absolute path or together with $PATH). ifneq ($(strip $(wildcard ${LD}.bfd) \ - $(foreach dir,$(subst :, ,${PATH}),$(wildcard ${dir}/${LD}.bfd))),) -LD := ${LD}.bfd + $(foreach dir,$(subst :, ,${PATH}),$(wildcard ${dir}/${LINKER}.bfd))),) +LINKER := ${LINKER}.bfd endif ifeq (${ARM_ARCH_MAJOR},7) @@ -143,12 +143,15 @@ endif ifeq ($(notdir $(CC)),armclang) TF_CFLAGS_aarch32 = -target arm-arm-none-eabi $(march32-directive) TF_CFLAGS_aarch64 = -target aarch64-arm-none-eabi -march=armv8-a +LD = $(LINKER) else ifneq ($(findstring clang,$(notdir $(CC))),) TF_CFLAGS_aarch32 = $(target32-directive) TF_CFLAGS_aarch64 = -target aarch64-elf +LD = $(LINKER) else TF_CFLAGS_aarch32 = $(march32-directive) TF_CFLAGS_aarch64 = -march=armv8-a +LD = $(LINKER) endif TF_CFLAGS_aarch32 += -mno-unaligned-access