Commit graph

630 commits

Author SHA1 Message Date
Aaron Janse 60fd049b65 redox: add as target 2020-07-21 13:11:36 -07:00
Maximilian Bosch 114f97e77e
gcc49: fix build w/glibc-2.31
The same `libsanitizer` problem as in llvm<10 and newer GCCs.

https://hydra.nixos.org/build/122902814
https://hydra.nixos.org/build/122903349
2020-06-29 14:41:43 +02:00
Maximilian Bosch d348694fb6
gcc6: fix build w/glibc-2.31 2020-06-29 14:41:42 +02:00
Maximilian Bosch cff1a1eefc
gcc7: fix build w/glibc-2.31
Applied a patch from the `gcc9` branch for `gcc7` to fix `libsanitizer`
for glibc-2.31.
2020-06-29 14:41:42 +02:00
John Ericson f3f7612a40 C++ Compilers: Systematize handling of standard libraries 2020-06-22 04:24:44 +00:00
Frederik Rietdijk dc33419285 Merge master into staging-next 2020-06-08 12:06:12 +02:00
Moritz Angermann f2a33e4486
Update configure-flags.nix 2020-06-08 12:43:58 +08:00
Moritz Angermann 58ffaee5d7
Update configure-flags.nix 2020-06-08 12:40:38 +08:00
Michael Bishop e27e475f0d
rust: fix rust cross-compile
reasoning:
sjlj (short jump long jump) exception handling makes no sense on x86_64, it's forcably slowing programs down as it produces a constant overhead. On x86_64 we have SEH (Structured Exception Handling) and we should use that. On i686, we do not have SEH, and have to use sjlj with dwarf2. Hence it's now conditional on x86_32
2020-06-05 23:34:38 -03:00
Frederik Rietdijk 03de4c02fb Merge staging-next into staging 2020-05-28 22:05:36 +02:00
Frederik Rietdijk e27e3ae169 Merge master into staging-next 2020-05-28 22:03:48 +02:00
Tobias Mayer 2be2b5328c
gcc: optimize cross-compiled libraries
`libstdc++` and a few other libraries are comiled with the options
set in `EXTRA_TARGET_FLAGS`. Normally, this is filled form
`EXTRA_FLAGS` inside of `builder.sh`, from which it inherits its
optimization option. For cross compilers `EXTRA_TARGET_FLAGS` is
set by a dedicated function that does not specify any optimization,
leading to sub-par runtime performance of many C++ programs.
2020-05-27 10:07:01 +02:00
Frederik Rietdijk d578248611 Merge staging-next into staging 2020-05-24 10:10:06 +02:00
Frederik Rietdijk c778596f56 Merge master into staging-next 2020-05-24 10:03:22 +02:00
Stefan Frijters fc9b93d2fc gdc: init at 9.3.0 2020-05-19 23:06:52 +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
Cole Helbling f7a93031a2
gcc10: fix eval due to missing langJit
The libgccjit PR was merged after the one introducing gcc10, thus
staging fails to eval because of the missing `langJit` argument.
2020-05-11 16:49:19 -07:00
Frederik Rietdijk 4ddd080d19 Merge staging-next into staging 2020-05-10 09:45:44 +02:00
Vladimír Čunát da59984d36
gcc10, gfortran10, gnat10: init at 10.1.0
Everything is copied as-is from 9 (except version and hash).
Some platform-specific patches might not apply anymore;
I'm lazily leaving that for the community to fix.
2020-05-08 07:49:35 +02:00
Matthew Bauer fe1955588a gcc: add langJit option for gcclangjit
This option can be used to set the “jit” language which enable the
libgccjit functionality. Also adds a “libgccjit” attr which is gcc
built with just jit enabled.
2020-05-06 23:12:17 -05:00
Matthew Bauer 9c4fbf9cb1 gcc: don’t require "lib" output
libgccjit is a library but is used as a compiler. So it references a
bunch of compiler things in $out. To avoid a cycle, we need to put
everything in $out, so referenced to $lib need to be replaced with
${!outputLib}.
2020-05-05 22:23:26 -05:00
Lars Jellema 8e79583510 gnat: init at 9.3.0 2020-04-20 14:41:22 +02:00
John Ericson c8a6ea5161 Merge remote-tracking branch 'upstream/master' into staging 2020-04-13 22:17:15 -04:00
Travis Whitaker 74f3b25896 LLVM: Always pass host/target info to compiler-rt/libstdcxxClang 2020-04-13 18:49:27 -04:00
Jan Tojnar b4a6714571
Merge branch 'staging-next' into staging 2020-04-13 18:54:59 +02:00
Matthew Bauer 53752d0374
Merge pull request #83181 from matthewbauer/move-win-outputs
gcc: move .dll.a* outputs to $lib
2020-04-10 23:44:06 -04:00
Michael Reilly 84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Matthew Bauer c304c1e7d0 gcc: move .dll.a* outputs to $lib
These are expected to be here for Windows compilation. The change in
e1831ebea3 didn’t move these
correctly (while still patching the search paths).

