Commit Graph

2326 Commits

Author SHA1 Message Date
Weijia Wang
9b0b599be5 llvmPackages_git: cleanup 2024-03-12 17:18:57 +01:00
SharzyL
555c7d1ba1 llvmPackages_17.clangUseLLVM: apply #220520 2024-03-13 00:10:59 +08:00
github-actions[bot]
1cef2a1be7 Merge staging-next into staging 2024-03-12 12:01:40 +00:00
Weijia Wang
c9f6ba9f18 llvmPackages_git.libclc: init 2024-03-11 23:28:21 +01:00
Weijia Wang
a3a96a941d llvmPackages_git: 18.1.0-rc3 -> 18.1.0-rc4 2024-03-11 16:15:49 +01:00
a-n-n-a-l-e-e
ce789e7e35 llvmPackages_{12,13,14,15,16,17,git}.{libcxx,libcxxabi}: merge libcxxabi into libcxx (#292043)
- merge libcxxabi into libcxx for LLVM 12, 13, 14, 15, 16, 17, and git.
- remove the link time workaround `-lc++ -lc++abi` from 58 packages as it is no longer required.
- fixes https://github.com/NixOS/nixpkgs/issues/166205
- provides alternative fixes for. https://github.com/NixOS/nixpkgs/issues/269548 https://github.com/NixOS/nix/issues/9640
- pkgsCross.x86_64-freebsd builds work again

This change can be represented in 3 stages
1. merge libcxxabi into libcxx -- files: pkgs/development/compilers/llvm/[12, git]/{libcxx, libcxxabi}
2. update stdenv to account for merge -- files: stdenv.{adapters, cc.wrapper, darwin}
3. remove all references to libcxxabi outside of llvm (about 58 packages modified)

### merging libcxxabi into libcxx
- take the union of the libcxxabi and libcxx cmake flags
- eliminate the libcxx-headers-only package - it was only needed to break libcxx <-> libcxxabi circular dependency
- libcxx.cxxabi is removed. external cxxabi (freebsd) will symlink headers / libs into libcxx.
- darwin will re-export the libcxxabi symbols into libcxx so linking `-lc++` is sufficient.
- linux/freebsd `libc++.so` is a linker script `LINK(libc++.so.1, -lc++abi)` making `-lc++` sufficient.
- libcxx/default.nix [12, 17] are identical except for patches and `LIBCXX_ADDITIONAL_LIBRARIES` (only used in 16+)
- git/libcxx/defaul.nix  does not link with -nostdlib when useLLVM is true so flag is removed. this is not much different than before as libcxxabi used -nostdlib where libcxx did not, so libc was linked in anyway.

### stdenv changes
- darwin bootstrap, remove references to libcxxabi and cxxabi
- cc-wrapper: remove c++ link workaround when libcxx.cxxabi doesn't exist (still exists for LLVM pre 12)
- adapter: update overrideLibcxx to account for a pkgs.stdenv that only has libcxx

### 58 package updates
- remove `NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}` as no longer needed
- swift, nodejs_v8 remove libcxxabi references in the clang override

https://github.com/NixOS/nixpkgs/pull/292043
2024-03-11 03:53:37 -07:00
Philip Taron
7201396492 llvm: stop running strip-preserve-atime.test
This test fails in the presence of anti-virus software or other
intrusion-detection software that modifies the atime when run.

See nixos/nixpkgs#284056 and llvm/llvm-project#82372.
2024-03-07 06:18:50 -08:00
github-actions[bot]
f51807feea Merge master into staging-next 2024-03-02 12:01:28 +00:00
Weijia Wang
7e53a56302 Merge pull request #291050 from wegank/mlir-cleanup
llvmPackages_17.mlir: cleanup
2024-03-02 12:06:52 +01:00
Alyssa Ross
ee9c2b7c6a llvmPackages_16.mlir: init
The Nixpkgs release code generates a list of attributes on
x86_64-linux, then tries to evaluate them on all platforms.  This
meant that Darwin evals broke when llvmPackages was bumped to 17 on
Linux, because the list of attributes is evaluated for Linux, finds an
llvmPackages.mlir attribute, then gets an evaluation error when it
tries to evalute that on Darwin.  The easiest fix is to just make sure
an llvmPackages.mlir attribute exists on Darwin too.
2024-03-01 20:59:17 +01:00
Robert Scott
259fabc9ee Merge pull request #282638 from risicle/ris-trivialautovarinit
cc-wrapper: add `trivialautovarinit` hardening flag support
2024-02-24 20:23:31 +00:00
github-actions[bot]
a3e2b0de90 Merge master into staging-next 2024-02-24 12:01:15 +00:00
Robert Scott
5ddeaeb1fe llvmPackages_*.llvm: disable trivialautovarinit hardening flag 2024-02-24 12:00:10 +00:00
Weijia Wang
1fd991c51a Merge pull request #291045 from wegank/llvm-git-darwin
llvmPackages_git.libcxxabi: unbreak on x86_64-darwin
2024-02-24 08:45:44 +01:00
github-actions[bot]
3affb60f96 Merge master into staging-next 2024-02-24 06:03:30 +00:00
Weijia Wang
a9db778648 llvmPackages_git.libcxxabi: unbreak on x86_64-darwin
Co-authored-by: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
2024-02-24 05:57:43 +01:00
Weijia Wang
023bc57dcc llvmPackages_17.mlir: cleanup 2024-02-24 05:35:53 +01:00
Weijia Wang
4ec69afa51 Merge branch 'master' into staging-next 2024-02-23 06:29:25 +01:00
Weijia Wang
276b313a2b llvmPackages_git.mlir: init 2024-02-23 05:47:53 +01:00
Weijia Wang
bd1607202d llvmPackages: move patches to proper folders (#287092)
* llvmPackages: move clang-*-LLVMgold-path.patch to common/clang

* llvmPackages: move exegesis-force-bdver2.patch to 9/llvm

* llvmPackages: move llvm-config-link-static.patch to common/llvm

* llvmPackages: move TLI-musl.patch to common/llvm

* llvmPackages: move libcxx-0001-musl-hacks.patch to common/llvm
2024-02-23 05:14:36 +01:00
Weijia Wang
5f5062d1ef Merge branch 'master' into staging-next 2024-02-23 05:09:55 +01:00
Weijia Wang
27d33c33ed llvmPackages_git: 18.0.0-unstable-2023-12-13 -> 18.1.0-rc3 (#285786)
* llvmPackages_git: 18.0.0-unstable-2023-12-13 -> 18.1.0-rc1

* llvmPackages_git: refresh patches

* llvmPackages_git.libcxx: link against libgcc_s explicitly

* llvmPackages_git.compiler-rt: update path to cpu_model

* llvmPackages_git.libcxxabi: do not use llvm unwinder by default

* llvmPackages_git: 18.1.0-rc1 -> 18.1.0-rc2

* llvmPackages_git: 18.1.0-rc2 -> 18.1.0-rc3
2024-02-22 18:01:29 +01:00
John Ericson
350aae6d9b Merge pull request #280572 from lxsameer/mlir-17
Add MLIR package to llvm 17
2024-02-22 09:41:57 -05:00
Sameer Rahmani
da2ccc5719 Update pkgs/development/compilers/llvm/17/mlir/default.nix
Co-authored-by: John Ericson <git@JohnEricson.me>
2024-02-22 10:23:17 +00:00
Sameer Rahmani
777f8c6a12 Update pkgs/development/compilers/llvm/17/mlir/default.nix
Co-authored-by: John Ericson <git@JohnEricson.me>
2024-02-22 10:22:51 +00:00
Sameer Rahmani
262ed9bd90 llvm: Add the mlir package to llvm 17 2024-02-21 14:21:02 +00:00
Martin Weinelt
e8dbcf6888 llvm_14: backport fix for python crashes on aarch64-linux
This fixes the tests of numba on aarch64-linux.
2024-02-19 18:37:13 +01:00
Weijia Wang
83c5c46359 llvmPackages: cleanup orphaned files 2024-02-10 04:07:25 +01:00
github-actions[bot]
9824e51195 Merge master into staging-next 2024-02-07 00:02:01 +00:00
Weijia Wang
c380de2514 llvmPackages_git: 18.0.0-unstable-2023-10-04 -> 18.0.0-unstable-2023-12-13 (#286525)
* llvmPackages_git: 18.0.0-unstable-2023-10-04 -> 18.0.0-unstable-2023-12-13

* llvmPackages_git.clang: generalize version in folders

* llvmPackages_git.lldb: bump swig and vscode extension

* llvmPackages_git.{clang,lldb,llvm}-manpages: replace recommonmark by myst-parser
2024-02-06 21:37:08 +01:00
github-actions[bot]
8e7913be95 Merge master into staging-next 2024-02-06 00:02:21 +00:00
a-n-n-a-l-e-e
1fbf11b24f Merge pull request #282727 from wegank/llvm-17-darwin-2
llvmPackages_17: unbreak on x86_64-darwin
2024-02-05 10:41:03 -08:00
Martin Weinelt
27fa02d0f1 Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
-	pkgs/development/compilers/llvm/10/clang/default.nix
- pkgs/development/compilers/llvm/8/clang/default.nix
2024-02-01 12:25:11 +01:00
annalee
9e5b7b2ceb treewide: drop LLVM10 2024-01-30 06:30:28 +00:00
Weijia Wang
c086ed0613 llvmPackages_17: unbreak on x86_64-darwin 2024-01-29 16:42:08 +01:00
Weijia Wang
4354538139 Merge branch 'staging-next' into staging 2024-01-27 04:17:36 +01:00
annalee
7a0dc7c7e8 treewide: drop LLVM8 2024-01-25 12:24:51 +00:00
github-actions[bot]
8c2ba7797a Merge master into staging-next 2024-01-25 12:01:19 +00:00
Naïm Favier
6d11e88fed Merge pull request #280945 from katexochen/treewide/unref-patches
treewide: cleanup unreferenced patch files
2024-01-25 12:42:50 +01:00
Robert Scott
be19273a30 Merge pull request #274089 from risicle/ris-zerocallusedregs
cc-wrapper: add `zerocallusedregs` hardening flag, add `pkgsExtraHardening` package set
2024-01-21 13:33:06 +00:00
Robert Scott
506ec38e7f cc-wrapper, clang: use new mechanism to selectively unsupport zerocallusedregs
this allows a compiler derivation to provide a
hardeningUnsupportedFlagsByTargetPlatform passthru attr
that will be called with the targetPlatform to determine
the unsupported hardening flags for that platform.

we can do this because even though a clang compiler is
multi-target by nature, cc-wrapper effectively fixes the
target platform at wrapping time. otherwise we'd have to
sniff the intended target at runtime, which wouldn't
be fun at all.

the advantage of using a new attribute instead of
allowing hardeningUnsupportedFlags to optionally be a
function is that hardeningUnsupportedFlags retains its
simple overriding pattern for simple cases (i.e.
  `(prev.hardeningUnsupportedFlags or []) ++ [ "foo" ]`
) which will continue to work as long as the bottom-most
function of hardeningUnsupportedFlagsByTargetPlatform
falls back to hardeningUnsupportedFlags.
2024-01-21 11:16:07 +00:00
github-actions[bot]
4dea63e421 Merge master into staging-next 2024-01-20 18:01:02 +00:00
Robert Scott
40868719b0 cc-wrapper: add zerocallusedregs hardening flag
this uses the value `used-gpr` which seems to be a commonly
chosen value for general use
2024-01-20 13:48:33 +00:00
Alyssa Ross
c1e6f66dc5 llvmPackages.compiler-rt: mark broken for RISC-V GCC
c33c7c3d5f ("clang_11: Fix RISC-V builds for compiler-rt. (#135718)")
already marked tihs as broken for LLVM 11, but didn't apply the same
change to other affected LLVM versions.
2024-01-20 13:21:24 +01:00
Paul Meyer
1db64f27b4 llvm: remove unreferenced patch 2024-01-14 15:28:14 +01:00
github-actions[bot]
e59c8549eb Merge staging-next into staging 2024-01-13 18:01:22 +00:00
SharzyL
810cef75ba llvmPackages_*.clangUseLLVM: add libunwind to lib search path 2024-01-13 11:16:58 +08:00
Nikodem Rabuliński
6305515e45 lldb: add meta.mainProgram 2024-01-12 20:06:31 +01:00
Nikodem Rabuliński
62cb8f4628 llef: init at unstable-2023-10-18 2024-01-12 20:06:30 +01:00
Ryan Lahfa
cc34adbe66 Merge pull request #280126 from lxsameer/staging
llvm: Avoid cross compiling if the build platform can execute host binaries
2024-01-12 19:25:35 +01:00