CVE and update status of the FreeBSD ports tree4,526 unaddressed CVEs in 616 portsAll times are CET

Port details

devel/llvm-cheri17.0.d20261006

LLVM and Clang with support for the CHERI architecture

Maintainer
brooks@FreeBSD.org
Packages
llvm-cheri 17.0.d20261006
Upstream
up to date
CPE
llvm:llvm from the port
WWW
https://cheri-cpu.org
Links
cgit · VuXML

Unaddressed (0) · The CVE record lists this version as affected, no VuXML entry names the CVE

None. There is no CVE without a VuXML entry for this version.

VuXML only (0) · listed, port not fixed yet

None. pkg audit reports nothing for this version.

Fixed (0)

No VuXML entries for this package.

Commits (141)

Brooks Davis (brooks) · 17.0.d20261006
devel/llvm*: minor rework [NFC]

Consolidate all the _PATTERN variables in one location and define them
unconditionally.
e85cd16f10
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: new snapshots
9f3c49ad55
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: drop non-working llvm21 workaround
09efb97f96
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: new snapshots

Update CHERI and Morello LLVM compilers to new snapshots.

Attempt to fix builds with LLVM 21 by conditionally applying the patch
used with devel/llvm17.  I'm not applying it universally as llvm-morello
fails to compile with it on my 14.4-RELEASE test system.

Sponsored by:	DARPA, AFRL
8247b52ba4
Rene Ladan (rene)
all: drop support for FreeBSD 13, mips and risc64sf

Reviewed by:            many (*)
Differential Revision:  https://reviews.freebsd.org/D55624
Differential Revision:  https://reviews.freebsd.org/D55642 (merged in from bofh)

many (*)
  acm arrowd brooks cmt dch decke dinoex eduardo fluffy fuz gahr garga
  jbeich joerg jrm kai kenrap martymac matthew mfechner michaelo mizhka
  nobutaka pkubaj se tagattie thj

  Anton Saietskii
  GenericRikka
  Gert Doering
  Jan Bramkamp
  Oleh Hushchenkov
  Oleksandr Kryvulia
  Ralf van der Enden
  Yamagi

  desktop kde python tcltk office
2a7c056120
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: Remove obsolete patch

Both llvm-cheri and llvm-morello have been upgraded to LLVM 17 so we
don't need LLVM 15 patches.

Sponsored by:	DARPA, AFRL
1b4aeeacd4
Jessica Clarke (jrtc27)
devel/llvm-{cheri,morello}: new snapshots

Includes some initial sub-library compartmentalisation changes.
167617b6a4
Brooks Davis (brooks)
devel/llvm-cheri: new snapshot

Sponsored by:	DARPA, AFRL
dcdd54847b
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: new snapshots

Sponsored by:	DARPA, AFRL
83c3eed85f
Jessica Clarke (jrtc27)
devel/llvm-{cheri,morello}: Update distinfo for new snapshots

Missed in earlier commit.

Fixes:	0f4057007926 ("devel/llvm-{cheri,morello}: new snapshots")
2e1bb1c912
Jessica Clarke (jrtc27)
devel/llvm-{cheri,morello}: new snapshots

Various bug fixes, including for building V8 and Chromium.
0f40570079
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: new snapshots

Morello LLVM is now based on LLVM 17.

Clean up a remnant of the llvm-cheriot split (a19a05201688).
2362e49892
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: fix linker wrapper

Don't prepend -Wl, to the capreloc flags when invoking ld.

Reported by:	jrtc27
Sponsored by:	DARPA, AFRL
f8ac5c4406
Brooks Davis (brooks)
llvm-{cheri,morello}: use ELF capabiltiy relocations

This corresponds to CheriBSD commit c7bb34a499c7 and may have impacted
the build of static binaries for Morello.

Sponsored by:	DARPA, AFRL
47cd009b44
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: new snapshots, enable STATIC_LIBS

We've now got some reserarch partners who want to build compiler passes
so enable static libraries in the packages.

Sponsored by:	DARPA, AFRL
c1059c94e1
Brooks Davis (brooks)
devel/llvm-cheriot: break up with devel/llvm-cheri

There isn't enough commonality between llvm-cheri and llvm-cheriot due
to increasing version skew so give llvm-cheriot it's own Makefile.

No functional change intended.  Port version bumped due to WWW change.
Update to the latest version to follow immediately.
a19a052016
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: allow non-triple targets

aarch64 and aarch64-freebsd are both valid targets so remove all
attempts to validate the target in the wrapper script and slightly
expand the match for possible CHERI targets.

Reported by:	jhb
Suggestions from:	jrtc27
Sponsored by:	DARPA, AFRL
cbb0094aa1
Brooks Davis (brooks)
devel/llvm-cheriot: add missing depend on py-myst-parser
f2d41db250
Brooks Davis (brooks)
devel/llvm-{cheri*,morello}: new snapshots