https://hydra.nixos.org/build/114202790
2020-03-23 00:43:57 -04:00
Orivej Desh 1b89aa3f7a Merge branch 'master' into staging 2020-03-23 00:53:16 +00:00
Vladimír Čunát 4e6a21dbec
Merge #82510: gcc: fix building cross on 32-bit host
... into staging
2020-03-22 08:44:40 +01:00
Vladimír Čunát c5f663ff30
gcc8: 8.3.0 -> 8.4.0
https://gcc.gnu.org/legacy-ml/gcc/2020-03/msg00042.html
2020-03-15 20:19:11 +01:00
Maximilian Bosch 1688d38004
gcc9: 9.2.0 -> 9.3.0 2020-03-14 06:28:18 +01:00
Ben Wolsieffer 83fa0d9400 Revert "gcc: minimal hacky fixup for our pkgsi686Linux.nix"
This reverts commit b6ae8193ed.
2020-03-13 17:46:55 -04:00
Ben Wolsieffer c0008c5b63 gcc: fix musl cross-compiler on i686 2020-03-13 17:40:37 -04:00
Vladimír Čunát e1d58266d5
gcc: tweak platform condition in the hack from b6ae8193
It was rightly noted that armv7l suffers from the same issue:
https://hydra.nixos.org/build/114263466#tabs-buildsteps
2020-03-13 12:27:02 +01:00
Vladimír Čunát b6ae8193ed
gcc: minimal hacky fixup for our pkgsi686Linux.nix
This has been blocking nixos-unstable channel through i686 ISO:
Fixes #82435, closes #82436.
https://hydra.nixos.org/build/114512204
2020-03-13 08:37:41 +01:00
Ben Wolsieffer d9feea58ae gcc: remove unneeded RPATH patching 2020-03-05 14:56:52 -05:00
Ben Wolsieffer e1831ebea3 gcc: move target-specific runtime libraries to separate output 2020-03-04 16:12:36 -05:00
Dmitry Kalinkin c65ddd0d5e
gcc49.cc: add myself to maintainers 2020-02-09 21:37:06 -05:00
Maximilian Bosch dd6a291e9f
gcc-snapshot: remove
Package is marked as broken for >2 years and used a fairly old
snapshot from the gcc7-branch, so I fairly doubt that this is
somewhere used (and is also pretty misleading as you don't expect a
random snapshot from gcc7 at `pkgs.gcc-snapshot`).
2020-02-09 22:46:29 +01:00
Maximilian Bosch 295a52fc1a
gcc49: fix build for glibc>=2.28
Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
2020-01-28 20:11:02 +01:00
Maximilian Bosch 79a567c883
gcc5: remove
Latest gcc5 release was in 2017[1], doesn't build with glibc 2.30[2].

[1] https://gcc.gnu.org/gcc-5/
[2] https://hydra.nixos.org/build/110408216
2020-01-28 20:11:00 +01:00
Robin Gloster e9c27ed5f9
treewide: configureFlags is a flat list 2019-12-31 01:34:39 +01:00
Robin Gloster 755db0b689
treewide: installTargets is a list 2019-12-31 00:25:26 +01:00
Robin Gloster ba0a3edf7f
stdenv: installTargets is a list 2019-12-31 00:24:02 +01:00
Vladimír Čunát 7139b127b3
gcc7: 7.4.0 -> 7.5.0
It's bugfix-only; these tend to be fairly safe,
and we don't really use gcc7 anymore by default.
I tested building gcc7 and gfortran7 on x86_64-linux.
https://gcc.gnu.org/ml/gcc-announce/2019/msg00003.html
2019-12-16 11:40:59 +01:00
John Ericson f191360ad0 Merge remote-tracking branch 'upstream/staging-next' into staging 2019-11-25 15:59:05 -05: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
John Ericson 814f9104d7
Merge pull request #72657 from cleverca22/vc4
Initial implementation of vc4 cross-compile
2019-11-24 16:04:15 -05:00
Craig Hall 26ab4a37ae gcc: Use pname 2019-11-24 18:32:26 +00:00