Page MenuHomeFreeBSD

usr.sbin/jail/Makefile: remove riscv linker workaround
ClosedPublic

Authored by mhorne on Feb 3 2026, 4:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Mar 5, 11:43 AM
Unknown Object (File)
Wed, Feb 25, 5:42 AM
Unknown Object (File)
Wed, Feb 18, 2:13 PM
Unknown Object (File)
Wed, Feb 18, 10:18 AM
Unknown Object (File)
Tue, Feb 17, 11:39 PM
Unknown Object (File)
Sat, Feb 14, 5:53 AM
Unknown Object (File)
Thu, Feb 12, 4:06 AM
Unknown Object (File)
Wed, Feb 11, 8:02 PM
Subscribers

Details

Summary

It links fine with newer GCC 15 + binutils 2.44, so the workaround can
be dropped.

PR: 242109
Sponsored by: The FreeBSD Foundation

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

mhorne requested review of this revision.Feb 3 2026, 4:01 PM
This revision is now accepted and ready to land.Feb 3 2026, 4:41 PM

We still have aarch64-gcc12 through aarch64-gcc14 in .cirrus.yml (and nothing newer), but I think the older GCC versions don't work for amd64 any longer either. This change is fine with me but I'll let @jhb comment on whether have to care about older GCC still.

We still have aarch64-gcc12 through aarch64-gcc14 in .cirrus.yml (and nothing newer), but I think the older GCC versions don't work for amd64 any longer either. This change is fine with me but I'll let @jhb comment on whether have to care about older GCC still.

The relevant bug was suspected to exist in ld.bfd, and observed with binutils 2.33.1. Perhaps the version of GCC has an effect too; I am not certain. But we use the same binutils 2.44 version in each case, so it's probably fine. I've reworded the commit message to be emphasize this.

A quick and dirty test succeeded with GCC 14 --- that is, I did: make CROSS_TOOLCHAIN=riscv64-gcc14 buildenv; make -C usr.sbin/jail clean; make -C usr.sbin/jail (not recompiling everything).

Older GCC work fine with amd64 still on main (though if it makes dim@'s life easier I'm happy to bump the minimum GCC version on main). Aarch64 doesn't compile with any version of GCC still. RISC-V kernels require GCC 15 and later for DTrace SDT probes.