Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Jun 2024 11:43:48 -0400
From:      Ed Maste <emaste@freebsd.org>
To:        "freebsd-toolchain@FreeBSD.org" <freebsd-toolchain@freebsd.org>,  FreeBSD Hackers <freebsd-hackers@freebsd.org>, FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Heads-up: Migrating to LLVM binutils tools (ar, nm, addr2line, etc.) for FreeBSD 15.0
Message-ID:  <CAPyFy2A6jZbO%2B%2BPDk5bAip5wmxX7mCOseyCCAVzq%2BGEUcfw-KA@mail.gmail.com>
In-Reply-To: <CAPyFy2AP8b4QAU7S9_Yenj8VCWwrBUitRGAAuPiExiX3wBNu%2Bw@mail.gmail.com>
References:  <CAPyFy2AP8b4QAU7S9_Yenj8VCWwrBUitRGAAuPiExiX3wBNu%2Bw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 5 Jul 2021 at 11:09, Ed Maste <emaste@freebsd.org> wrote:
>
> FreeBSD migrated from GNU binutils to versions from ELF Tool Chain,
> starting in 2014. At that time there were no usable LLVM versions of
> those tools, but they have been developing rapidly since then. Now I
> think it may be prudent to migrate to the LLVM tools where they exist,
> for both functionality and maintainability reasons.

For the rest of the context see the thread at
https://lists.freebsd.org/archives/freebsd-hackers/2021-July/000111.html

> Potential next steps are:
> - Introduce new build knob

This was done by Alex Richardson in commit 021385aba562.

> - Iterate on exp-runs and call for testing

The exp-run is PR258872. There are five open bugs for ports failing to
build with LLVM_BINUTILS:

1. PR270421 graphics/librsvg2-rust

This needs to be fixed in the port -- it combines ports LLVM with base
system nm / ar, and they're not compatible for LTO.

2. PR270962 sysutils/stressdisk

This is an issue in llvm-strip -
https://github.com/llvm/llvm-project/issues/53999. For FreeBSD ports
the short-term workaround is probably to have it use GNU binutils
instead

3. PR270963 textproc/sxml

The PR has a patch that addresses the issue, but has some issues that
need to be addressed before being committed.

4. PR278172 lang/racket*
5. PR278895 lang/ghc

It's not clear to me what's happening for these two. Likely switch to
GNU binutils for them.

> - Switch to LLVM tools by default
> - Major release (14.0)

This clearly did not happen for FreeBSD 14.0, but I plan to do this before 15.0.

> - Retire knob, leaving only the LLVM implementation.

The knob would remain in place for at least one release; this will not
happen before 16.0.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPyFy2A6jZbO%2B%2BPDk5bAip5wmxX7mCOseyCCAVzq%2BGEUcfw-KA>