Update llvm-cheri to a new LLVM 17 based snapshot, llvm-cheriot to an
LLVM 18 based snapshot, and llvm-morello to a snapshot with new function
pointer semantics to better support compartmentalization.

Update the wrapper script to enable the new function pointer semantics
on sufficently new CheriBSD system.

Sponsored by:	DARPA, AFRL
de86be4582
Brooks Davis (brooks)
llvm-{cheri,morello}: Fix wrapper script

grep -q exits when it's found a match so if it exits fast enough,
llvm-readelf might get a SIGPIPE which it failes to handle.  Avoid this
by using a redirect to /dev/null to silence grep instead of -q.

Submitted by:	def
cda8b6d4f4
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: align warning with base

FreeBSD's base llvm currently makes -Wimplicit-int and
-Wimplicit-function-declaration not produce errors by default  (see
c3450ad127e94d3fa67ae337310e59c002f51bfc) which means a chunk
of the ports collection depends on this behavior.  Until this is resolve
we need to mirror that behavior on CheriBSD.

Sponsored by:	DARPA, AFRL
91f85b5dcc
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: explain --start/end-no-unused-arguments use

I'd misunderstood the case where --start/end-no-unused-arguments were
needed in my previous commit.  Add a comment with the correct
explanation which is not future proofing, but instead that some
invocations of the compiler (e.g., clang -v) don't end up consuming
the -Xclang arguments.

Reported by:	jrtc27
Fixes:		1cf80317e3ec devel/llvm-{cheri,morello}: future-proof ABI arguments
283c8d9c70
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: future-proof ABI arguments

-Xclang arguments may become unused with never compiler versions so
bracket them with --start-no-unused-arguments/--end-no-unused-arguments
to silence warnings.

Reported by:	jrtc27
Sponsored by:	DARPA, AFRL
1cf80317e3
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: better target native ABI

Make the wrapper script for llvm-cheri and llvm-morello add the
necessicary ABI flags for the targeted CheriBSD version when targeting a
CHERI platform with a CheriBSD sysroot.

Normally Clang targets the native ABI when no arguments are given, but
on CheriBSD we currently run a hybrd CHERI LLVM on CHERI systems and
want to target purecap CHERI by default.  We also need to support
toolchain versions with different defaults and our ABI is evolving
rapidly as we explore fine-grained compartmentalization.  We have used
a prior version of this wrapper to build >10K packages for Morello.

While here, fix install when ${LOCALBASE}/llvm-* is not on the same
filesystem as ${LOCALBASE}.
68d58a0fbe
Brooks Davis (brooks)
devel/llvm-cheriot: Fix !CLANG plist

llvm-debuginfo-analyzer isn't part of Clang, but was matched by the
overly broad pattern `-analyzer`.

Reported by:	jrtc27
Sponsored by:	DARPA, AFRL
f3f26e7c84
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: add clang-tools-extras

This adds clangd among other things.

(Due to the port structure, this includes a graturious PORTREVISION bump
in llvm-cheriot.  It doesn't seem worth the effort to avoid at this
point.)
f7f5f916e6
Brooks Davis (brooks)
devel/llvm-cheri: Actually add files/llvm## to patches

Move condiationl EXTRA_PATCHES additions after bsd.port.pre.mk so
PATCHDIR is defined.

Sponsored by:	DARPA, AFRL
dab073e2c9
Brooks Davis (brooks)
devel/llvm-cheri: fix type

Reported by:	dvl
Fixes:		57f97b36a7cfe devel/llvm*: flip LICENSE_FILE_BSD3CLAUSE setting [NFC]
1afdc808e6
Brooks Davis (brooks)
devel/llvm*: flip LICENSE_FILE_BSD3CLAUSE setting [NFC]

The location of this license file moved in LLVM 16.  Since I'm doing
cleanup in this area and the split of ports is about 50/50, switch to
setting the old location in the older ports so the newer ports set fewer
variables.

Sponsored by:	DARPA, AFRL
57f97b36a7
Brooks Davis (brooks)
devel/llvm*: LICENSE_DIR simplification

WRKSRC moved to the top of the source tree with llvm12.  As a result,
LICENSE_DIR became ${WRKSRC}/llvm.  Given that llvm11 the only port that
wasn't setting LICENSE_DIR, flip the script and default to
${WRKSRC}/llvm with llvm11 overriding.

Sponsored by:	DARPA, AFRL
4f177eced7
Brooks Davis (brooks)
devel/llvm*: don't define the ARM license [NFC]

All LLVM ports excluded it from the list as it was removed many years
ago.

Sponsored by:	DARPA, AFRL
d17143d1b7
Brooks Davis (brooks)
devel/llvm*: Always define LLVM2 license [NFC]

