From dfd55f1fbd6fa26cc26439fbf4a5371027deb497 Mon Sep 17 00:00:00 2001 From: Han Shen Date: Tue, 24 Feb 2015 10:46:22 -0800 Subject: [PATCH] Force gnu bfd linker for coreboot. Gold Linker does not support properly customized ld script. BRANCH=none?? Is this correct? I am not sure of this. BUG=chromium:461220 TEST=build coreboot under rush_ryu Signed-off-by: Han Shen Change-Id: Ic2f5a8000d764ff7374aa1aaa00895dafb75f307 Reviewed-on: https://chromium-review.googlesource.com/252870 Reviewed-by: Julius Werner Reviewed-by: Aaron Durbin Commit-Queue: Han Shen Tested-by: Han Shen (cherry picked from commit 319365c7b11a5e48d8ecc5141b4b954c5533c85d) Signed-off-by: Julius Werner Reviewed-on: https://chromium-review.googlesource.com/255972 --- util/xcompile/xcompile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile index 442e36e7e2..6d609ecc63 100644 --- a/util/xcompile/xcompile +++ b/util/xcompile/xcompile @@ -94,6 +94,10 @@ detect_special_flags() { testcc "$CC" "$CFLAGS -Wno-unused-but-set-variable " && CFLAGS="$CFLAGS -Wno-unused-but-set-variable " + # Use bfd linker instead of gold if available: + testcc "$CC" "$CFLAGS -fuse-ld=bfd" && + CFLAGS="$CFLAGS -fuse-ld=bfd" && LINKER_SUFFIX='.bfd' + testcc "$CC" "$CFLAGS -Wa,--divide" && CFLAGS="$CFLAGS -Wa,--divide" testcc "$CC" "$CFLAGS -fno-stack-protector"&& @@ -103,9 +107,6 @@ detect_special_flags() { case "$architecture" in x86 ) - # Use bfd linker instead of gold if available: - testcc "$CC" "$CFLAGS -fuse-ld=bfd" && - CFLAGS="$CFLAGS -fuse-ld=bfd" && LINKER_SUFFIX_i386='.bfd' # Always build for i686 -- no sse/mmx instructions since SMM # modules are compiled using these flags. Note that this # doesn't prevent a project using xcompile to explicitly @@ -127,7 +128,7 @@ report_arch_toolchain() { # elf${TWIDTH}-${TBFDARCH} toolchain (${GCCPREFIX}gcc) CC_${TARCH}:=${GCCPREFIX}gcc ${CFLAGS} AS_${TARCH}:=${GCCPREFIX}as ${ASFLAGS} -LD_${TARCH}:=${GCCPREFIX}ld$(eval echo \${LINKER_SUFFIX_${TARCH}}) ${LDFLAGS} +LD_${TARCH}:=${GCCPREFIX}ld${LINKER_SUFFIX} ${LDFLAGS} NM_${TARCH}:=${GCCPREFIX}nm OBJCOPY_${TARCH}:=${GCCPREFIX}objcopy OBJDUMP_${TARCH}:=${GCCPREFIX}objdump