Skip site navigation (1)Skip section navigation (2)
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>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11 Sep 2021, at 15:43, Shawn Webb <shawn.webb@hardenedbsd.org> wrote:
>=20
> On Mon, Sep 06, 2021 at 09:24:02AM +0000, Alex Richardson wrote:
>> The branch main has been updated by arichardson:
>>=20
>> URL: =
https://cgit.FreeBSD.org/src/commit/?id=3D021385aba56279febcfdcc64d23673a0=
106ae45d
>>=20
>> 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
>>=20
>>    Add WITH_LLVM_BINUTILS to install LLVM binutils instead of =
Elftoolchain
>>=20
>>    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.
>>=20
>>    This is currently off by default but will be turned on by default =
at some
>>    point in the near future.
>=20
> Hey Alex,
>=20
> 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.
>=20
> 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+=3D	${TGHDRS} ${TGHDRS:C/$/.d/}
=20
 LIBADD+=3D	z
=20
+LINKS=3D		${BINDIR}/llvm-objcopy ${BINDIR}/llvm-strip
+
 .if ${MK_LLVM_BINUTILS} !=3D "no"
-LINKS=3D		${BINDIR}/llvm-objcopy ${BINDIR}/objcopy
+LINKS+=3D		${BINDIR}/llvm-objcopy ${BINDIR}/objcopy \
+		${BINDIR}/llvm-strip ${BINDIR}/strip
 MLINKS=3D		llvm-objcopy.1 objcopy.1
 .endif
=20
Can=E2=80=99t do MLINKS yet as there=E2=80=99s no generated manpage for =
llvm-strip; not
sure what the process is to generate them from the upstream .rst files
other than =E2=80=9Cask dim@ nicely=E2=80=9D.

Jess




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?712AB9FB-E2D8-490F-B9C8-CA9A7A654856>