All LLVM ports in the tree use the Apache License 2.0 with LLVM
Exceptions license so cerntralize the definition.

Sponsored by:	DARPA, AFRL
18840affe5
Brooks Davis (brooks)
devel/llvm-cheriot: remove stray patches

These patches apply to LLVM 13 and should have been removed when
llvm-cheriot was updated.

Fixes:		56f3450f8ac1 devel/llvm-cheriot: new LLVM 17 based snapshot
Sponsored by:	DARPA, AFRL
789df5a26d
Brooks Davis (brooks)
devel/llvm-cheriot: new LLVM 17 based snapshot

The CHERIoT LLVM baseline has been updated to LLVM 17.

Sponsored by:	DARPA, AFRL
56f3450f8a
Brooks Davis (brooks)
devel/llvm-cheri: minor tidying [NFC]

Align license section with other devel/llvm* ports.

Only add per-LLVM release patches if any exist.

Sponsored by:	DARPA, AFRL
f661b45b56
Brooks Davis (brooks)
devel/llvm-cheri: new snapshot

Sponsored by:	DARPA, AFRL
c85e97b990
Brooks Davis (brooks)
devel/llvm-morello: New LLVM 15 based snapshot

Arm has merged LLVM 15 changes into Morello LLVM.

Sponsored by:	DARPA, AFRL
958435241f
Brooks Davis (brooks)
devel/llvm-{cheri,cheriot,morello}: update

Update to the latest snapshots.

We've done OK so far with installing standard headers as part of
devel/llvm## ports so extend that to these ports.  This is certainly
correct for llvm-cheriot.  Practical testing is likely required for the
others.
ffb78cd004
Brooks Davis (brooks)
devel/llvm-{cheri,cheriot,morello}: link llvm-cxx{dump,filt}

These commands were some how not linked into bin long ago.  Correct
this error.

(Some other commands are also missing, but were specifically missing
llvm-cxxfilt).

Reported by:	jrtc27
Sponsoredy by:	AFRL, DARPA
06b0508fd4
Brooks Davis (brooks)
devel/llvm-{cheri,cheriot,morello}: new snapshots

Sponsored by:	AFRL, DARPA
0bd18d4aea
Brooks Davis (brooks)
devel/llvm-{cheri,cheriot,morello}: assorted fixups

Allow override of GH_PROJECT and GH_ACCOUNT[0] and fix GH_PROJECT in
llvm-cheriot.  No change in the source, but the filename is now
corrected.

Centralize include of Makefile.snapshot.

Reported by:	Irina Dudina <irina.dudina@ed.ac.uk>
0d92ee1e3b
Brooks Davis (brooks)
devel/llvm-{cheri,cheriot,morello}: XTOOLCHAIN option

Make the cross toolchain file optional and disable it completely for
cheriot where the compiler targets an architecture we'll ever support
(RV32E).
e96c049f28
Brooks Davis (brooks)
devel/llvm-{cheri,cheriot,morello}: new snapshots

Major changes:
    llvm-cheri: merge LLVM 15
    llvm-cheriot: switch the fork at github.com/CHERIoT-Platform
    llvm-morello: merge LLVM 14

Rework patching and filtering of commands and man pages to better
accomdate version skew between the different ports now that all three
have different bases.

Centralize the addition of ${.CURDIR}/files to EXTRA_PATCHS.
72ae5276b7
Muhammad Moinur Rahman (bofh)
devel/llvm*: Sanitize MANPREFIX

Not bumping as there is no change in PKG. This should have been done in
my previous commit.

Approved by:	portmgr (blanket)
1bf7d5ccf6
Muhammad Moinur Rahman (bofh)
devel/llvm-cheri: Sanitize MANPREFIX

Approved by:	brooks (private mail)
d1372a1b27
Brooks Davis (brooks)
devel/llvm-cheri: .sinclude Makefile.MAN1SRCS as it may not exist
4d3f74d884
Brooks Davis (brooks)
devel/llvm-{cheri,cheriot,morello}: fix for lld 17

Grab the patches from devel/llvm13 and devel/llvm14 to fix these ports
build with lld 17.

PR:		273959
6d28ea4938
Brooks Davis (brooks)
devel/llvm-cheri: append to SUB_FILES and SUB_LIST

Allow slave ports to add entries to these without having to do it after
the .include.
c55f7f2c83
Brooks Davis (brooks)
devel/llvm-cheri: use github if not using gitlab

This will support a port of the CHERIoT compiler which is hosted on
github.
ead37078aa
Brooks Davis (brooks)
devel/llvm-{cheri,morello}: update to new snapshots

llvm-cheri: a few months of updates and fixes
llvm-morello: support for Morello benchmarking ABI

Sponsored by:	DARPA
6e5a148457