Commit Graph

701 Commits

Author SHA1 Message Date
John Ericson
62a46e824b llvm_18, lld_18: Patch to support more OpenBSD sections
Without these backports (I've ensured everything has landed upstream)
the OpenBSD binaries we build will not run.
2024-07-12 14:57:34 -04:00
Randy Eckenrode
94e2edea56 Merge pull request #325525 from reckenrode/lldb-fix-mk2 2024-07-10 09:59:37 -04:00
Tristan Ross
80e3c2c5d0 llvmPackages_{13,14,15,16,17,18,git}: commonify the default.nix 2024-07-08 17:21:53 -07:00
Tristan Ross
7a95a8948b Merge pull request #324155 from paparodeo/x64-sdk11-no-rebuilds
treewide: change various flags to allow x64 darwin to default to sdk 11.0 when ready
2024-07-08 17:19:17 -07:00
Randy Eckenrode
733b2bc01d llvmPackages.lldb: combine out and lib outputs on Darwin
LLDB expects to find the location of `bin` relative to `lib`. Patching
it to know the location would cause a cycle between the `out` output and
the `lib` output, so combine the two on Darwin.

Fixes https://github.com/NixOS/nixpkgs/issues/252838.
2024-07-08 07:52:26 -04:00
github-actions[bot]
9cede82051 Merge master into staging-next 2024-07-04 12:01:10 +00:00
Masum Reza
0c4a8b4f89 Merge pull request #320472 from rhelmot/freebsd-libunwind-mess
{llvm,freebsd.libcxxrt}: Sort out references to unwind functions
2024-07-04 16:43:06 +05:30
Reno Dakota
07cba9376f treewide: only access apple_sdk.sdk when sdk < 11
update code to not assume that x64 darwin uses sdk 10.12. These changes
want to reach into apple_sdk.sdk to grab a header file which is only
required for sdk 10.12.
2024-07-03 00:03:59 +00:00
Martin Weinelt
2096642430 Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
- pkgs/os-specific/windows/mingw-w64/default.nix
2024-06-23 19:09:00 +02:00
Yueh-Shun Li
eb572c420d clang-tools: move into llvmPackages 2024-06-23 01:34:26 +05:30
Rick van Schijndel
43ce0f9ee0 Merge pull request #318256 from risicle/ris-stack-clash-protection
cc-wrapper: add stack clash protection hardening flag
2024-06-19 19:54:30 +02:00
K900
00e78b2c9a Merge pull request #319047 from K900/mesa-chop
mesa: split out the Darwin build into a separate expression
2024-06-18 23:43:19 +03:00
Artemis Tosini
f76271c4df llvm: Don't use libunwind on FreeBSD
Native builds on nixpkgs FreeBSD always use llvm's libc++ as the
C++ standard library, with libcxxrt and "libgcc" from the FreeBSD tree
providing lower level ABI functions.

However, the cross LLVM stdenv assumed that we wanted libunwind instead
of libgcc. As libgcc headers are already in FreeBSD's libc, some C++
functions failed with duplicate header errors.

Disable all references to libunwind in libcxx on FreeBSD and the LLVM
cross stdenvs for FreeBSD.
2024-06-17 00:35:55 -07:00
Peter Waller
0c3c6d879f llvmPackages.clang: don't pass -Wno-maybe-uninitialized to clang
If building clang under clang, don't pass -Wno-maybe-uninitialized;
this is a gcc-only warning and clang emits a diagnostic for every TU
about the unknown warning flag.

Signed-off-by: Peter Waller <p@pwaller.net>
2024-06-16 16:00:01 +01:00
K900
f9723bc4de treewide: get rid of ~all mesa.{drivers,osmesa,libdrm} references
mesa.drivers is basically an implementation detail and should never be used
as a dependency of other expressions. It also no longer exists on Darwin.

mesa.osmesa is very niche and should generally be avoided.

mesa.libdrm is used in exactly one place and it's irrelevant there.
2024-06-15 11:07:14 +03:00
github-actions[bot]
520c7e2ee8 Merge staging-next into staging 2024-06-15 06:01:20 +00:00
tomberek
4d950563ff Merge pull request #304141 from ExpidusOS/feat/llvm-git-2024-04-14
llvmPackages_git: update to 19.0.0-unstable-2024-06-12
2024-06-15 01:48:19 -04:00
github-actions[bot]
2a899d25c0 Merge staging-next into staging 2024-06-13 12:01:36 +00:00
Pol Dellaiera
5fcbe6f961 Merge pull request #316045 from ExpidusOS/fix/llvm-liblldb-origin
llvmPackages_{12,13,14,15,16,17,18,git}.lldb: add patch to remove origin variable
2024-06-13 09:48:30 +02:00
Tristan Ross
0621f24471 llvmPackages_git: update to 19.0.0-unstable-2024-06-12 2024-06-12 19:20:37 -07:00
github-actions[bot]
c8c2ff3b9b Merge staging-next into staging 2024-06-10 00:02:49 +00:00
Alyssa Ross
3df6bb2c85 Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
	pkgs/applications/blockchains/polkadot/default.nix
2024-06-09 22:47:12 +01:00
Alexis Hildebrandt
f8c4a98e8e treewide: Remove the definite article from meta.description
nix run nixpkgs#silver-searcher -- -G '\.nix$' -0l 'description.*"([Tt]he)? ' pkgs \
  | xargs -0 nix run nixpkgs#gnused -- -i '' -Ee 's/(description.*")[Tt]he (.)/\1\U\2/'
2024-06-09 23:08:46 +02:00
Alexis Hildebrandt
755b915a15 treewide: Remove indefinite article from meta.description
nix run nixpkgs#silver-searcher -- -G '\.nix$' -0l 'description.*"[Aa]n?' pkgs \
  | xargs -0 nix run nixpkgs#gnused -- -i '' -Ee 's/(description.*")[Aa]n? (.)/\1\U\2/'
2024-06-09 23:07:45 +02:00
Franz Pletz
3db93c351d cc-wrapper: add stack clash protection hardening flag
Most Linux distributions are enabling this these days and it does
protect against real world vulnerabilities as demonstrated by
CVE-2018-16864 and CVE-2018-16865.

Fix #53753.

Information on llvm version support gleaned from
6609892a2d
68e07da3e5
092507a730

Information on gcc version support a lot harder to gather,
but both 32bit and 64bit arm do appear to be supported
based on the test suite.
2024-06-07 20:23:46 +01:00
John Ericson
15ad778e35 Merge pull request #316249 from rhelmot/freebsd-minimal3/libcxx-libcxxrt
freebsdPackages.libcxx: switch back to libcxxrt on FreeBSD
2024-06-01 12:22:34 -04:00
Audrey Dutcher
2a8132e5bc llvmPackages_18.compiler-rt: adjust FreeBSD assert patch for LLVM 18 2024-05-31 14:02:58 -07:00
Audrey Dutcher
3a6141ac96 freebsdPackages.libcxx: switch back to libcxxrt on FreeBSD
also enable new delete definitions under libxxrt
2024-05-31 13:58:17 -07:00
Vladimír Čunát
5804775d03 Merge branch 'staging' into staging-next 2024-05-31 07:30:41 +02:00
Tristan Ross
77d03eb68c llvmPackages_{12,13,14,15,16,17,18,git}.lldb: add patch to remove origin variable 2024-05-30 21:39:47 -07:00
John Ericson
85536b3681 Merge pull request #311777 from rhelmot/freebsd-minimal3/llvmPackages
llvmPackages: add support for native FreeBSD
2024-05-27 13:41:31 -04:00
John Ericson
ad6fa01c06 llvmPackages.compiler-rt: Add flag to force libcompiler-rt.a creation
See the code comments for details

Also replace a bad hard-coded `freebsd` with a flexible `*` wildcard in
the `doFakeLibgcc` implementation.
2024-05-26 10:55:15 -04:00
Ali Abrar
d0b08ab5de llvmPackages: libcxx: link stdlib
See: https://github.com/NixOS/nixpkgs/pull/246577/files#r1600650238

This code was breaking some thing for me, and I believe it was a
mistake. I hink we *do* wanna link libc, since libc++ depends on it, but
*don't* want to link an already-existing C++ standard library
implementation. `-nostdlib++` without `-nostdlib` therefore seems
correct to me.

Without this change, we do indeed fail to link OpenBSD.
2024-05-26 10:55:15 -04:00
Rahul Butani
6853d8fdb7 llvmPackages: add asl20-llvm to licenses for v19+
As per llvm/llvm-project#92394 contributions made after June 1st, 2024 are
licensed exclusively under `Apache-2.0 WITH LLVM-exception` rather than dual
licensed.

As per this post, this change is timed so that it only affects version 19 and
newer: https://discourse.llvm.org/t/relicensing-next-step-dropping-requirement-to-contribute-also-under-the-legacy-license/78351
2024-05-24 11:51:57 -07:00
github-actions[bot]
e18e972af2 Merge master into staging-next 2024-05-19 12:01:13 +00:00
Sameer Rahmani
5cc1875026 llvm,mlir: Fix the install location of cmake modules 2024-05-18 15:20:04 +01:00
Audrey Dutcher
3095f2de2e llvmPackages: move comments in common/llvm/default.nix outside strings
This is being done now because a mass rebuild is eminent anyway.
2024-05-17 17:43:20 -07:00
Audrey Dutcher
e49098e99d llvmPackages: add support for native FreeBSD
* asan doesn't work quite right, disable it
* support for 32-bit FreeBSD uses by default logic tuned for a very old
  FreeBSD; fix that
* Some llvm tests fail for the same reason as MacOS; disable them
* libcxx no longer needs a FreeBSD special case
* Add an option to conditionally disable terminfo. terminfo doesn't seem
  to cross-compile static for FreeBSD, which means that it needs to be
  disabled when building the very early FreeBSD bootstrap tools.

Co-authored-by: John Ericson <git@JohnEricson.me>
2024-05-17 14:19:37 -07:00
github-actions[bot]
100cd84a08 Merge staging-next into staging 2024-05-11 18:01:59 +00:00
github-actions[bot]
42828a757c Merge master into staging-next 2024-05-11 18:01:23 +00:00
Peter Waller
3c03811683 llvmPackages_*.libcxx: include libcxxabi within libcxx
Key test case: nixpkgs#pkgsStatic.pkgsLLVM.ncurses

Prior to this patch, this fails with errors such as:

```
error: undefined symbol: __cxa_throw
```

I think this is a reasonable solution because in #292043, libcxxabi was
'merged into libcxx', however, the commit message suggests that only
dynamic linking was accounted for, because it says:

```
* linux/freebsd `libc++.so` is a linker script `LINK(libc++.so.1, -lc++abi)` making `-lc++` sufficient.
```

Whereas, I found that if I tried linking a "hello world" C++ program
with a static hostPlatform, it failed unless -lc++abi was passed.

Signed-off-by: Peter Waller <p@pwaller.net>
2024-05-10 17:22:20 +02:00
misuzu
1203d5889a llvmPackages_{12,13,14,15,16,17,18,git}.llvm: disable tests on 32bit arm
The test suite is almost always broken on armv7l-linux
2024-05-07 19:22:57 +03:00
github-actions[bot]
ce0d85be7c Merge master into staging-next 2024-05-06 00:02:18 +00:00
github-actions[bot]
041bd1cdf7 Merge master into staging-next 2024-05-05 18:00:54 +00:00
Randy Eckenrode
7d9ac4d1c3 Revert "llvmPackages.lldb: combine out and lib outputs on Darwin"
This reverts commit 210ebc2123.
2024-05-05 13:39:16 -04:00
Randy Eckenrode
210ebc2123 llvmPackages.lldb: combine out and lib outputs on Darwin
LLDB expects to find the location of `bin` relative to `lib`. Patching
it to know the location would cause a cycle between the `out` output and
the `lib` output, so combine the two on Darwin.

Fixes https://github.com/NixOS/nixpkgs/issues/252838.
2024-05-04 18:19:56 -04:00
github-actions[bot]
df0375a9b2 Merge staging-next into staging 2024-05-02 18:01:39 +00:00
github-actions[bot]
31135daf48 Merge master into staging-next 2024-05-02 18:01:05 +00:00
Peder Bergebakken Sundt
db15bbc3d5 treewide: remove unreferenced patch files (#308127)
Found with `fd \\.patch$ pkgs/ -x bash -c 'rg -F "{/}" pkgs/ -q || echo {}'`
2024-05-02 12:41:45 +00:00
Weijia Wang
a43f3e993e Merge pull request #307819 from OPNA2608/ppc64/llvm
llvmPackages*.llvm: Disable checkPhase on powerpc64-linux
2024-05-02 12:45:56 +02:00