devel/llvm*: minor rework [NFC] Consolidate all the _PATTERN variables in one location and define them unconditionally.e85cd16f10
Port details
devel/llvm1717.0.6_13
LLVM and Clang
- Maintainer
- brooks@FreeBSD.org
- Packages
- llvm17 17.0.6_13, llvm17-lite 17.0.6_13
- Upstream
- up to date
- CPE
llvm:llvmfrom the port- WWW
- https://llvm.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 (46)
devel/llvm17: remove GOLD support binutils will remove gold in upcoming releases so drop support preemptively.dfce25ddae
devel/llvm17: Remove the LLDB option and fix plist with DOCS LLDB's Python script interpreter fails to build with Python 3.13 (_Py_IsFinalizing was removed), which blocks switching the default Python version to 3.13. Rather than patching an old debugger, remove the LLDB option as discussed in PR 292105: LLDB remains available from devel/llvm18 and later and from the base system. This also drops the swig build dependency and the lua53 and libedit library dependencies. While here, fix the plist with DOCS enabled: the openmp HTML documentation leaves an empty _sources directory behind, and check-plist fails with an orphaned directory. Remove it, as was done for devel/llvm12 in a4f732450dd3. Also drop lldb-tblgen.1 from the installed man pages: it documents an LLDB tool that is no longer built. PR: 2994264b25b30c15
devel/llvm[14-22]: backport powerpc64le patch from CURRENT Since 16.0, powerpc64le switches to IEEE long double binary128. This set of patches backports the change from CURRENT. LLVM 12 and 13 are omitted, because binary128 handling in those versions is not finished.2b4a774a8f
devel/llvm??: remove libxml2 discovery In commit af979dd126ff4 the dependency on libxml2 was removed. But libxml2 was still found for LLDB and used if it was present at configure time. PR: 295076 Submitted by: laurentd938342949
devel/llvm??: Bump PORTREVISION for 4fc6c5e1c9a4 PR: 295111b2fbc8d0f1
devel/llvm??: Add Mips back to standard backends
I'd forgotten that STANDARD_BACKENDS is includes _FREEBSD_BACKENDS so
Mips dropped out of the list when it was removed from _FREEBSD_BACKENDS.
PR: 295111
Fixes: 2a7c0561200c ("all: drop support for FreeBSD 13, mips and risc64sf")4fc6c5e1c9all: 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 office2a7c056120
devel/llvm17: fix build with clang 21
Recent versions of clang complain about explicit copy constructors,
leading to errors similar to:
/wrkdirs/usr/ports/devel/llvm17/work-default/llvm-project-17.0.6.src/llvm/tools/sancov/sancov.cpp
/wrkdirs/usr/ports/devel/llvm17/work-default/llvm-project-17.0.6.src/llvm/tools/sancov/sancov.cpp:521:42: error: chosen constructor is explicit in copy-initialization
521 | return SpecialCaseList::createOrDie({{ClIgnorelist}},
| ^~~~~~~~~~~~~~
/usr/include/c++/v1/string:1153:64: note: explicit constructor declared here
1153 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const _Tp& __t) {
| ^
/usr/include/c++/v1/__vector/vector.h:276:91: note: passing argument to parameter '__il' here
276 | _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI vector(initializer_list<value_type> __il) {
| ^
In this case, `ClIgnoreList` is an instance of `cl::opt`, not a
`std::string` as expected. Use `getValue()` to get the actual
`std::string` value.
PR: 292113
Approved by: brooks (maintainer)
MFH: 2026Q139d6b5aaafdevel/llvm1[4567]: keep backport patches local The patches generated by adding .patch to a github commit URL are unstable and the output of some of them changed recently. It's concivable this will be fixed, but they probably won't make any long term guarantees so store the patches in the ports tree instead of downloading them. PR: 292291 MFH: 2026Q1 Sponsored by: DARPA, AFRL See also: https://github.com/orgs/community/discussions/184094d5c827648e
devel/llvm17: don't build gold plugin when disabled Disabling the GOLD option didn't actually disable building the plugin, it just didn't install it in the package. Actually stop traversing into the directory when the option disabled so we don't end up needing devel/binutils. PR: 291247 Sponsored by: DARPA, AFRL01d933a448
python.mk: rename PYTHON_EXT_SUFFIX to PYTHON_TAG, document, etc EXT_SUFFIX, according to PEP 3149, refers to the full tag and extension for compiled extension module objects, eg .cpython-311.so, .cpython-313t.so, etc. We do not use the correct semantic meaning, and this usage becomes ambiguous and confusing when tags do not match between bytecode and compiled extension module objects. Rename our PYTHON_EXT_SUFFIX to PYTHON_TAG to align with PEP 3147's specification of a magic tag, which consists of implementation name and shorthand version only. This is meant for bytecode and other files containing this tag in their filename that do not depend on a specific Python ABI for the same version. Chase all existing consumers. Introduce PYTHON_SOABI to align with PEP 3149's specification of a tag, which consists of implementation name, shorthand version and any ABI flags present (this and PYTHON_TAG are identical without ABI flags). This is meant for compiled extension module objects and other files that depend on a specific Python ABI for the same version. Add documentation for these variables that our PYTHON_EXT_SUFFIX never had. PR: 274671 Event: Kitchener-Waterloo Hackathon 2025064f0eba1efd
devel/llvm17: backport flang fixes for llvm19 The FLANG option is off by default so this wasn't noted in the llvm19 import. Backport 7bc7672925f81 from upstream LLVM. The patches to fold-real.cpp and reduction-templates.h were hand applied. PR: 283966, 285195 Reported by: ohartmann@walstatt.org Submitted by: milios@ccsys.com62739e5a87
devel/llvm17: 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, AFRL11d0f00be1
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, AFRL57f97b36a7
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, AFRL4f177eced7devel/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, AFRLd17143d1b7
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, AFRL18840affe5
devel.llvm[12345678]: remove cmark conflict [NFC] The build conflict with cmark is no longer needed. PR: 239636, 2748487cea690fdd
devel/llvm[789]: restore arm_bf16.h to ARM backend arm_bf16.h is generated for both armv7 and aarch64 so move it back to ARM. We don't support AArch64 without ARM so we can just move it and not need to worry about duplicate supression (I'd previously fixed the issue in llvm19 in a more complicated manner so this change removes the duplicate supression and documents why it's not needed.) PR: 281179 Reported by: Mark Millard7ff7bac637
devel/llvm17: fix build with libc++ 19
As noted in the libc++ 19 release notes [1], std::char_traits<> is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.
This causes devel/llvm17 to fail to compile with clang 19 and libc++
19, resulting in errors similar to:
/usr/include/c++/v1/string:820:42: error: implicit instantiation of undefined template 'std::char_traits<unsigned char>'
820 | static_assert(is_same<_CharT, typename traits_type::char_type>::value,
| ^
/wrkdirs/usr/ports/devel/llvm17/work-default/llvm-project-17.0.6.src/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:634:34: note: in instantiation of template class 'std::basic_string<unsigned char>' requested here
634 | std::basic_string<uint8_t> zeros(reg_info.byte_size, '\0');
| ^
/usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared here
23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
| ^
Upstream llvm has fixed this in commit 68744ffbdd7d [2], so add this as
a PATCHFILES entry in the Makefile.
[1] https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals
[2] https://github.com/llvm/llvm-project/commit/68744ffbdd7d
PR: 280579
Approved by: brooks (maintainer)
MFH: 2024Q37624cbd8afdevel/llvm17: install all heaaders with clang Historically we've been unable to build FreeBSD with the full set due to conflicts and/or missing features between the compiler provided headers and FreeBSD's headers. I've verified that I can build world and kernel on the main, stable/14, and stable/13 branches for amd64 so let's give it another try in broader testing. PR: 274542b21e6b4de1
devel/llvm17: openmp Fix child processes affinity
Backport upstream 73bb8d9d92f6:
[OpenMP] Fix child processes to use affinity_none (#91391)
PR: 278843
Submitted by: cbl@cbl.usfdb8b5148cdevel/llvm*: Remove unnecessary C/CFLAGS definitions As of 3c5189a0fd4c82addfb659024bf28c5006bf88f7 there's no need to define DNDEBUG manually PR: 277909 Approved by: portmgr (maintainer timeout, 2+ weeks)1f50c8e242
devel/llvm17: aarch64 KASAN and lite flavor fixs As in the base system, backport: f577bfb99528 - [sanitizer][msan] fix AArch64 vararg support for KMSAN Expand STATIC_LIBS (part of the lite flavor) to include cmake bits. They aren't usable without the .a files they reference. PR: 271821345b4848d9
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
devel/llvm17: Sanitize MANPREFIX Approved by: brooks (private mail)0f77ef6101
devel/llvm14 devel/llvm15 devel/llvm16 devel/llvm17: fix build with clang 18 Clang 18 is more strict in checking inline assembly constraints, resulting in an error building devel/llvm14, devel/llvm15, devel/llvm16, and devel/llvm17: /wrkdirs/usr/ports/devel/llvm14/work-default/llvm-project-14.0.6.src/compiler-rt/lib/asan/asan_rtl_x86_64.S:130:286: error: displacement 70368744177664 is not within [-2147483648, 2147483647] This is fixed by two upstream commits: https://github.com/llvm/llvm-project/commit/b9935bb02a50 https://github.com/llvm/llvm-project/commit/966d564e43e6 PR: 276155 Approved by: brooks (maintainer) MFH: 2024Q10b672496d6
*/*: Sunset 12.4-RELEASE/12-STABLE from ports tree - Remove all references to defunct ARCH arm - Remove all references to defunct ARCH sparc64 - Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64 ARCH - Remove sysutils/afbinit requires defunct sparc64 ARCH - Remove all references to bktr driver - Remove all references to defunct FreeBSD_12 - Remove all references to OSVERSION/OSREL corresponding to 12 - Remove conditionals in Mk/Uses/cabal.mk - Remove sparc reference from Mk/Uses/qt-dist.mk - Remove BROKEN_sparc64/NOT_FOR_ARCH=sparc64 - Remove BROKEN_FreeBSD_12* from: - Remove OpenSSL patches from: - Remove conditional flags for OSVERSION >= 1300000 to fixed flags. Also move conditional flags for non sparc64/arm ARCH to fixed flags. Reviewed by: brooks, jbeich, rene, salvadore Differential Revision: https://reviews.freebsd.org/D42068bbab7f59e9
devel/llvm17: merge upstream llvm fixes These fixes were merged to the base LLVM compiler: 158f4f30adb4 [Clang] Do not change the type of captured vars when checking lambda constraints 3ed9e9e3ace6 [Clang] Add captures to the instantiation scope of lambda call operators6d4bc09d9c
devel/llvm1[234567]: enable qsort sanatizer wrapper I'd disabled it in 10.0.0 when it was found to be broken. It was then fixed in LLVM 12, but the patch was never never removed and I propogated it along for several year. Reported by: Brad Smith <brad@comstyle.com> See also: https://github.com/llvm/llvm-project/issues/46176270bf9855c
devel/llvm17: Update to 17.0.6
For changes, see:
https://discourse.llvm.org/t/llvm-17-0-6-released/75281
Of note __float128 support is now enabled for FreeBSD (and NetBSD)
targets).c706a8ac6fdevel/llvm17: Update to 17.0.5
For changes in this release, see:
https://discourse.llvm.org/t/llvm-17-0-5-released/749064ed60e0e51devel/llvm17: Update to 17.0.4
For included changes see:
https://discourse.llvm.org/t/llvm-17-0-4-released/7454839b25f5a92devel/llvm17: update to 17.0.3 See the release announcement for changes: https://discourse.llvm.org/t/llvm-17-0-3-released/74172de195b1dff
devel/llvm17: remove obsolete powerpc patch The lines immediatly below the inserted code do the same thing with more elegance. Technically this changes the package contents, but there is no functional change so don't make everyone build with a PORTREVSION bump. We'll do that soon enough when 17.0.3 comes out. Reported by: Brad Smith <brad@comstyle.com>2295fcc1d4
devel/llvm17: update to 17.0.2
For changes in this release see:
https://discourse.llvm.org/t/llvm-17-0-2-released/73840
Fix a duplicate listing of arm_sve.h. It is sufficent to include it only
in the Arm case becaues AArch64 always implies Arm in the port.024c4b5b1ddevel/llvm17: fix non-aarch64 plist issue arm_sme_draft_spec_subject_to_change.h is an aarch64-specific header. Reading the Cmakefiles, it appears arm_bf16.h and arm_sve.h are also aarch64 not arm specific so move them.778e212f23
devel/llvm17: fix openmp library depends Don't link with libffi. Reformat long or multi-line OPTION_FOO variables. PR: 273801 Co-authored-by: Ivan Rozhuk <rozhuk.im@gmail.com>4e16eb4b2b
devel/llvm17: Welcome 17.0.1 Welcome the first release of LLVM 17. See the release announcement for more details: https://discourse.llvm.org/t/llvm-17-0-1-released/73549 (Note that 17.0.0 was tagged, but contained an error so was not released.) Fix an issue where libffi would be linked if available by disabling it's use in OpenMP. [0] PR: 273801, 273947 Submitted by: Ivan Rozhuk <rozhuk.im@gmail.com> [0]6e04d1ad58
devel/llvm1*: remove cmake 4Python3_EXECUTABLE definition It is now defined in Mk/Uses/python.mk. PR: 2737137076fade2f
devel/llvm17: update to rc4 For a list of changes since rc3, see: https://discourse.llvm.org/t/llvm-17-0-0-rc4-released/73257 Reenable COMPILER_RT on aarch64 as the build issue I'm aware of was fixed by jrtc27.eb368deaef
devel/llvm17: update to RC3 For a list of changes, see: https://discourse.llvm.org/t/llvm-17-0-0-rc3-released/729466f2dc21677
devel/llvm17: Update to 17.0.0rc2 For changes see: https://discourse.llvm.org/t/llvm-17-0-0-rc2-released/72658 COMPILER_RT is currently disabled for aarch64 as it is broken due to https://github.com/llvm/llvm-project/issues/63418. Hopefully a fix will be found before the full release or I'll attempt use a smaller hammer that only disables ubsan.951826f3a7
devel/llvm17: Welcome 17.0.0rc1 The first release candidate of the LLVM 17 release. Polly is now enabled by default.f0d151bde8
devel/llvm17: bootstrap from devel/llvm16 Copy llvm16 unchanged except for the exclusion of patches backporting fixes from upstream LLVM. This aids diffing to the previous version.db44bb97e6