Date: Sat, 11 Sep 2021 15:54:59 +0100 From: Jessica Clarke <jrtc27@freebsd.org> To: Shawn Webb <shawn.webb@hardenedbsd.org> Cc: Alex Richardson <arichardson@FreeBSD.org>, "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org> Subject: Re: git: 021385aba562 - main - Add WITH_LLVM_BINUTILS to install LLVM binutils instead of Elftoolchain Message-ID: <712AB9FB-E2D8-490F-B9C8-CA9A7A654856@freebsd.org> In-Reply-To: <20210911144340.pmpxca7obksc7v5g@mutt-hbsd> References: <202109060924.1869O2Dk045877@gitrepo.freebsd.org> <20210911144340.pmpxca7obksc7v5g@mutt-hbsd>
index | next in thread | previous in thread | raw e-mail
On 11 Sep 2021, at 15:43, Shawn Webb <shawn.webb@hardenedbsd.org> wrote: > > On Mon, Sep 06, 2021 at 09:24:02AM +0000, Alex Richardson wrote: >> The branch main has been updated by arichardson: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=021385aba56279febcfdcc64d23673a0106ae45d >> >> commit 021385aba56279febcfdcc64d23673a0106ae45d >> Author: Alex Richardson <arichardson@FreeBSD.org> >> AuthorDate: 2021-09-06 08:49:49 +0000 >> Commit: Alex Richardson <arichardson@FreeBSD.org> >> CommitDate: 2021-09-06 08:49:49 +0000 >> >> Add WITH_LLVM_BINUTILS to install LLVM binutils instead of Elftoolchain >> >> When WITH_LLVM_BINUTILS is set, we will install the LLVM binutils as >> ar/ranlib/nm/objcopy/etc. instead of the elftoolchain ones. >> Having the LLVM binutils instead of the elftoolchain ones allows us to use >> features such as LTO that depend on binutils that understand LLVM IR. >> Another benefit will be an improved user-experience when compiling with >> AddressSanitizer, since ASAN does not symbolize backtraces correctly if >> addr2line is elftoolchain addr2line instead of llvm-symbolizer. >> See https://lists.freebsd.org/archives/freebsd-toolchain/2021-July/000062.html >> for more details. >> >> This is currently off by default but will be turned on by default at some >> point in the near future. > > Hey Alex, > > It appears when MK_LLVM_BINUTILS is set, a strip binary/link doesn't > get installed. So /usr/bin/strip doesn't exist. This causes a problem > when building packages since even ports-mgmt/pkg relies on strip. > > I'm working on a candidate patch to fix this right now. But if you > beat me to the punch, all the better. ;-) I guess this: diff --git a/usr.bin/clang/llvm-objcopy/Makefile b/usr.bin/clang/llvm-objcopy/Makefile index 2e6fc8aba356..afd03b848b19 100644 --- a/usr.bin/clang/llvm-objcopy/Makefile +++ b/usr.bin/clang/llvm-objcopy/Makefile @@ -44,8 +44,11 @@ CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} LIBADD+= z +LINKS= ${BINDIR}/llvm-objcopy ${BINDIR}/llvm-strip + .if ${MK_LLVM_BINUTILS} != "no" -LINKS= ${BINDIR}/llvm-objcopy ${BINDIR}/objcopy +LINKS+= ${BINDIR}/llvm-objcopy ${BINDIR}/objcopy \ + ${BINDIR}/llvm-strip ${BINDIR}/strip MLINKS= llvm-objcopy.1 objcopy.1 .endif Can’t do MLINKS yet as there’s no generated manpage for llvm-strip; not sure what the process is to generate them from the upstream .rst files other than “ask dim@ nicely”. Jesshelp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?712AB9FB-E2D8-490F-B9C8-CA9A7A654856>
