Commit Graph

986 Commits

Author SHA1 Message Date
Robert Scott
20b3d65d34
Merge pull request #125472 from veprbl/pr/clang_12_darwin_fix
llvmPackages_12.compiler-rt: fix build on darwin
2021-06-06 11:40:58 +01:00
github-actions[bot]
68272fcebd
Merge master into staging-next 2021-06-05 12:14:47 +00:00
Michael Weiss
c330272504
llvmPackages_git: Add update-git.py
Not that pretty but it should get the job done.
2021-06-05 13:39:17 +02:00
github-actions[bot]
5b9da195a0
Merge master into staging-next 2021-06-04 01:45:17 +00:00
John Ericson
67eb7b4acc
Merge pull request #120780 from primeos/llvm_git
llvmPackages_git: init at 12.0.0
2021-06-03 19:48:03 -04:00
Michael Weiss
a7f062d898
llvmPackages_git: Build from Git
The version will initially remain the same so that no additional changes
to the packaging are required (i.e. this commit only includes the
required changes to build from the mono repository instead of individual
tarballs).
2021-06-03 20:33:35 +02:00
Michael Weiss
e458a01401
llvmPackages_git: Copy from llvmPackages_12
The purpose of this package is to continuously improve the LLVM
packaging in Nixpkgs without causing a lot of rebuilds and provide more
recent LLVM builds for users. For more details see:
https://github.com/NixOS/nixpkgs/issues/114828
2021-06-03 20:14:05 +02:00
github-actions[bot]
a12e0d5bff
Merge master into staging-next 2021-06-03 12:49:11 +00:00
Domen Kožar
aeb44a891a
Merge pull request #125184 from domenkozar/aarch64-darwin-eval
Aarch64 darwin eval
2021-06-03 11:21:20 +02:00
Domen Kožar
9e6417f2a4
fix tarball job evaluation for aarch64-darwin 2021-06-03 10:52:46 +02:00
Dmitry Kalinkin
cf4e1b9e62
llvmPackages_12.compiler-rt: fix build on darwin
```
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:617:7: error: use of undeclared
      identifier 'TARGET_OS_IOS'
  if (TARGET_OS_IOS || TARGET_OS_TV) return 6;
      ^
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:617:24: error: use of undeclared
      identifier 'TARGET_OS_TV'
  if (TARGET_OS_IOS || TARGET_OS_TV) return 6;
                       ^
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:618:7: error: use of undeclared
      identifier 'TARGET_OS_WATCH'
  if (TARGET_OS_WATCH) return 13;
      ^
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:687:7: error: use of undeclared
      identifier 'TARGET_OS_IOS'
  if (TARGET_OS_IOS || TARGET_OS_TV)
      ^
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:687:24: error: use of undeclared
      identifier 'TARGET_OS_TV'
  if (TARGET_OS_IOS || TARGET_OS_TV)
                       ^
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:689:12: error: use of undeclared
      identifier 'TARGET_OS_WATCH'
  else if (TARGET_OS_WATCH)
           ^
6 errors generated.
```
2021-06-03 03:08:10 -04:00
github-actions[bot]
65e3e9dc51
Merge master into staging-next 2021-06-01 07:50:21 +00:00
Zhaofeng Li
8f80568885 llvm{9,11}: Disable tests on RISC-V
The test suite leads to nothing but tears, sorrow, and wasted build
time. It probably should be disabled for all of them but doing only
9 (llvmPackages) and 11 (llvmPackages_latest, Rust) for now. Some of
the failures have been fixed in LLVM main:

- https://reviews.llvm.org/D97490
- https://reviews.llvm.org/D91043
2021-05-31 14:55:19 -07:00
github-actions[bot]
0a0c0a9fb9
Merge staging-next into staging 2021-05-20 18:36:04 +00:00
Andrew Childs
2987d66d0f llvmPackages_11.compiler-rt: fix build on x86_64-darwin
Amendment to changes in 56fcbcd154.

Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
2021-05-19 12:33:53 -07:00
sternenseemann
3530837417 llvmPackages*.clang: fix linker invocation with LLVMgold plugin
When using GNU binutils, clang passes the LLVMgold.so plugin to the
linker for certain operations that require special support in the linker
like doing link time optimization (LTO). When passing the plugin to the
linker's command line, clang assumes that llvm and itself are installed
in the same prefix and thus `/path/to/clang/bin/../lib/LLVMgold.so` is
the plugin.

Since we install clang and llvm to separate store paths, this assumption
does not hold. When clang-unwrapped only had a single output, we worked
around this issue by symlinking `$out/lib/LLVMgold.so` to
`${llvm}/lib/LLVMgold.so`. However since we split all llvm packages into
multiple outputs clang's `$out` no longer has a lib directory and clang
can't discover clangs lib output on its own. As a result LTO was broken.

Instead of introducing yet another hack and having a symlink to
LLVMgold.so in `$out/lib` (despite having `$lib/lib` as well), we patch
clang to use a hard coded path to `${libllvm.lib}/lib` for discovering
`LLVMgold.so`.

Resolves #123361.
2021-05-18 16:15:03 +02:00
Andrew Childs
56fcbcd154 llvmPackages_11: darwin cross compilation and bootstrapping 2021-05-17 00:28:05 +09:00
Andrew Childs
c99904e113 clang_11: revert -fno-common default 2021-05-17 00:27:02 +09:00
John Ericson
4236fb1c7f
Merge pull request #123103 from sternenseemann/compiler-rt-resources
llvmPackages_{7-12}.compiler-rt: install resource files to DATADIR
2021-05-15 12:06:57 -07:00
github-actions[bot]
c10600230e
Merge staging-next into staging 2021-05-15 18:30:31 +00:00
sternenseemann
74f709f62e llvmPackages_{7,8,9}: link ${compiler-rt.out}/share to resource root
This is done for 10-12, but not for the earlier llvm package sets.
2021-05-15 18:35:44 +02:00
sternenseemann
0046076950 llvmPackages_{7-12}.compiler-rt: install resource files to DATADIR
This is in an effort to fix the following build failure shown by
chromium:

    clang++: error: no such file or directory: '/nix/store/fhd89wrmkx6nflzjk0d6waz70bk3zc4i-clang-wrapper-12.0.0/resource-root/share/cfi_blacklist.txt'

As it turns out a change introduced via the gnu-install-dirs.patch
caused `add_compiler_rt_resource_file` to install resource files to
$dev/include (FULL_INCLUDEDIR) instead of $out/share (FULL_DATADIR)
which in turn meant that the clang wrappers we had didn't link those
files to its resource root at all.

