Commit graph

731 commits

Author SHA1 Message Date
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