Created attachment 212358 [details]
Fix emulators/qemu-cheri build with lld 10.0.0
As reported in bug 244251, with clang and lld 10.0.0 the emulators/qemu-cheri port fails in the configure stage:
===> Configuring for qemu-cheri-0.d20191209_1
ERROR: We need to link the QEMU user mode binaries at a
specific text address. Unfortunately your linker
doesn't support either the -Ttext-segment option or
printing the default linker script with --verbose.
If you don't want the user mode binaries, pass the
--disable-user option to configure.
===> Script "configure" failed unexpectedly.
Please report the problem to brooks@FreeBSD.org [maintainer] and attach the
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1
This is because lld 10.0.0 no longer supports the -Ttext-segment option, and uses --image-base for similar functionality.
I am proposing a patch that makes the configure script check for the --image-base option first, then the -Ttext-segment option.
Build info is available at https://gitlab.com/swills/freebsd-ports/pipelines/130208888
A commit references this bug:
Date: Fri Mar 27 16:11:56 UTC 2020
New revision: 529267
Update qemu-cheri and llvm-cheri to recent snapshots.
* Fix build with llvm10 
* Remove the 256-bit capability version
* Add CHERI RISC-V
PR: 244768 
Submitted by: dim 
Sponsored by: DARPA
Committed. No MFH planned (users will want more frequent updates).