From 8b2f31e7b4996aeda5976d87971afe6cf56bef83 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Tue, 10 Sep 2013 10:55:26 -0700 Subject: [PATCH] xcompile: only enforce BFD linker on x86 The ARM linker scripts work fine with the gold linker. This also requires to enhance the LINKER_SUFFIX variable with a platform suffix so that it can be different on ARMv7 and x86 BUG=none BRANCH=none TEST=boot tested on pit Change-Id: I7d3b57991b1e40d0305be3fc4bc63d322392d98e Signed-off-by: Stefan Reinauer Reviewed-on: https://chromium-review.googlesource.com/168771 Reviewed-by: Ronald Minnich Reviewed-by: Aaron Durbin --- util/xcompile/xcompile | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile index ff12217007..43b98e3062 100644 --- a/util/xcompile/xcompile +++ b/util/xcompile/xcompile @@ -94,10 +94,6 @@ 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"&& @@ -106,10 +102,15 @@ detect_special_flags() { CFLAGS="$CFLAGS -Wl,--build-id=none" 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' + ;; armv7 ) ARMFLAGS="" - testcc "$CC" "$CFLAGS $ARMFLAGS"&&CFLAGS="$CFLAGS $ARMFLAGS" - ;; + testcc "$CC" "$CFLAGS $ARMFLAGS" && CFLAGS="$CFLAGS $ARMFLAGS" + ;; esac } @@ -118,7 +119,7 @@ report_arch_toolchain() { # elf${TWIDTH}-${TBFDARCH} toolchain (${GCCPREFIX}gcc) CC_${TARCH}:=${GCCPREFIX}gcc ${CFLAGS} AS_${TARCH}:=${GCCPREFIX}as ${ASFLAGS} -LD_${TARCH}:=${GCCPREFIX}ld${LINKER_SUFFIX} ${LDFLAGS} +LD_${TARCH}:=${GCCPREFIX}ld$(eval echo \${LINKER_SUFFIX_${TARCH}}) ${LDFLAGS} NM_${TARCH}:=${GCCPREFIX}nm OBJCOPY_${TARCH}:=${GCCPREFIX}objcopy OBJDUMP_${TARCH}:=${GCCPREFIX}objdump