Alternative fix to this would have been to link
compiler-rt.dev/include/*.txt to the wrappers resource-root/share as
well, but since this was handled inconsistently across the patch anyways
(the dfsan list is installed correctly), opt to handle this
consistently within the patch.

llvmPackages_{5,6} install the resource files to a completely different
location and need separate investigation.
2021-05-15 18:35:43 +02:00
sternenseemann
91cba7b0a9 llvmPackages_{10,11,12}.compiler-rt: install resource txts to $out/share
7869d16545 changed how resource files are
installed. Likely by accident, now some of the resource files are
installed to $dev/include instead of $out/share. This causes the cc
wrapper's resource-root to miss those files from compiler-rt as they are
in a different place than expected.

This commit fixes all instances of this incorrect installation for
llvmPackages_10, 11 and 12 which are the only llvm package sets which
link ${targetLlvmLibraries.compiler-rt.out}/share to the resource-root.

For the other llvm package set this will likely also need to be fixed,
but it doesn't have to have immediate urgency and doing it in two steps
allows us to (hopefully) fix the chromium build without causing a darwin
stdenv rebuild.

The full fix can be found in #123103 and should probably be included in
the next staging-next rotation.
2021-05-15 17:40:24 +02:00
John Ericson
7dd53fe56e
Merge pull request #122778 from Ericson2314/choose-linker
treewide: Allow the linker to be chosen independently
2021-05-14 18:53:14 -04:00
John Ericson
93e6a25f50
Merge pull request #123047 from sternenseemann/usellvm-lunwind
llvmPackages_*.lldClang: pass -lunwind if exceptions are enabled
2021-05-14 18:51:34 -04:00
sternenseemann
f506019942 llvmPackages_*.lldClang: pass -lunwind if exceptions are enabled
To successfully compile C++ with useLLVM we need an unwinder and
thus to explicitly -lunwind like it has been done for the android
cross targets.
2021-05-15 00:34:50 +02:00
John Ericson
18c38f8aee treewide: All the linker to be chosen independently
This will begin the process of breaking up the `useLLVM` monolith. That
is good in general, but I hope will be good for NetBSD and Darwin in
particular.

Co-authored-by: sterni <sternenseemann@systemli.org>
2021-05-14 21:29:51 +00:00
Vladimír Čunát
1a7ef60b2f
Merge #122803: llvm*: patch to fix a test on older CPUs 2021-05-14 22:31:23 +02:00
John Ericson
49d2653653
Merge pull request #122974 from sternenseemann/lldClang-no-double-wrap
llvmPackages_*.lldClang: don't wrap bintools twice
2021-05-14 14:52:57 -04:00
sternenseemann
f7b49ea2af llvmPackages_12.lld: make sure llvm libunwind is passed
lld needs LLVM's libunwind for its headers. That libunwind is not part
of the tools scope in pkgs/development/compilers/llvm/12/default.nix,
which means that lld previously received libunwind from top-level pkgs
which of course doesn't have the required headers.

To resolve this pass libunwind from the libraries scope — platform
concerns don't really mattern as only libunwind.src is used.

libunwind was initially passed correctly, but that was removed in
e830db4320. This regression was likely
introduced accidentally.
2021-05-14 16:23:12 +02:00
sternenseemann
3eaa00879c llvmPackages_*.lldClang: don't wrap bintools twice
The bintools argument received a wrapped version of tools.bintools which
is already wrapped. Wrapped bintools twice leads to users of lldClang
being unable to find the tools which are not wrapped like ar.
2021-05-14 12:50:41 +02:00
Vladimír Čunát
ea306f6dfc
llvm*: patch to fix a test on older CPUs
- 10, 11, 12: use the upstream patch
- 9: use Luke's patch as the upstream patch won't apply
2021-05-13 10:43:45 +02:00
Vladimír Čunát
ba2140b657
Merge #122044: compiler-rt: Fix build by passing resource dir
Fast-forwarded from staging to staging-next.  See:
https://github.com/NixOS/nixpkgs/pull/111487#issuecomment-840088733
2021-05-12 22:55:14 +02:00
John Ericson
22da550728
Fast-forward PR #122399 from staging to staging-next
compiler-rt: Revert passing `COMPILER_RT_OS_DIR` and not symlinking libs
(cherry picked from commit 680b33fe37)
https://github.com/NixOS/nixpkgs/pull/111487#issuecomment-840078869
2021-05-12 22:43:52 +02:00
John Ericson
e830db4320 llvmPackages: Fix more inconsistencies
The main thing was using `llvm_meta` in all versions.

Secondarily:

 - libunwindx7: Forgot to split outputs

 - libcxx{,abi} 12: Forgot to apply output-splitting patches.

 - simplify `useLLVM` stdenv-switching logic.

 - openmp always gets its own directory
2021-05-12 00:16:11 +00:00
John Ericson
37194a325d treewide: Try to make a few bootstrapping things more consistent
- Introduce `preLibcCrossHeaders` to bootstrap libgcc and compiler-rt
  the same way.

- Organize LLVM bintools as `bintools{-unwrapped,,NoLibc}` for
  consistency with GNU Binutils and Apple's cctools.

- Do Android changes for all `llvmPackages` for consistency.

- Improve the way the default GCC and LLVM versions are selected.
2021-05-12 00:14:56 +00:00
John Ericson
e0d3c9d031 llvmPackages*.libcxx*: Always use the attribute name for pname
This decision was made in a902d99422 but
just for LLVM 12. Now we apply it consitently.
2021-05-12 00:14:56 +00:00
John Ericson
894f0c6ec8 llvmPackages: Always put libunwind before openmp
This keeps the "main bootstrap" together.
2021-05-12 00:13:13 +00:00
sternenseemann
4caedc060f llvmPackages_12.libunwind: Make sure we get right llvm version 2021-05-12 00:12:51 +00:00
sternenseemann
894a09dfd2 llvmPackages_7.lldClang: add libunwind to extraLibraries 2021-05-12 00:12:40 +00:00
sternenseemann
53adcfb798 llvmPackages_7.libunwind: simplify expressions
* Use LLVM_PATH instead of llvm-config
* Pass less unnecessary options to cmake
2021-05-12 00:08:02 +00:00
John Ericson
cf02b24813 Merge remote-tracking branch 'upstream/staging-next' into staging 2021-05-11 22:30:46 +00:00
s1341
1e1d29c2af treewide: Support aarch64-android using minimal prebuilt components
This PR adds a new aarch64 android toolchain, which leverages the
existing crossSystem infrastructure and LLVM builders to generate a
working toolchain with minimal prebuilt components.

The only thing that is prebuilt is the bionic libc. This is because it
is practically impossible to compile bionic outside of an AOSP tree. I
tried and failed, braver souls may prevail. For now I just grab the
relevant binaries from https://android.googlesource.com/.

I also grab the msm kernel sources from there to generate headers. I've
included a minor patch to the existing kernel-headers derivation in
order to expose an internal function.

Everything else, from binutils up, is using stock code. Many thanks to
@Ericson2314 for his help on this, and for building such a powerful
system in the first place!

One motivation for this is to be able to build a toolchain which will
work on an aarch64 linux machine. To my knowledge, there is no existing
toolchain for an aarch64-linux builder and an aarch64-android target.
2021-05-11 15:39:08 +00:00
Vladimír Čunát
6b3b7940ff
llvm*Packages: fix output selection (lib.get*) 2021-05-11 10:45:11 +02:00
John Ericson
8629936f82 compiler-rt: Revert passing COMPILER_RT_OS_DIR and not symlinking libs
In 7869d16545 I got rid of the symlinking
by forcing `COMPILER_RT_OS_DIR` to always be the empty string. I thought
this was good because it just make compiler-rt be installed in a normal
way.

However, various LLVM tools expect the `COMPILER_RT_OS_DIR` to be set
normally, and fail to find things when they aren't in the expected lib
subdir.

Maybe it would be best to patch that too in the long term, but for now
we just undo this change.
2021-05-09 22:52:09 +00:00
John Ericson
fc7a998748 compiler-rt: Fix build by passing resource dir
Before, clang was able to find some headers with a relative path to the
`-B` flag pointing near the unwrapped clang binary. But with multiple
outputs that doesn't work, so we use a "resource directory" as it done
later in the bootstrap.
2021-05-07 16:39:19 +00:00
misuzu
23ab123640 llvm_11: disable failing 'dependent-libraries.test' on armv7l 2021-05-04 16:24:31 +03:00
Andrew Childs
7869d16545 llvmPackages: Multuple outputs for everythting
Also begin to start work on cross compilation, though that will have to
be finished later.

The patches are based on the first version of
https://reviews.llvm.org/D99484. It's very annoying to do the
back-porting but the review has uncovered nothing super major so I'm
fine sticking with what I've got.

Beyond making the outputs work, I also strove to re-sync the packages,
as they have been drifting pointlessly apart for some time.

----

Other misc notes, highly incomplete

- lvm-config-native and llvm-config are put in `dev` because they are
  tools just for build time.

- Clang no longer has an lld dep. That was introduced in
  db29857eb3, but if clang needs help
  finding lld when it is used we should just pass it flags / put in the
  resource dir. Providing it at build time increases critical path
  length for no good reason.

----

A note on `nativeCC`:

`stdenv` takes tools from the previous stage, so:

1. `pkgsBuildBuild`: `(?1, x, x)`
2. `pkgsBuildBuild.stdenv.cc`: `(?0, ?1, x)`

while:

1. `pkgsBuildBuild`: `(?1, x, x)`
2. `pkgsBuildBuild.targetPackages`: `(x, x, ?2)`
3. `pkgsBuildBuild.targetPackages.stdenv.cc`: `(?1, x, x)`
2021-04-30 05:41:00 +00:00
Jan Tojnar
c1f851b2ee
Merge branch 'staging-next' into staging 2021-04-25 08:22:13 +02:00
Michael Weiss
e4f8498c0b
llvmPackages_12: Create subdirectories for the last two packages
For consistency. Now all packages will have their own subdirectory
(continuation of 781e69d19c).
2021-04-24 11:43:29 +02:00
Michael Weiss
a902d99422
llvmPackages_12: Always use the attribute name for pname
This might be a bit debatable but upstream uses "xx" instead of "++"
when using it as identifier / in the code (file/directory names, build
scripts, website URLs, etc.) so we should probably too.
And at least the attribute name and pname will be consistent now.
2021-04-24 11:43:29 +02:00
John Ericson
3af7e98470 llvmPackages_7.libcxxabi: Fix Darwin bootstrap
In 486e12ad68 cmake flags were added matching
later compilers use of libunwind for `useLLVM = true`. Unfortunately, `useLLVM`
on Darwin was not something tested before, and so the other compilers led us
astray: one of the new flags tried to make libunwind be used when it wasn't a
dep.

This is now fixed with more conditional code, but I hope things can perhaps be
made simpler with more insight into why libunwind is skipped. Perhaps it is
included in libSystem?

Finally, I moved the definition of `cmakeFlags` to match the order in the other
llvm versions.

CC @sternenseemann and @thefloweringash
2021-04-18 00:24:03 -04:00
John Ericson
d4d49c1066
Merge pull request #119717 from sternenseemann/libunwind-7.1.0
Make cross stdenv with llvmPackages_7 and useLLVM work again
2021-04-17 19:59:19 -04:00
sternenseemann
49ff6509a2 llvmPackages_7.clang: backport patch introducing --unwindlib flag
This flag was introduced for clang 9, but we use it in the `lldClang`
wrapper for `llvmPackages` 7, 8 and 9. For this purpose the patch was
backported for `llvmPackages_8.clang`, but not for `llvmPackages_7.clang`
which has been done in this commit.

`lldClang` is mostly used when cross compiling and
`stdenv.hostPlatform.useLLVM` is true. Most likely this problem wasn't
noticed since `useLLVM` with `llvmPackages_7` was broken for other
reasons as well and all cross targets (like `wasi32`) which have
`useLLVM` at the moment use `llvmPackages_8`.

With this change tests.cross.llvm.hello.{musl64, …} works again.
2021-04-17 18:08:04 +02:00
sternenseemann
55a476b00b llvmPackages_7.libcxx: make sure to use compiler-rt if useLLVM
This reflects what the other llvmPackages sets are doing.
2021-04-17 18:08:04 +02:00
sternenseemann
486e12ad68 llvmPackages_7.libcxxabi: take libunwind as an optional dependency again
This reverts commit 76b54c75b3 and brings
llvmPackages_7.libcxxabi in line with what the other llvmPackages
sets are doing again (with llvmPackages_7 being the sole outlier).

This also fixes an evaluation error of llvmPackages_7.libcxxabi if
stdenv.hostPlatform.useLLVM is true as the nonexistant libunwind
argument would be overridden.
2021-04-17 18:08:00 +02:00
sternenseemann
be4eb91b3c llvmPackages_7.libunwind: init at 7.1.0 2021-04-17 18:07:12 +02:00
Luke Granger-Brown
9aa8ae999a llvmPackages_12.llvm: fix building on older CPUs
This commit patches one of the llvm-exegesis tests to swap out whatever
CPU model happens to be on the build host for bdver2 (AMD Family
15h/Piledriver), which was picked because it looks like that was the
intent of the test author. This provides a more predictable compilation
behaviour when running on older (or possibly even newer!) machines.

One of the machines that is currently part of the NixOS Hydra build
farm, wendy, is using an old AMD Opteron CPU for which LLVM has no
scheduling machine model. This causes one of the tests for llvm-exegesis
to fail, because it segfaults trying to use the machine model to produce
useful analysis results.

Note that this particular test only runs on x86-64 build hosts anyway;
aarch64 isn't affected.

This deliberately only patches LLVM 12 to limit the rebuilds; other
LLVM versions are going through staging.
2021-04-17 01:55:53 +00:00
Michael Weiss
28887e7fe5
llvmPackages_12: Improve and extend the meta attributes 2021-04-15 18:41:38 +02:00
Michael Weiss
2c2e8662b9
llvmPackages_12: 12.0.0-rc5 -> 12.0.0
Release notes: https://releases.llvm.org/12.0.0/docs/ReleaseNotes.html
2021-04-15 16:31:32 +02:00
Michael Weiss
978fa19ae2
Merge pull request #119528 from sternenseemann/llvmPackages_12-reorganize-files
llvmPackages_12: reorganize files
2021-04-15 16:25:17 +02:00
sternenseemann
081b9423d4 llvmPackages*: fix paths to libcxx-0001-musl-hacks.patch
This patches are included from libcxx and libcxxabi when
stdenv.hostPlatform.isMusl. After #117433 the patchs to that patch
wasn't adjusted for the new structure, likely because it doesn't come up
during normal eval. This fixes (among other attribute paths):

* pkgsMusl.llvmPackages_12.libcxxabi
* pkgsMusl.llvmPackages_12.libcxx
* pkgsMusl.llvmPackages_11.libcxxabi
* pkgsMusl.llvmPackages_11.libcxx
* pkgsMusl.llvmPackages_10.libcxxabi
* pkgsMusl.llvmPackages_10.libcxx
* pkgsMusl.llvmPackages_9.libcxxabi
* pkgsMusl.llvmPackages_9.libcxx
* pkgsMusl.llvmPackages_8.libcxxabi
* pkgsMusl.llvmPackages_8.libcxx
* pkgsMusl.llvmPackages_7.libcxxabi
* pkgsMusl.llvmPackages_7.libcxx
* pkgsMusl.llvmPackages_6.libcxxabi
* pkgsMusl.llvmPackages_6.libcxx
* pkgsMusl.llvmPackages_5.libcxxabi
* pkgsMusl.llvmPackages_5.libcxx

Only evaluation was tested, not compilation though.
2021-04-15 13:24:04 +02:00
sternenseemann
781e69d19c llvmPackages_12: reorganize files
Restructure pkgs/development/compilers/llvm/12 in a similar spirit
as #117433 to mirror the other llvm directories.
2021-04-15 12:44:05 +02:00
Tyson Whitehead
9f7fb75168
llvm_11: Correct path for TLI-musl patch 2021-04-14 00:29:29 -04:00
github-actions[bot]
85b57e4446
Merge master into staging-next 2021-04-08 18:14:17 +00:00
Michael Weiss
2b95bf44b8
llvmPackages_12: 12.0.0-rc4 -> 12.0.0-rc5
Note: Tested in #116646.
2021-04-08 16:12:48 +02:00
github-actions[bot]
b3a0328b7f
Merge master into staging-next 2021-04-02 18:14:54 +00:00
Michael Weiss
a960fead6e
llvmPackages_12: 12.0.0-rc3 -> 12.0.0-rc4 2021-04-02 14:35:23 +02:00
github-actions[bot]
78b864aeee
Merge staging-next into staging 2021-04-01 18:15:42 +00:00
Michael Weiss
cc12a82cf2
llvmPackages_12: Fix libunwind, openmp, libcxx, and libcxxabi
All builds succeed now: nix-build -A llvmPackages_12
2021-04-01 20:08:20 +02:00
github-actions[bot]
85e9b4acf4
Merge staging-next into staging 2021-04-01 12:06:32 +00:00
Michael Weiss
493131d70b
llvmPackages: Add an update script
This is based on a combination of Gabor Greif's update script [0] and my
script to verify the hashes [1]. It's a bit hacky / unconventional but
it should be very useful and worked fine so far (but it might require
changes for some edge-cases).

[0]: https://github.com/NixOS/nixpkgs/issues/100725#issuecomment-710055349
[1]: https://github.com/NixOS/nixpkgs/issues/100725#issuecomment-781323979
2021-04-01 13:31:48 +02:00
Gabor Greif
7c27d49815
llvmPackages_12: init at 12.0.0-rc3
https://lists.llvm.org/pipermail/release-testers/2021-March/001496.html
2021-04-01 12:32:19 +02:00
Michael Weiss
2fd9e41719
llvmPackages_12: Copy from llvmPackages_11 2021-04-01 12:32:18 +02:00
github-actions[bot]
2ed7687b19
Merge staging-next into staging 2021-03-28 00:15:43 +00:00
sternenseemann
a3f74559cf llvmPackages_6.llvm-manpages: unbreak
enableSharedLibraries defaulted to true which caused a phase to
try to use the $lib output which doesn't exist for the llvm-manpages
derivation.
2021-03-27 22:40:44 +01:00
John Ericson
8179fdc3d1
Merge pull request #117660 from Ericson2314/organize-llvm
llvmPackages_*.libunwind: Move into own directory
2021-03-26 10:25:23 -04:00
Jan Tojnar
b3c854b60b
Merge branch 'staging-next' into staging 2021-03-26 07:53:44 +01:00
John Ericson
0ae1182489 llvmPackages_*.libunwind: Move into own directory
I expect to soon give it some patches that would go in there too, but
either way it's good to match the others.
2021-03-26 05:06:15 +00:00
Daniël de Kok
84023d85cb llvmPackages_rocm: 4.0.1 -> 4.1.0 2021-03-24 08:43:58 +01:00
John Ericson
19a974945b llvmPackages: Organize files
Always do pkg/default.nix not pkg.nix; use directories to avoid
prefixing patches and other files.
2021-03-24 05:02:50 +00:00
Andrew Childs
2a588dad4e llvmPackages_{10,11}.compiler-rt: restrict build to current arch
Workaround for build failure after adding mandatory -arch
argument. Nixpkgs targets a single architecture, so this saves a small
amount of wasted build effort.

See https://github.com/NixOS/nixpkgs/pull/114817#issuecomment-802709527
2021-03-19 20:23:24 +00:00
Andrew Childs
8cc0010f0c llvmPackages_*.compiler-rt: use darwinArch 2021-03-19 20:23:23 +00:00
Robert Hensing
89aa0173ca
Merge pull request #115075 from siraben/stdenv-cleanup
treewide: remove stdenv where not needed
2021-03-04 15:51:04 +01:00
Ben Siraphob
98f26993f2 treewide: remove stdenv where not needed 2021-03-04 19:54:50 +07:00
Sandro
dc00d91809
Merge pull request #111701 from r-burns/compiler-rt
llvmPackages_11.compiler-rt: fix build on darwin
2021-03-04 03:50:29 +01:00
Ivan Babrou
d85965dcf5 llvmPackages_11.libcxx: backport block.h fix from llvm12
As a concrete example, this fixes graphviz compilation:

* https://gitlab.com/graphviz/graphviz/-/issues/1785
2021-02-28 10:19:14 -08:00
Ivan Babrou
f78f6cd339 llvmPackages_11.openmp: make it compile on aarch64-darwin 2021-02-26 09:24:00 -08:00
Gabor Greif
3468130c1e llvmPackages_11: 11.1.0rc2 -> 11.1.0 2021-02-18 13:11:24 +01:00
Gabor Greif
63037b0348 llvmPackages_11: 11.0.1 -> 11.1.0rc2 2021-02-17 21:56:15 +01:00
Emery Hemingway
35e12d8343 Revert "llvm_11: patch to recognize Genode platform triples"
Pushed to the wrong remote :(

This reverts commit 9ddb9c0021.
2021-02-12 10:16:55 +01:00
Emery Hemingway
9ddb9c0021 llvm_11: patch to recognize Genode platform triples
This patch does not add Genode support to the Clang frontend or
LLVM runtime libraries, only the LLVM code generator and optimizer.
2021-02-12 10:12:41 +01:00
Ryan Burns
ef8a3d9f83 llvmPackages_11.compiler-rt: fix build on darwin
Needed to prevent faulty i686 codegen on x86_64. We're doing this
already for the older llvm packages, so not sure why 11 never had this.
2021-02-02 20:45:43 -08:00
Daniël de Kok
fa846bef8a llvmPackages_rocm: 4.0.0 -> 4.0.1
Release notes:

https://rocmdocs.amd.com/en/latest/Current_Release_Notes/Current-Release-Notes.html#amd-rocm-release-notes-v4-0-1
2021-01-29 16:43:22 +01:00
Ryan Burns
44c46905b9 llvmPackages_rocm.clang: add isClang and llvm passthru
Matches generic clang compilers, and fixes isClang inspection, which
0710308402 depends on for the
`--gcc-toolchain` flag to be set up properly.

Fixes rocm-comgr
2021-01-26 02:32:59 -08:00
John Ericson
0710308402 clang, cc-wrapper: Move --gcc-toolchain logic into CC wrapper
Take 2, after #94582 had to be reverted.

This reverts commit ac03cfa3c5.
2021-01-24 15:49:32 -05:00
Gabor Greif
5105bf4b2e
llvm_{5,6,8..11}: fix missing lib from stdenv.lib -> lib (#110643)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-01-24 01:31:45 +01:00
Christian Kögler
266f20d886 llvmPackages_11: Fix cross compilation 2021-01-23 18:03:24 +01:00
Ben Siraphob
acc5f7b18a pkgs/development/compilers: stdenv.lib -> lib 2021-01-23 08:57:37 +07:00
Jörg Thalheim
1881e81e3c
Merge pull request #103846 from kampka/llvm_11_musl
llvm_11: Disable checks on musl libc hosts
2021-01-18 20:11:55 +00:00
Gabor Greif
9d1816e29e
llvmPackages_11: 11.0.0 -> 11.0.1 2021-01-09 21:28:27 +01:00
github-actions[bot]
581059aed4
Merge staging-next into staging 2021-01-04 00:57:38 +00:00
John Ericson
f52263ced0 treewide: Start to break up static overlay
We can use use `stdenv.hostPlatform.isStatic` instead, and move the
logic per package. The least opionated benefit of this is that it makes
it much easier to replace packages with modified ones, as there is no
longer any issue of overlay order.

CC @FRidh @matthewbauer
2021-01-03 19:18:16 +00:00
Ben Siraphob
3ae5e6ce03 treewide: remove enableParallelBuilding = true if using cmake 2021-01-03 18:37:40 +07:00
Ryan Burns
d6e3307291 llvmPackages_8.llvm: fix build with gcc 10 2020-12-31 09:10:12 +01:00
Daniël de Kok
d0492e8f71 llvmPackages_rocm: 3.10.0 -> 4.0.0 2020-12-18 08:21:12 +01:00
Daniël de Kok
cea2e29961 llvmPackages_rocm: 3.9.0 -> 3.10.0 2020-11-30 18:47:48 +01:00
Christian Kampka
86732c47f8
llvm_11: Disable checks on musl libc hosts 2020-11-14 23:10:14 +01:00
Andrew Childs
ddd17201ab compiler-rt: prevent platform sniffing on Darwin
Exposed by the tbd stubs which contains fat libraries. The previously
used proxy libraries were x86_64 only.
2020-11-09 20:00:39 +09:00
Andrew Childs
fece3eb2e9 darwin/stdenv: refactoring
Build the llvm support libraries (libcxx, libcxxabi) from scratch
without using the existing llvm libraries. This is the same spirit and
similar implementation as the "useLLVM" bootstrap in llvm package
sets. Critically it avoids having libcxxabi provided by the cc-wrapper
when building libcxx, which otherwise results in two libcxxabi
instances.

$ otool -L /nix/store/vd4vvgs9xngqbjzpg3qc41wl6jh42s9i-libc++-7.1.0/lib/libc++.dylib
/nix/store/vd4vvgs9xngqbjzpg3qc41wl6jh42s9i-libc++-7.1.0/lib/libc++.dylib:
        /nix/store/vd4vvgs9xngqbjzpg3qc41wl6jh42s9i-libc++-7.1.0/lib/libc++.1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
        /nix/store/gmpwk5fyp3iasppqrrdpswxvid6kcp8r-libc++abi-7.1.0/lib/libc++abi.dylib (compatibility version 1.0.0, current version 1.0.0)
        /nix/store/3hn7azynqgp2pm5gpdg45gpq0ia72skg-libc++abi-7.1.0/lib/libc++abi.dylib (compatibility version 1.0.0, current version 1.0.0)
        /nix/store/1nq94scbxs6bk7pimqhvz76q6cfmbv97-Libsystem-osx-10.12.6/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)

Additionally move some utilities (clang, binutils, coreutils, gnugrep)
to the stage layers so they can be replaced before the final
stdenv. This should cause most of stage4 to be built from the
toolchain assembled as of stage3 instead of the bootstrap toolchain.
2020-11-09 20:00:39 +09:00
Jan Tojnar
a821be7531
Merge branch 'master' into staging-next 2020-11-05 09:42:47 +01:00
Daniël de Kok
341aa3d3e0
Merge pull request #102602 from danieldk/rocm-3.9.0
Update ROCm to 3.9.0
2020-11-05 06:59:28 +01:00
Michael Weiss
58c76844d7
llvm_11: Add myself as maintainer
Because I maintain Chromium which always requires the most recent LLVM
release (would be good to get notified on any PRs/issues, especially
since I seem to end up merging most of the PRs anyway).

See #100725.
2020-11-04 13:23:08 +01:00
Frederik Rietdijk
470f05cb5d Merge staging-next into staging 2020-11-03 12:06:41 +01:00
Daniël de Kok
adcf19774c llvmPackages_rocm: 3.8.0 -> 3.9.0
Also fix lld path in the installed CMake files.
2020-11-03 08:47:50 +01:00
Pavol Rusnak
2c931312ce treewide: simplify rev/repo arguments in src
+ use fetchFromGithub where possible
2020-11-01 23:02:24 -08:00
Vladimír Čunát
336bc8283b
Re-Revert "Merge #101508: libraw: 0.20.0 -> 0.20.2"
This reverts commit c778945806.

I believe this is exactly what brings the staging branch into
the right shape after the last merge from master (through staging-next);
otherwise part of staging changes would be lost
(due to being already reachable from master but reverted).
2020-10-26 08:19:17 +01:00
Vladimír Čunát
c778945806
Revert "Merge #101508: libraw: 0.20.0 -> 0.20.2"
I'm sorry; I didn't notice it contained staging commits.

This reverts commit 17f5305b6c, reversing
changes made to a8a018ddc0.
2020-10-25 09:41:51 +01:00
Andrew Childs
722d02a720 treewide: move fixDarwinDylibNames to nativeBuildInputs
This hook runs at build time and depends on executing
install_name_tool from binutils.
2020-10-21 13:26:53 +09:00
Gabor Greif
35f62abdf8
lldb_{10, 11}: polish the cmakeFlags (#100070)
disable RTTI in a more idiomatic way
2020-10-16 19:42:37 +02:00
Michael Weiss
86a4a50e10
Merge pull request #99984 from ggreif/darwin-llvm11
llvmPackages_11: 11.0.0rc5 -> 11.0.0 and various fixes/improvements:
- llvmPackages_11 now compiles on Darwin
- libcxx now compiles on Linux
- Ported #91293 to 11.0.0
- Try to anticipate #100388
2020-10-16 14:57:33 +02:00
Holger Wünsche
6948875e73
llvmPackages_11.compiler-rt: enable support for i486 i586 i686
compiler-rt (and as a result clang) can't be build for i686 (as noticed here: #99984).
The patch adds the required variables and should result in the same behavior as in the nixpkgs-llvm10. It essentially forces to use i386 buildins when using i486, i586 or i686, which are not supported.

Fixes #100392
2020-10-16 14:35:22 +02:00
Gabor Greif
7a30df9225 clang_11: forward-port #91293 2020-10-15 15:00:55 +02:00
Gabor Greif
cffb7cfbf7 llvmPackages_11: 11.0.0rc5 -> 11.0.0
https://lists.llvm.org/pipermail/release-testers/2020-October/001377.html
https://lists.llvm.org/pipermail/llvm-announce/2020-October/000089.html

Fixes:
 - builds on Darwin
 - builds `libcxx` on Linux
2020-10-14 21:18:26 +02:00
TredwellGit
03dd1b355b
llvm_11: link to the llvm compiler-rt share directory from the wrapper (#100190)
A port of #85925 for LLVM 11 to enable CFI for Chromium.

This is required for features such as `-fsanitize=cfi` that (by default)
load the file `…/resource-root/share/cfi_blacklist.txt`.
2020-10-11 14:42:56 +02:00
Michael Weiss
3568e17510
Merge pull request #85925 from andir/llvm-cfi
llvm_10: link to the llvm compiler-rt share directory from the wrapper
2020-10-11 14:36:30 +02:00
Michael Weiss
72cc4d2f0a
llvmPackages_11.clang-unwrapped: Inherit clang-tools-extra_src
So that it can be accessed via llvmPackages_11.clang-unwrapped.clang-tools-extra_src
(e.g. useful for nix-prefetch-url).
2020-10-05 11:52:34 +02:00
Gabor Greif
a64eabfe7c llvm_11: 11.0.0rc3 -> 11.0.0rc5 2020-10-01 01:23:54 +02:00
Gabor Greif
1c0cbf8aea llvm_11: 11.0.0rc2 -> 11.0.0rc3 2020-10-01 01:16:36 +02:00
Daniël de Kok
66d0662548
Merge pull request #98230 from danieldk/rocm-3.8.0
Update to ROCm 3.8.0
2020-09-23 19:25:38 +02:00
Maxim Krivchikov
172f3a197e lldb_5, lldb_6: add patch for >=python-3.7 2020-09-20 08:31:46 -07:00
Daniël de Kok
2db575ecae llvmPackages_rocm: 3.7.0 -> 3.8.0 2020-09-18 20:43:47 +02:00
Michael Weiss
4a82621491
llvm_11: Enable build-id when linking libLLVM shared libs
This is used by mesa.drivers (still on LLVM 9) as a cache key. I've
ported that change to LLVM 11 to test it and so that it doesn't get lost
in future versions. Credit for the change goes to David McFarland.
See #93946 for details.

Co-Authored-By: David McFarland <corngood@gmail.com>
2020-08-26 14:30:46 +02:00
Michael Weiss
28aef45a1a
Merge branch 'llvm_11' into master
This merges #94204 with the only difference being that I modified the
history into three commits that should be easier to review and
understand.

Original history: 3524f4cfa94744bf5058bed6f2e3f6490f4c8e1b
Modified history: df267a4cca
2020-08-25 19:44:53 +02:00
Gabor Greif
df267a4cca
llvm_11: 11.0.0rc1 -> 11.0.0rc2
http://lists.llvm.org/pipermail/release-testers/2020-August/001321.html
2020-08-25 19:42:17 +02:00
Gabor Greif
0a8334d5a0
llvm_11: init at 11.0.0rc1
http://lists.llvm.org/pipermail/release-testers/2020-July/001305.html

TODO: Enable Polly.

Co-authored-by: conferno <conferno@camfex.cz>
2020-08-25 19:42:12 +02:00
Michael Weiss
28f2797a81
llvm_11: Copy all files from llvmPackages_10
This is simply the result of:
cp -r pkgs/development/compilers/llvm/10 pkgs/development/compilers/llvm/11/
2020-08-25 19:42:08 +02:00
Daniël de Kok
280147c510
Merge pull request #95489 from danieldk/rocm-3.7.0
Update ROCm to 3.7.0
2020-08-22 13:30:01 +02:00
Daniël de Kok
89567e2064 llvmPackages_rocm: 3.5.1 -> 3.7.0 2020-08-21 08:50:40 +02:00
Tom Hall
92b4e00ffe llvm_10: disable failing test on 32-bit ARM 2020-08-17 18:27:21 +01:00
John Ericson
b5f7ed6846
Merge pull request #91293 from Ericson2314/cxx-wrapper-debt-part-2
treewide: Get rid of `cc.gcc`
2020-08-02 20:42:20 -04:00
John Ericson
92f96f47b0 treewide: Get rid of cc.gcc
Instead, we have a new `gccForLibs`, which has the appropriate
definition for e.g. avoiding `x86_32` linking problems.
2020-08-02 17:12:05 +00:00
Vladimír Čunát
60d89e5793
Merge branch 'master' into staging 2020-07-29 18:40:28 +02:00
Matthew Bauer
b331c72f03 llvm: setup some symlinks for compatibility with binutils
This is needed for cross-compiling for LLVM.

After https://github.com/NixOS/nixpkgs/pull/94088, we still need some
of these, so I’ve whitelisted those that are in binutils.

/cc @DavidTruby
2020-07-28 15:08:46 -05:00
Matthew Bauer
ea842a7467
Merge pull request #88248 from ggreif/master
llvmPackages_10: 10.0.0 -> 10.0.1
2020-07-28 14:55:16 -05:00
Matthew Bauer
81bb09571f
Merge pull request #94061 from DieGoldeneEnte/llvm-manpage-disable
llvmPackages_{8..10}: comment out broken manpages
2020-07-28 14:54:28 -05:00
Matthew Bauer
b22fc7f03b
Merge pull request #91682 from DieGoldeneEnte/clang_rtti
clang_{5..10}: add RTTI
2020-07-28 14:47:54 -05:00
David Truby
46e5ea5af6 llvm*: remove symlinks to llvm-diff, llvm-as and associated LLVM IR utilities.
These llvm-prefixed utilities are not drop-in replacements for the utilities
with similar names, they are specifically for operating on LLVM IR files.
Symlinking these without the prefix causes incompatibilities with tools that
expect diff, as and others to behave normally.
2020-07-28 16:26:12 +01:00
Holger Wünsche
c4740fcb1b
llvmPackages_{8..10}: comment out broken manpages
This disables all manpages packages depending on recommonmark. This can
be undone once recommonmark supports sphinx 3. The other
manpage-packages don't use recommonmark and don't need to be commented
out.
2020-07-28 09:34:13 +02:00
Gabor Greif
e51d3a0399 llvmPackages_10: 10.0.0 -> 10.0.1
This is a purely bugfix release.

See: http://lists.llvm.org/pipermail/release-testers/2020-July/001297.html
2020-07-26 14:06:56 +02:00
Daniël de Kok
d2754e07bb
Merge pull request #92914 from danieldk/rocm-opencl
rocm-opencl-icd: init at 3.5.0
2020-07-15 18:55:53 +02:00
Daniël de Kok
e492cd92a9 llvmPackages_rocm: init at 3.5.1 2020-07-13 19:58:44 +02:00
Maximilian Bosch
2c60e7c2d0
llvm*: compiler-rt: fix build w/glibc-2.31
https://hydra.nixos.org/build/122885657 and more.

Original upstream fix (available in llvm_10):

   947f969244
2020-06-29 14:41:43 +02:00
Holger Wünsche
0f0b14258b
clang_{5..10}: add RTTI
This fixes problems with missing symbols when using clang as library and
is most likely a result of llvm being build with RTTI enabled.
2020-06-27 20:37:11 +02:00
John Ericson
f3f7612a40 C++ Compilers: Systematize handling of standard libraries 2020-06-22 04:24:44 +00:00
Gabor Greif
d54bfa2a93 compiler-rt{6..10}: fix compilation on Darwin
addendum to https://github.com/NixOS/nixpkgs/pull/85945
2020-05-20 20:10:08 +02:00
John Ericson
1ac5398589 *-wrapper; Switch from infixSalt to suffixSalt
I hate the thing too even though I made it, and rather just get rid of
it. But we can't do that yet. In the meantime, this brings us more
inline with autoconf and will make it slightly easier for me to write a
pkg-config wrapper, which we need.
2020-05-12 00:44:44 -04:00
Atemu
d616ae8c6d llvm/compiler-rt: only apply armv7l patches on aarch32
No need for rebuilds on other platforms
2020-05-10 13:43:17 +09:00
Andrew Childs
d91d2bdf77 compiler-rt: fix build on armv7l 2020-05-10 03:50:38 +09:00
Frederik Rietdijk
9875bbae75 Merge master into staging-next 2020-05-05 19:51:09 +02:00
Atemu
896e2f4ba7 llvm_10: disable libpfm on aarch32
This is a speculative fix since the llvm_10 build runs OOM currently but it
should also be affected.

See parent commit for more info.
2020-05-03 08:11:45 +02:00
Atemu
00f35a4397 llvm_7,8,9: disable libpfm on aarch32
The armv7l builder has has the same issue some of the aarch64 ones have (#56245)

See:
https://hydra.nixos.org/eval/1583749?filter=llvm_&compare=1583176&full=#tabs-still-fail
https://nix-cache.s3.amazonaws.com/log/3ppqyssyqj5d6sh257zfb5rb6km4m6sa-llvm-7.1.0.drv
https://nix-cache.s3.amazonaws.com/log/rmacd5xwkw3lyb6zknc3sgdcb3cvk6k1-llvm-8.0.1.drv
https://nix-cache.s3.amazonaws.com/log/6s8pasqwkrzzv5lgw1l22zy7mrpzx2p3-llvm-9.0.1.drv
2020-05-03 08:11:10 +02:00
Benno Fünfstück
ed2ac0dcfa llvm_10: mark as big-parallel
LLVM builds frequently time out on hydra at least on AArch64. Marking
big-parallel gives them more resources to finish quicker.
2020-05-01 08:48:41 +02:00
Benno Fünfstück
7c27e8749d llvm_9: mark as big-parallel
LLVM builds frequently time out on hydra at least on AArch64. Marking
big-parallel gives them more resources to finish quicker.
2020-05-01 08:48:41 +02:00
Benno Fünfstück
4b3c3e10a6 llvm_8: mark as big-parallel
LLVM builds frequently time out on hydra at least on AArch64. Marking
big-parallel gives them more resources to finish quicker.
2020-05-01 08:48:41 +02:00
Benno Fünfstück
8c880d9434 llvm_7: mark as big-parallel
LLVM builds frequently time out on hydra at least on AArch64. Marking
big-parallel gives them more resources to finish quicker.
2020-05-01 08:48:41 +02:00
Benno Fünfstück
fc6a4600f8 llvm_6: mark as big-parallel
LLVM builds frequently time out on hydra at least on AArch64. Marking
big-parallel gives them more resources to finish quicker.
2020-05-01 08:48:41 +02:00
Matthew Bauer
ff642c5694 llvm/compiler-rt.nix: add i{4,5,6}86 to X86 architecture
Fixes #85622
2020-04-24 10:22:21 -05:00
Andreas Rammhold
d17650b654
llvm_10: link to the llvm compiler-rt share directory from the wrapper
This is required for features such as `-fsanitze=cfi` that (by default)
load the file `…/resource-root/share/cfi_blacklist.txt`.
2020-04-24 11:22:47 +02:00
Jan Tojnar
3d8e436917
Merge branch 'master' into staging-next 2020-04-16 10:09:43 +02:00
Travis Whitaker
74f3b25896 LLVM: Always pass host/target info to compiler-rt/libstdcxxClang 2020-04-13 18:49:27 -04:00
John Ericson
888c1685ad compiler-rt-10: Sync flags with previous versions
In 0c73297c07 I made some changes up to 9
for 20.03 and master, now I do the same for 10 which is just on master.
2020-04-13 13:22:31 -04:00
Jan Tojnar
a04625379a
Merge branch 'master' into staging-next 2020-04-13 18:50:35 +02:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Gabor Greif
e336bdf80e llvmPackages: change homepages to https:// scheme
also: https://www.cmake.org/Wiki/CMake_RPATH_handling has moved
2020-04-05 12:37:24 +02:00
Holger Wünsche
4665b2a9a2
llvmPackages_10: rc5 -> release
updated hashes and url
updated comment regarding version/release_version to make it clearer
2020-03-25 12:10:05 +01:00
Matthew Bauer
c08d6d55dc
Merge pull request #82781 from DieGoldeneEnte/llvm10-rc4
llvmPackages_10: rc3 -> rc4 -> rc5, polly enabled by default
2020-03-22 02:00:41 -04:00
Holger Wünsche
cdee144dfc
llvmPackges_10: rc4 -> rc5
updated versino and hashes for new rc
2020-03-19 17:43:39 +01:00
John Ericson
19a0b38cbe
Merge pull request #82882 from obsidiansystems/armv6-embedded
Misc fixes for armv6 bare metal cross
2020-03-19 10:38:22 -04:00
Holger Wünsche
e9aa8770ea
llvmPackages_10: removed extra polly-build
There is no good reason to have separate builds for polly and no-polly
versions. wwwwwThe reason for the two versions was (as far as I can
tell) to defer rebuilds (see ed60483257).
Polly is now enabled by default.
2020-03-19 10:47:20 +01:00
Holger Wünsche
0ec3f4e26b
llvmPackages_10: rc3 -> rc4
Only needed to update hashes and the version.
Updated comment for extension handling patch
2020-03-19 10:45:57 +01:00
John Ericson
0c73297c07 compiler-rt-{7,8,9}: Fix cmakeFlags in a few ways
- Cross to bare metal with GCC works

 - Flags are deduplicated

 - Darwin bootstrapping for 8 and 0 closer.

 - Flags are same across versions.
2020-03-18 12:10:09 -04:00
John Ericson
bc054004ac cc-wrapper, clang: libstdcxxHook should a propagated build input
Lumping it in with the target platform libraries was incorrect, and
caused eval failures when gcc couldn't be built for the target platform.
2020-03-18 11:28:52 -04:00
John Ericson
99c18b3441 clang-*: Sync wrapping logic
We only want to refer to GCC under these conditions.
2020-03-18 11:28:05 -04:00
Gabor Greif
3a84353edb llvmPackages_10: rc2 -> rc3
http://lists.llvm.org/pipermail/llvm-dev/2020-March/139729.html

Additionally cherry-picked 3 commits from `llvm-project/master`:
- llvm/llvm-project@d21664c
- llvm/llvm-project@3a0f6e6
- llvm/llvm-project@87dac7d

such that clang can automatically pick up the polly plugin from the
`llvm-polly` build.
2020-03-07 20:11:59 +01:00
Vladimír Čunát
fb6ceb45ba
Merge #80124: llvmPackages_5.compiler-rt: fix for glibc bump 2020-03-02 15:41:52 +01:00
Gabor Greif
f111c6f9ce llvmPackages_10: copy llvmPackages_9
* starting with rc2
* make `lldb` compilable again on Darwin
* separate out manpage creation for `lldb` into a new derivation
* minor tweaks to the patching of sources,
  some of which are backportable to earlier versions
2020-02-25 13:24:27 +01:00
Will Dietz
c25e18089a
llvmPackages_5.compiler-rt: fix for glibc bump using upstream fix 2020-02-14 10:59:31 -06:00
Frederik Rietdijk
c195ef6aab
Merge pull request #78928 from NixOS/staging-next
Staging next
2020-02-02 15:35:18 +01:00
Luka Blaskovic
0fc6280715 llvm_4: remove 2020-01-30 18:35:31 -05:00
Luka Blaskovic
0eafee8328 llvm_39: remove 2020-01-30 18:35:30 -05:00
Luka Blaskovic
3a12a7cde8 llvm_35: remove 2020-01-30 18:35:30 -05:00
Matthew Bauer
db29857eb3 Re-Revert "clang_7,clang_8,clang_9: fix compilation of HIP-code"
This reverts commit f14a4d60b7, and thus
applying 558af6fbc7.
2020-01-28 11:35:19 -05:00
Anders Kaseorg
3cd8ce3bce treewide: Fix unsafe concatenation of $LD_LIBRARY_PATH
Naive concatenation of $LD_LIBRARY_PATH can result in an empty
colon-delimited segment; this tells glibc to load libraries from the
current directory, which is definitely wrong, and may be a security
vulnerability if the current directory is untrusted.  (See #67234, for
example.)  Fix this throughout the tree.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2020-01-15 09:47:03 +01:00
Frederik Rietdijk
bc18cc72dd
Merge pull request #77610 from LnL7/darwin-stdenv-python3
darwin-stdenv: bootstrap with python3
2020-01-15 09:24:57 +01:00
Daiderd Jordan
d0a90de910
llvmPackages: python2 -> python3 2020-01-13 11:13:56 +01:00
Matthew Bauer
cc669a18fb
Merge pull request #76669 from xbreak/clang-cmake-fix
clang_9: Correct ClangTargets-release.cmake
2020-01-06 15:42:34 -05:00
Frederik Rietdijk
828f93a326 Merge master into staging-next 2020-01-05 16:00:21 +01:00
John Ericson
ebec1d12a3
Merge pull request #76887 from corngood/llvm-cross-fix
llvm: use correct version of tablegen when cross compiling _8 and _9
2020-01-03 13:25:39 -05:00
David McFarland
6c86a2b5bb llvm: use correct version of tablegen when cross compiling _8 and _9 2020-01-03 10:38:43 -04:00
Will Dietz
dc0c28a762
clang_9: fix unpackPhase 2020-01-01 12:42:59 -06:00
Will Dietz
21b0162383
llvmPackages_9: 9.0.0 -> 9.0.1
Fetch from github release page,
as that's where https://releases.llvm.org/9.0.1 redirects.
2020-01-01 12:42:58 -06:00
Maximilian Bosch
129fbd7550
clang_4: fix build w/gcc9
As noted in the incorporated patch, name collisions between lambda
arguments and lambda captures cause compilation failures in GCC9[1].

The issue has been fixed in a later version of CLang, unfortunately the
relevant patches weren't backported to the versions 3.9 and 4.0[2].

[1] http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2211
[2] bb177a9307 (diff-d63bede6ed85300ad2aaf4eaee571456L6278)
2019-12-30 02:50:50 +01:00
Maximilian Bosch
2e5fd9f03e
clang_39: fix build w/gcc9 2019-12-30 02:50:50 +01:00
xbreak
6748dd4ca0 clang_9: Correct ClangTargets-release.cmake
Since commit 4271020 libclang-cpp is also moved to $lib. This adds the missing
substitution in ClangTargets-release.cmake.
2019-12-29 23:26:32 +00:00
Franz Pletz
77b6c3cd06
Merge remote-tracking branch 'origin/master' into gcc-9 2019-12-26 14:17:36 +01:00
Joachim F
90f08689c3
Merge pull request #73766 from kmcopper/staging-compiler-rt
staging: compiler-rt scudo compatibility
2019-11-26 15:54:12 +00:00
John Ericson
6d3b7458cc
Merge pull request #74065 from Ericson2314/cc-versions
compilers, binutils: Add version and pname
2019-11-24 18:35:13 -05:00
Craig Hall
c40bf6ea3f llvm-manpages: Use pname 2019-11-24 18:32:26 +00:00
Craig Hall
4bcae6f8a7 llvm: Use pname 2019-11-24 18:32:26 +00:00
Craig Hall
a33dbd38cb clang-manpages: Use pname 2019-11-24 18:32:26 +00:00
Craig Hall
f1255e45db clang: Use pname 2019-11-24 18:32:26 +00:00
Craig Hall
2c59c1deb5 llvm: Add version attribute 2019-11-24 18:32:26 +00:00
Craig Hall
5a9c95d4d2 clang: Add version attribute 2019-11-24 18:32:26 +00:00
Kyle Copperfield
19adae30c1 llvm/compiler-rt: default to compatible scudo options 2019-11-19 16:10:39 +00:00
Frederik Rietdijk
c6e31d0767 Merge master into staging-next 2019-11-14 13:31:39 +01:00
Matthew Bauer
1c3deb9642
Merge pull request #73084 from lopsided98/llvm-7-armv6l
llvm_7: disable failing test on armv6l
2019-11-13 17:20:13 -05:00
Ben Wolsieffer
50c315fc4d llvm_9: disable failing test on armv6l 2019-11-09 11:01:12 -05:00
Ben Wolsieffer
e50b8fcfbd llvm_7: disable failing test on armv6l 2019-11-08 18:44:16 -05:00
Ben Wolsieffer
d67cd40cd8 llvm_9: disable failing tests on 32-bit ARM 2019-11-08 17:54:08 -05:00
Matthew Bauer
c10098322a
Merge pull request #70244 from nmattia/nm-fix-libcxx
libcxx: fix build on linux musl
2019-11-07 17:13:09 -05:00
Franz Pletz
4cbe75c067
llvm_4: fix build with gcc9 2019-11-05 22:11:26 +01:00
Franz Pletz
efeae34a34
llvm_5: fix build with gcc9 2019-11-05 19:08:18 +01:00
Matthew Bauer
977a311c1f
Merge pull request #70364 from matthewbauer/fix-clang-9-macos
llvm9/clang.nix: fix clang on macos
2019-10-04 11:01:51 -04:00
Nicolas Mattia
fadd37ba46 libcxx: don't produce shared libs on musl 2019-10-04 10:51:11 +02:00
Nicolas Mattia
e494de20b3 libcxxapi: don't produce shared libs on musl 2019-10-04 10:51:10 +02:00
Matthew Bauer
42710203b0 llvm9/clang.nix: fix clang on macos
Fixes #70243
2019-10-03 23:40:05 -04:00
Nicolas Mattia
76b54c75b3 libcxxabi: don't depend on libunwind 2019-10-03 13:39:19 +02:00
Matthew Bauer
1f95c9c933 llvm9/compiler-rt: fix on i686 2019-09-30 21:27:22 -04:00
Matthew Bauer
a7dc5c685e llvm/compiler: preserve hashes
Don’t require a mass rebuild for this fix.
2019-09-30 21:24:27 -04:00
Matthew Bauer
d303a2f431 llvm/compiler-rt: fix on i686
Only turn on cross related flags when useLLVM = true.

Fixes #66693
2019-09-30 21:24:27 -04:00
arcnmx
607a4a6e3a llvmPackages_9.compiler-rt: remove crt patch
This doesn't apply because it was merged upstream.
2019-09-29 18:34:31 -07:00
Vladimír Čunát
de99e7ce94
Merge #69115: llvmPackages_9: init 2019-09-29 11:03:06 +02:00
Joachim Fasting
bad07dfac5
tree-wide: replace uses of splitString "." with lib.versions
Quoting from the splitString docstring:

   NOTE: this function is not performant and should never be used.

This replaces trivial uses of splitString for splitting version
strings with the (potentially builtin) splitVersion.
2019-09-26 17:42:49 +02:00
Will Dietz
233ba4052a
llvm_9: fix test failing on non-x86, such as our aarch64 2019-09-20 22:08:05 -05:00
Will Dietz
9943cb0fa1
lldb_9: fix build, nixpkgs-fmt 2019-09-19 18:40:47 -05:00
Will Dietz
73b11eb566
llvmPackages_9: fetch from releases.llvm.org ("for now") 2019-09-19 18:39:03 -05:00
Will Dietz
60f4d2f660
clang_9: drop included patches 2019-09-19 15:34:42 -05:00
Will Dietz
74b529b43e
llvm_9: fix utf8 test by using builtin locale C.UTF-8 2019-09-19 14:39:37 -05:00
Will Dietz
f52b3afc8d
clang_9: wiggle the purity.patch so it applies 2019-09-19 14:07:15 -05:00
Will Dietz
99eeff0f69
llvmPackages_9: hashes, pname-ification 2019-09-19 13:24:37 -05:00
Will Dietz
9552213d07
llvmPackages_9: copy llvmPackages_8 2019-09-19 13:19:41 -05:00
Frederik Rietdijk
5f4734b1dd Merge remote-tracking branch 'upstream/gcc-8' into staging-next
Earlier the gcc8 branch was merged instead of the gcc-8 branch (note the dash)...
2019-09-08 20:44:26 +02:00
Franz Pletz
de85797565
Merge remote-tracking branch 'origin/master' into gcc-8 2019-09-03 22:15:07 +02:00
Franz Pletz
be9901afe2
llvm_38: drop since it doesn't build with gcc8 2019-09-03 22:04:44 +02:00
Franz Pletz
e3434a3c36
llvm_4: fix build with gcc8 2019-09-03 21:24:40 +02:00
volth
08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
Robin Gloster
616b8343c4
Merge remote-tracking branch 'upstream/master' into gcc-8 2019-08-25 18:55:46 +02:00
volth
c814d72b51 treewide: name -> pname 2019-08-17 10:54:38 +00:00
Frederik Rietdijk
fe9a3e3e63 Merge staging-next into staging 2019-08-17 09:39:23 +02:00