From 7793be975280a69f1c0bfb5fee3c6ec0da356a7f Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Sun, 19 Jan 2020 19:16:32 +0000 Subject: [PATCH] limit building GNU assembler (as) to x86 GNU as 2.17.50 is currently required by amd64 and i386 for at least one file that cannot be assembled by Clang's integrated assembler (IAS). Other supported CPU architectures either use Clang IAS for all assembly files, or rely on external toolchain. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23180 --- gnu/usr.bin/binutils/Makefile | 8 +++++++- tools/build/options/WITH_BINUTILS | 10 +++++----- tools/build/options/WITH_BINUTILS_BOOTSTRAP | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/gnu/usr.bin/binutils/Makefile b/gnu/usr.bin/binutils/Makefile index 6d0ef550caf8..7363a6f13924 100644 --- a/gnu/usr.bin/binutils/Makefile +++ b/gnu/usr.bin/binutils/Makefile @@ -8,9 +8,15 @@ SUBDIR= libiberty \ SUBDIR.${MK_BINUTILS}+= doc SUBDIR.${MK_BINUTILS}+= libbinutils -SUBDIR.${MK_BINUTILS}+= as SUBDIR.${MK_BINUTILS}+= objdump +# GNU as is used on x86 only, for a few files that cannot be assembled by +# Clang IAS. Other archs either use Clang IAS for every assembly file, or +# use external toolchain. +.if ${TARGET} == "amd64" || ${TARGET} == "i386" +SUBDIR.${MK_BINUTILS}+= as +.endif + # All archs except powerpc either use lld or require external toolchain. # powerpc still needs binutils ld to link 32-bit binaries. .if ${TARGET} == "powerpc" diff --git a/tools/build/options/WITH_BINUTILS b/tools/build/options/WITH_BINUTILS index e4dc9c3e34f7..92a6122b912c 100644 --- a/tools/build/options/WITH_BINUTILS +++ b/tools/build/options/WITH_BINUTILS @@ -1,8 +1,8 @@ .\" $FreeBSD$ -Set to build and install GNU -.Xr as 1 , +Build and install GNU +.Xr as 1 +on i386 and amd64, .Xr objdump 1 , -and, on powerpc, +and .Xr ld.bfd 1 -as part -of the normal system build. +on powerpc as part of the normal system build. diff --git a/tools/build/options/WITH_BINUTILS_BOOTSTRAP b/tools/build/options/WITH_BINUTILS_BOOTSTRAP index 1f938d9c5e9e..bfe604bfd58d 100644 --- a/tools/build/options/WITH_BINUTILS_BOOTSTRAP +++ b/tools/build/options/WITH_BINUTILS_BOOTSTRAP @@ -1,3 +1,3 @@ .\" $FreeBSD$ -Set build binutils (as, objdump, and on powerpc ld) +Build binutils (as on i386 and amd64, objdump, and ld on powerpc) as part of the bootstrap process.