On Sat, Sep 11, 2021 at 03:54:59PM +0100, Jessica Clarke wrote: > On 11 Sep 2021, at 15:43, Shawn Webb <shawn.w...@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 <arichard...@freebsd.org> > >> AuthorDate: 2021-09-06 08:49:49 +0000 > >> Commit: Alex Richardson <arichard...@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”.
A patch I wrote, nearly exactly similar to yours works. I'd say just take yours. Thanks, -- Shawn Webb Cofounder / Security Engineer HardenedBSD https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc
signature.asc
Description: PGP signature