Commit Graph

693 Commits

Author SHA1 Message Date
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
volth
46420bbaa3 treewide: name -> pname (easy cases) (#66585)
treewide replacement of

stdenv.mkDerivation rec {
  name = "*-${version}";
  version = "*";

to pname
2019-08-15 13:41:18 +01:00
Matthew Bauer
579168b537
Merge pull request #65483 from arcnmx/pr-llvm-baremetal
llvm8 bare metal fixes
2019-08-14 10:16:57 -04:00
Matthew Bauer
554a789403
Merge pull request #65537 from Holo-Host/201907/extend-static
pkgsStatic: override libunwind
2019-08-13 12:47:03 -04:00
Orivej Desh
c9091c1d9d llvmPackages_8: 8.0.0 -> 8.0.1
Starting with 8.0.1 and 7.1.0 LLVM has moved release hosting to GitHub.
2019-08-05 23:32:16 +00:00
Yegor Timoshenko
cdee3b7966
llvmPackages_8.libraries.libunwind: add enableShared option 2019-07-29 03:08:02 +03:00
arcnmx
24070da9c4 llvmPackages_8.compiler-rt: bare-metal support
Bare-metal targets require a few additional options to be set.
2019-07-27 15:11:31 -07:00
arcnmx
a5e2b76e51 llvmPackages_8.clang: bare-metal driver linker fix
Clang passes an incorrect -l linker flag for compiler-rt.

See https://reviews.llvm.org/D51899
2019-07-27 15:04:02 -07:00
Dmitry Kalinkin
325f37f935 llvm_*,clang_*: allow src overrides 2019-07-17 10:30:05 +02:00
Daiderd Jordan
42705e70a7
lldb: fix darwin sandboxed build 2019-07-03 22:20:25 +02:00
Graham Christensen
7d62e4b024
llvm_7,8: disable libpfm on aarch64
See https://github.com/nixos/nixpkgs/issues/56245

Testing: 0 ..
FAIL: LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/PerfHelperTest.FunctionalTest (2933 of 27000)
******************** TEST 'LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/PerfHelperTest.FunctionalTest' FAILED ********************
Note: Google Test filter = PerfHelperTest.FunctionalTest
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from PerfHelperTest
[ RUN      ] PerfHelperTest.FunctionalTest
/build/llvm/unittests/tools/llvm-exegesis/PerfHelperTest.cpp:37: Failure
      Expected: CallbackEventName
            Which is: ""
            To be equal to: "CYCLES:u"
            /build/llvm/unittests/tools/llvm-exegesis/PerfHelperTest.cpp:38: Failure
            Value of: CallbackEventNameFullyQualifed
            Expected: isn't empty
              Actual: ""
              [  FAILED  ] PerfHelperTest.FunctionalTest (3 ms)
              [----------] 1 test from PerfHelperTest (3 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (3 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] PerfHelperTest.FunctionalTest

 1 FAILED TEST
 invalid event attribute - cannot create event CYCLES:u

********************
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..

1 warning(s) in tests.
Testing Time: 108.19s
********************
Failing Tests (1):
    LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/PerfHelperTest.FunctionalTest

  Expected Passes    : 25609
    Expected Failures  : 141
      Unsupported Tests  : 1249
        Unexpected Failures: 1
        make[3]: *** [CMakeFiles/check-all.dir/build.make:58: CMakeFiles/check-all] Error 1
        make[3]: Leaving directory '/build/llvm/build'
        make[2]: *** [CMakeFiles/Makefile2:365: CMakeFiles/check-all.dir/all] Error 2
        make[2]: Leaving directory '/build/llvm/build'
        make[1]: *** [CMakeFiles/Makefile2:372: CMakeFiles/check-all.dir/rule] Error 2
        make[1]: Leaving directory '/build/llvm/build'
        make: *** [Makefile:251: check-all] Error 2
        builder for '/nix/store/4kq72x6ahrigryr6yjjj7c7ayqy8z2sl-llvm-7.0.1.drv' failed with exit code 2Testing: 0 ..
        FAIL: LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/PerfHelperTest.FunctionalTest (2933 of 27000)
        ******************** TEST 'LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/PerfHelperTest.FunctionalTest' FAILED ********************
        Note: Google Test filter = PerfHelperTest.FunctionalTest
        [==========] Running 1 test from 1 test case.
        [----------] Global test environment set-up.
        [----------] 1 test from PerfHelperTest
        [ RUN      ] PerfHelperTest.FunctionalTest
        /build/llvm/unittests/tools/llvm-exegesis/PerfHelperTest.cpp:37: Failure
              Expected: CallbackEventName
                    Which is: ""
                    To be equal to: "CYCLES:u"
                    /build/llvm/unittests/tools/llvm-exegesis/PerfHelperTest.cpp:38: Failure
                    Value of: CallbackEventNameFullyQualifed
                    Expected: isn't empty
                      Actual: ""
                      [  FAILED  ] PerfHelperTest.FunctionalTest (3 ms)
                      [----------] 1 test from PerfHelperTest (3 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (3 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] PerfHelperTest.FunctionalTest

 1 FAILED TEST
 invalid event attribute - cannot create event CYCLES:u

********************
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..

1 warning(s) in tests.
Testing Time: 108.19s
********************
Failing Tests (1):
    LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/PerfHelperTest.FunctionalTest

  Expected Passes    : 25609
    Expected Failures  : 141
      Unsupported Tests  : 1249
        Unexpected Failures: 1
        make[3]: *** [CMakeFiles/check-all.dir/build.make:58: CMakeFiles/check-all] Error 1
        make[3]: Leaving directory '/build/llvm/build'
        make[2]: *** [CMakeFiles/Makefile2:365: CMakeFiles/check-all.dir/all] Error 2
        make[2]: Leaving directory '/build/llvm/build'
        make[1]: *** [CMakeFiles/Makefile2:372: CMakeFiles/check-all.dir/rule] Error 2
        make[1]: Leaving directory '/build/llvm/build'
        make: *** [Makefile:251: check-all] Error 2
        builder for '/nix/store/4kq72x6ahrigryr6yjjj7c7ayqy8z2sl-llvm-7.0.1.drv' failed with exit code 2
2019-06-29 14:54:52 -04:00
Robin Gloster
5761727e21
llvm: add patch to fix build with gcc8 2019-06-17 07:05:57 +02:00
volth
f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Matthew Bauer
4e74a13fcb
Merge pull request #62894 from womfoo/fix/llvm_7-skip-x86-tests-on-armv7l
llvm_7: skip failing X86 test cases on armv7l
2019-06-11 17:45:44 -04:00
Kranium Gikos Mendoza
744ab4254c llvm_7: skip failing X86 test cases on armv7l
fixes #57472
2019-06-09 23:36:06 +10:00
Austin Seipp
de1110d535
pkgs: remove llvm_37
These expressions are now unused, and can be removed to lighten the load
on build machines.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-14 14:23:22 -05:00
Matthew Bauer
78a6156c55
Merge pull request #61111 from matthewbauer/fix-lldb-7
lldb_7: fix broken build on darwin
2019-05-12 15:22:20 -04:00
Gabor Greif
bd8da4e0ed
clang: typo in comment 2019-05-10 11:29:09 +02:00
Matthew Bauer
555bbe0068 lldb_7: fix broken build on darwin 2019-05-07 19:41:39 -04:00
Daiderd Jordan
626a95a9b4 llvm: create all versioned symlinks for libLLVM on darwin
Apply eb31e481475 to older versions where applicable.
2019-05-04 17:32:43 +02:00
Daiderd Jordan
807ba5f123 llvm: fix llvm-config on darwin
With 7.1 llvm-config looks for libLLVM-7.1.dylib, but the shortVersion
was still 7 so only 7 and 7.1.0 where aliased before.

	$ llvm-config --link-shared
	llvm-config: error: libLLVM-7.1.dylib is missing
2019-05-04 17:32:43 +02:00
Matthew Bauer
87944c3125
Merge pull request #56744 from matthewbauer/macos-10-12
Update macOS to 10.12
2019-04-26 22:20:03 -04:00
Matthew Bauer
da38a49a24 treewide: mark bad packages
Some old stuff is known not to work.
2019-04-26 21:55:11 -04:00
Matthew Bauer
c08fe0f8b1 llvm8: remove compiler-rt gettime patch
This was removed in llvm 7 but not for llvm 8.
2019-04-26 21:54:58 -04:00
Matthew Bauer
0fe315c9b6 treewide: remove old patches for macOS
These shouldn’t be needed now that we are on macOS 10.12.
2019-04-26 21:54:32 -04:00
Will Dietz
6c140d1a9a llvm7: drop patch included (and is the primary motivation for 7.1.0) 2019-04-25 22:50:18 -05:00
Will Dietz
ac1ffe5cfd llvmPackages_7: 7.0.1 -> 7.1.0 2019-04-25 22:50:18 -05:00
Matthew Bauer
a4cfd50004 libcxxabi: apply libcxxabi-wasm patch 2019-04-23 21:48:58 -04:00
John Ericson
9044f57d18 compiler-rt: Don't try to build a test executable
Got this trick from stack overflow to avoid needing compiler-rt to link
the test exe before building compiler-rt. a static lib isn't linked at
all, and so breaks the cycle.
2019-04-23 21:48:58 -04:00
John Ericson
1a7a96a093 stdenv, compiler-rt: Compress WASI conditionals 2019-04-23 21:48:58 -04:00
Matthew Bauer
556466d52f wasm: set -fno-exceptions
We need this to support C++ code.
2019-04-23 21:48:58 -04:00
Matthew Bauer
d591a109be wasm: don’t assume musl 2019-04-23 21:48:57 -04:00
Matthew Bauer
9abff4af4f wasm: init cross target
Adds pkgsCross.wasm32 and pkgsCross.wasm64. Use it to build Nixpkgs
with a WebAssembly toolchain.

stdenv/cross: use static overlay on isWasm

isWasm doesn’t make sense dynamically linked.
2019-04-23 21:48:57 -04:00
Will Dietz
640fd92709 llvmPackages_7.compiler-rt: fix typo 2019-04-23 00:35:35 -05:00
John Ericson
6794b01658 clang 8, lldClangStdenv: Get LLVM's unwind working properly
Backport the `--unwindlib` flag, so it don't try to use libgcc on Linux
for hysterical reasons. The alternative of passing `-lunwind` always
would mess up C.
2019-04-12 13:19:48 -04:00
Matthew Bauer
d453273fbf llvm8: support c++ in cross case
this adds libc++ to the LLVM cross, giving us access to the full
Nixpkgs set. This requires 4 stages of wrapped compilers:

- Clang with no libraries
- Clang with just compiler-rt
- Clang with Libc, and compiler-rt
- Clang with Libc++, Libc, and compiler-rt
2019-04-11 21:28:51 -04:00
Matthew Bauer
d95c4d799c
Merge pull request #59294 from matthewbauer/clang8-fix-darwin
clang8: apply patch to disable xpc
2019-04-11 13:39:59 -04:00
Matthew Bauer
097122d2fd clang8: apply patch to disable xpc 2019-04-10 22:42:01 -04:00
Vladimír Čunát
526c4292ae
Merge branch 'staging-next'
This iteration was long, about five weeks (2fcb11a2), I think.
Darwin: it's missing a few thousand binaries and there's a make-netbsd
regression, but I suppose these aren't merge blockers.
2019-04-06 13:20:53 +02:00
Jan Tojnar
cb1a20499a
Merge branch 'master' into staging 2019-04-05 11:37:15 +02:00
Tadeo Kondrak
341f65a1e4
lldb: install vscode plugin; vscode-extensions: add it 2019-04-04 02:30:26 -06:00
Frederik Rietdijk
b40d752872 Merge master into staging-next 2019-03-23 09:18:41 +01:00
Wael M. Nasreddine
5af0780492
Merge remote-tracking branch 'origin/master' into staging
* origin/master: (693 commits)
  buildGoModule: use go_1_12 instead of go_1_11 (#58103)
  gitAndTools.lab: 0.15.2 -> 0.15.3 (#58091)
  signal-desktop: 1.22.0 -> 1.23.0
  added missing semicolon to documentation
  terminus_font_ttf: 4.46.0 -> 4.47.0
  buildGoModule: remove SSL env vars in favor of cacert in buildInputs (#58071)
  dav1d: init at 0.2.1
  dropbox-cli: 2018.11.28 -> 2019.02.14
  atlassian-confluence: 6.14.1 -> 6.14.2
  maintainers: update email for dywedir
  python.pkgs.hglib: use patch to specify hg path (#57926)
  chkrootkit: 0.52 -> 0.53
  radare2-cutter: 1.7.2 -> 1.8.0
  autorandr: 1.7 -> 1.8
  pythonPackages.pyhepmc: fix build
  llvm-polly/clang-polly: use latest llvm
  apulse: 0.1.11.1 -> 0.1.12, cleanup
  factorio: experimental 0.17.14 → 0.17.16 (#58000)
  sequeler: 0.6.7 -> 0.6.8
  nasc: 0.5.1 -> 0.5.2
  ...
2019-03-21 21:01:25 -07:00
Will Dietz
baa62d9ac6
Merge pull request #57980 from dtzWill/update/compilerrt-crtbegin-patch
llvmPackages_{7,8}.compiler-rt: update crtbegin-and-end.patch
2019-03-21 17:47:51 -05:00
Will Dietz
bb7e9e46a0
Merge pull request #57970 from dtzWill/update/llvm8
llvmPackages_8: rc5 -> 8.0.0 release!
2019-03-20 23:56:46 -05:00
Will Dietz
8d378eb822 llvmPackages_8: disable sanitizers/etc w/musl
Patch needs porting and was uncertain anyway.
2019-03-20 13:28:46 -05:00
Will Dietz
8fa5d4ab1a llvm8: remove failing test to fix w/musl 2019-03-20 13:28:36 -05:00
Will Dietz
1cca46a498 llvmPackages_{7,8}.compiler-rt: update crtbegin-and-end.patch
Minor changes after review, see linked page for discussion.
2019-03-20 13:26:49 -05:00
Will Dietz
5c4aed5c8a llvmPackages_8: rc5 -> 8.0.0 release 2019-03-20 09:56:20 -05:00
Graham Christensen
49551b6feb
llvm: mark as big-parallel
Big parallel jobs get many more (45) aarch64 cores than standard builds.
2019-03-17 08:29:14 -04:00
Will Dietz
91b1806476 llvmPackages_8: rc3 -> rc5 2019-03-12 16:39:44 -05:00
Frederik Rietdijk
5d7ab31949 Merge master into staging-next 2019-03-05 08:32:52 +01:00
Will Dietz
145f213806 llvmPackages_8: rc2 -> rc3 2019-03-03 21:54:26 -06:00
Matthew Bauer
7874ca5b61
Merge pull request #56645 from matthewbauer/llvm-8
llvm8: init
2019-03-03 21:00:36 -05:00
Matthew Bauer
52cb072562 llvm8: init 2019-03-01 23:42:10 -05:00
Frederik Rietdijk
205e0fc5bd Merge staging-next into staging 2019-03-01 09:22:21 +01:00
Frederik Rietdijk
2fcb11a244 Merge staging-next into master 2019-03-01 09:06:20 +01:00
Pierre Bourdon
7541e4f8ac
llvm/7/compiler-rt: define CMAKE_*_COMPILER_TARGET unconditionally
When building with -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON the compiler-rt
CMake configuration attempts to use CMAKE_*_COMPILER_TARGET variables,
which are usually only defined in cross-compilation mode.
2019-02-28 04:29:05 +01:00
Matthew Bauer
5c46f77249
Merge pull request #56197 from matthewbauer/cross-fixes3
Android and related cross fixes
2019-02-26 20:30:53 -05:00
Matthew Bauer
b86e62d30d llvm: support cross compilation with useLLVM flag
You can build (partially) with LLVM toolchain using the useLLVM flag.
This works like so:

  nix-build -A hello --arg crossSystem '{ system =
    "aarch64-unknown-linux-musl"; useLLVM = true }'

also don’t separate debug info in lldClang

It doesn’t work currently with that setup hook. Missing build-id?
2019-02-26 19:45:35 -05:00
Matthew Bauer
ead13a3aca llvm: don’t use targetPlatform
LLVM should be target independent because it will work with all
machine types. This is different from GCC where it needs to know what
target to build ahead of time.
2019-02-26 19:45:35 -05:00
Will Dietz
ed60483257
llvm-polly,clang-polly: Add llvm/clang variants w/polly support (#55065)
* llvm: build w/polly in-tree, optionally

Don't enable by default yet, defer rebuilds.

* top-level: llvm-polly, clang-polly

* bit hacky re:overrides
* need to explicitly set cmake flags for clang to link in polly
2019-02-25 15:20:52 -06:00
Matthew Bauer
e36cd48b6e llvm: don’t use targetPlatform
LLVM should be target independent because it will work with all
machine types. This is different from GCC where it needs to know what
target to build ahead of time.
2019-02-24 17:00:48 -05:00
Matthew Bauer
be6d030b98 llvm6: remove enableTargets
These are no longer used. We build all targets now.
2019-02-24 17:00:48 -05:00
Matthew Bauer
5d0b0bbf30
Merge pull request #56030 from matthewbauer/revert-72e176
Revert "libcxx: add linker scripts for libc++.a to ensure libc++abi.a…
2019-02-19 11:45:37 -05:00
Matthew Bauer
8cb7ea7dae Revert "libcxx: add linker scripts for libc++.a to ensure libc++abi.a is properly linked"
This reverts commit 72e1764199.

This causes the GHC panic reported in issue #55848.
2019-02-18 20:52:08 -05:00
Frederik Rietdijk
6fe10d2779 Merge master into staging-next 2019-02-16 09:29:54 +01:00
Frederik Rietdijk
a25d48cd4f Merge master into staging 2019-02-14 11:35:50 +01:00
Tobias Mayer
2da868d81e Add shim for clock_gettime until macos >= 10.12 2019-02-13 13:08:57 +01:00
Frederik Rietdijk
7257dedd7c Merge master into staging-next 2019-02-13 12:33:29 +01:00
Vladimír Čunát
c40f211499
Merge branch 'staging-next'
It's not completely without regressions, but ATM it seems to bring more
upsides than downsides and the iteration is too long already.
2019-02-10 14:20:49 +01:00
Matthew Bauer
b60b8226d6 llvm7: don’t link to libatomic on darwin 2019-02-09 13:40:28 -05:00
Luka Blaskovic
0ae0273803
llvm7: backport patches, fix building rust crates with lto
See: https://github.com/rust-lang/rust/issues/57762
(cherry picked from commit c340704bd3)
2019-02-01 18:24:54 +01:00
Will Dietz
75df522844
Merge #54998: llvm7: replace patch with official upstream commit
(cherry picked from commit 442a74bdf8)
2019-02-01 18:18:05 +01:00
Will Dietz
636ae80940 llvm7: replace patch with official upstream commit
Hopefully this also addresses any problems enountered
with the patch used previously.
2019-01-31 10:24:37 -06:00
Jörg Thalheim
6f6900495d
Merge pull request #54323 from lblasc/rust132
rust: 1.31.0 -> 1.32.0
2019-01-28 16:14:57 +00:00
Matthew Bauer
bb3683d778
Merge pull request #54624 from matthewbauer/libcxx
cc-wrapper: add libcxx for libcxxClang
2019-01-27 13:55:18 -05:00
Matthew Bauer
77550df8e6 cc-wrapper: add libcxx for libcxxClang
clang needs to find headers + libraries for compiling with libc++. We
need to add a libcxx argument to cc-wrapper. This means you do not
have to pass in c++ headers directly.

This resolves the last case remaining of #30670. Darwin clang++ now
works properly.

Fixes #30670
2019-01-26 22:45:15 -05:00
Luka Blaskovic
c340704bd3 llvm7: backport patches, fix building rust crates with lto
See: https://github.com/rust-lang/rust/issues/57762
2019-01-22 08:09:37 +00:00
Viktor Kleen
469ecc7098
llvm: support PowerPC 2019-01-19 18:04:05 -08:00
Will Dietz
946be0ed99 llvm7: patch to fix PR39427
See linked issue for discussion,
but key bits:

* rustc breaks without this
* fix changes ABI, may become 7.1.0
2019-01-16 16:54:59 -06:00
Orivej Desh
d6f401e132 llvm_6, llvm_7: build all default targets (#53941)
This makes LLVM tools (including dependent tools such as LLD) readily useful in
more situations, foresees such needed additions as BPF and NVPTX, and brings
llvm_6 and newer on par with the current default llvm_5.
2019-01-15 04:59:49 +00:00
Will Dietz
5e2ac7e5fd llvm6: enable BPF target here as well 2019-01-13 21:30:24 -06:00
Will Dietz
3054cbd3f2 llvm: include BPF target too, otherwise can't build bcc 2019-01-13 20:59:09 -06:00
Franz Pletz
237deba4e7
Merge remote-tracking branch 'origin/master' into staging 2019-01-10 16:00:34 +01:00
Vladimír Čunát
287144e342
Merge branch 'master' into staging-next 2019-01-10 13:07:21 +01:00
Matthew Bauer
09ff7707ae llvm3.{8,9}: use old CMAKE_INSTALL_NAME_DIR value
adcf4aa524 broke these two. The old way
seems to work and might still avoid the original lldb issues.
2019-01-06 22:11:38 -06:00
Daniel Goertzen
1c10efc912 add generic x86_32 support (#52634)
* add generic x86_32 support

- Add support for i386-i586.
- Add `isx86_32` predicate that can replace most uses of `isi686`.
- `isi686` is reinterpreted to mean "exactly i686 arch, and not say i585 or i386".
- This branch was used to build working i586 kernel running on i586 hardware.

* revert `isi[345]86`, remove dead code

- Remove changes to dead code in `doubles.nix` and `for-meta.nix`.
- Remove `isi[345]86` predicates since other cpu families don't have specific model predicates.

* remove i386-linux since linux not supported on that cpu
2019-01-06 12:57:36 -06:00
Will Dietz
cc97d49404 llvm7: 7.0.0 -> 7.0.1 2018-12-29 12:54:57 -06:00
Jan Tojnar
ff22d90308
mesa_noglu: fix build
LLVM’s `LLVM_TARGETS_TO_BUILD` build flag defauls to `all`, which contains
`AMDGPU` among others. [1] Changes in llvm [2] switched to explicitly listing
host and target platforms, excluding the AMDGPU target, which is required
for Mesa to build.

[1]: db50b6fe39/CMakeLists.txt (L286-L302)
[2]: https://github.com/NixOS/nixpkgs/pull/52031
2018-12-24 23:41:36 +01:00
Jan Tojnar
192f4171d8
llvm: allow passing arbitrary targets
Mesa requires AMDGPU target but previously, we only allowed a pre-defined set
of targets.
2018-12-24 15:38:55 +01:00
Jan Tojnar
ef935fa101
Merge branch 'master' into staging 2018-12-24 15:02:29 +01:00
Jörg Thalheim
1b146a8c6f
treewide: remove paxutils from stdenv
More then one year ago we removed grsecurity kernels from nixpkgs:
https://github.com/NixOS/nixpkgs/pull/25277

This removes now also paxutils from stdenv.
2018-12-22 12:55:05 +01:00
James Kay
72e1764199
libcxx: add linker scripts for libc++.a to ensure libc++abi.a is properly linked 2018-12-17 18:59:19 +00:00