Commit Graph

170 Commits

Author SHA1 Message Date
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
Ben Siraphob
acc5f7b18a pkgs/development/compilers: stdenv.lib -> lib 2021-01-23 08:57:37 +07: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
Vladimír Čunát
ac03cfa3c5
Revert "Merge #94582: clang, cc-wrapper: Move --gcc-toolchain logic..."
This reverts commit 0f25eb3e7d, reversing
changes made to df91ae1ac0.

These toolchain changes are too problematic, so reverting for now; see
https://github.com/NixOS/nixpkgs/pull/107086#issuecomment-749196366
2020-12-21 22:27:54 +01:00
John Ericson
11302dc1cf clang, cc-wrapper: Move --gcc-toolchain logic into CC wrapper 2020-11-29 16:18:01 +00: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
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
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
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
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
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
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
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
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
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
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
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
Daiderd Jordan
d0a90de910
llvmPackages: python2 -> python3 2020-01-13 11:13:56 +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
Ben Wolsieffer
e50b8fcfbd llvm_7: disable failing test on armv6l 2019-11-08 18:44:16 -05: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
Nicolas Mattia
76b54c75b3 libcxxabi: don't depend on libunwind 2019-10-03 13:39:19 +02: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
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
volth
08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
volth
c814d72b51 treewide: name -> pname 2019-08-17 10:54:38 +00: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
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
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
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
Matthew Bauer
555bbe0068 lldb_7: fix broken build on darwin 2019-05-07 19:41:39 -04: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
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
Will Dietz
640fd92709 llvmPackages_7.compiler-rt: fix typo 2019-04-23 00:35:35 -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
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
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
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
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
3054cbd3f2 llvm: include BPF target too, otherwise can't build bcc 2019-01-13 20:59:09 -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
ef935fa101
Merge branch 'master' into staging 2018-12-24 15:02:29 +01:00