Commit Graph

681 Commits

Author SHA1 Message Date
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
Gaelan Steele
459c60dda2 gcc: fix building darwin->linux cross compiler
This reverts d9feea5 with some slight modifications to work with
other changes since then.

Fixes #88213.
2020-05-26 03:16:03 -07: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
Calvin Loncaric
3a79681eb4
GCC: fix compilation on MacOS 10.15
MacOS 10.15 now includes "aligned_alloc".  Disagreement between the
headers and the binaries about whether aligned_alloc exists leads to
a compilation failure (see #73319 and the detailed comment in this
commit).
2020-03-18 21:15:43 -07: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
Craig Hall
eea6fc4cf9 gcc: Add version attribute 2019-11-24 18:32:26 +00:00
John Ericson
195c263a81
Merge pull request #74016 from Ericson2314/gcc-fix-cross-name
gcc: Fix cross names
2019-11-24 11:03:07 -05:00
Craig Hall
62d6429793 gcc: Fix cross names
There was an issue with the dashes.

(taken from commit e158e113a6b74f6cd0e1de9e976b882a03714bf8)
2019-11-24 05:18:50 +00:00
Michael Bishop
4aa1ffae04
initial implementation of vc4 cross-compile 2019-11-19 22:19:15 -04:00
Matthew Bauer
93fd7d8888
Merge pull request #73291 from obsidiansystems/fix-gcj
GCC 6: Fix java support
2019-11-12 11:10:34 -05:00
John Ericson
903bdf1709 GCC 6: Fix java support
Major version upper bound was one too low.
2019-11-12 09:56:43 -05:00
John Ericson
16f0fe7fe3 Merge remote-tracking branch 'upstream/master' into mingw-mcfthreads 2019-11-11 20:48:14 -05:00
John Ericson
04cb05d20c gcc: Build MinGW stage two with threading library
Currently this is set up to be mcfgthreads, but it could be something
else instead.
2019-11-11 11:02:38 -05:00
John Ericson
999ef20129 mingw-w64 libc: Multiple outputs and parallel builds
Also deduplicate more of the GCC derivations.
2019-11-11 00:25:24 -05:00
John Ericson
1782f6c826
Merge pull request #73184 from Ericson2314/gcc-fix-cross-whoops
gcc: Fix cross after I accidentally changed build target
2019-11-10 17:49:48 -05:00
John Ericson
3f74a4d066 gcc: Fix cross after I accidentally changed build target
I deleted "bootstrap", but forgot to make the condition
build = host = target.
2019-11-10 17:06:22 -05:00
John Ericson
62e154ff8d Merge remote-tracking branch 'upstream/master' into gcc-dedup-configure-flags 2019-11-10 16:12:25 -05:00
John Ericson
5c5ca018c8 gcc: Deduplicate configureFlags
Thanks again to @bgamari who in 1c1207220f
did the cleanup to make this possible. It's been a long time coming!
2019-11-10 15:58:35 -05:00
John Ericson
f666c61d20 gcc: Deduplicate preConfigure 2019-11-10 15:15:04 -05:00
John Ericson
f5ddd103e7
Merge pull request #73173 from Ericson2314/gcc-cross-cleanup
gcc: Clean up cross configure flags and name prefix
2019-11-10 15:05:18 -05:00
John Ericson
ca341c2d5b gcc: Clean up cross configure flags and name prefix 2019-11-10 14:29:11 -05:00
Frederik Rietdijk
458964dea2 gcc8: make building w/LTO support optional, fixes eval 2019-11-03 16:04:52 +01:00
Will Dietz
5b46a7c240 gcc7: make building w/LTO support optional, don't use in bootstrap tools 2019-11-03 14:52:44 +01:00
Vladimír Čunát
6c567ed797
Merge branch 'staging-next' into staging 2019-09-22 10:06:45 +02:00
Matthew Bauer
7b58739e2c gcc: fix mising avr limits.h
Fixes #69172
2019-09-20 22:37:00 -04:00
Matthew Bauer
9bdfcf2218 gcc: use gcc8 on darwin 2019-09-17 21:03:08 -04:00
Frederik Rietdijk
e68505e735 Merge remote-tracking branch 'upstream/gcc8' into staging-next 2019-09-06 23:25:18 +02:00
Jan Tojnar
72e7d569a7
tree-wide: s/GTK+/GTK/g
GTK was renamed.
2019-09-06 02:54:53 +02:00
xbreak
549cbc0f48 gcc: 9.1.0 -> 9.2.0
gcc 9.2.0 is a bug-fix release.
2019-08-18 15:39:54 +00:00
Dmitry Kalinkin
bf1818dd5d
gcc48, gfortran48: add myself as maintainer
cc #61130
2019-05-08 19:12:55 -04:00
Will Dietz
5964b3a2e2
gcc9: drop gomp patch (musl)
https://github.com/NixOS/nixpkgs/pull/60860#issuecomment-489495120
2019-05-08 09:20:19 +02:00
Eelco Dolstra
f7d3fb876a
Merge pull request #60860 from vcunat/p/gcc9
gcc9: init at 9.1.0 (released today)
2019-05-07 23:58:47 +02:00
Vladimír Čunát
18d975aff2
gcc9: init at 9.1.0 (released today)
It's just a trivial copy of whole gcc8 stuff,
only with changed version string and hash.
2019-05-03 12:34:40 +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
84d00355e8 Merge remote-tracking branch 'NixOS/master' into staging 2019-04-23 22:00:42 -04:00
Daniel Schaefer
bac4d95aa2 treewide: Change URLs to HTTPS
Lots of URLs were HTTP redirect to HTTPS. Changed those and checked them
if there's actual content. Inspired by
https://github.com/NixOS/nixpkgs/issues/60004
2019-04-22 10:19:54 +02:00
volth
5d87bc2650 fix bootstrap when platform.gcc.arch=="skylake" 2019-04-21 16:37:49 +00:00
Vladimír Čunát
2771375d6e
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1512490
2019-04-02 20:56:53 +02:00
John Ericson
4ccb74011f Merge commit '18aa59b0f26fc707e7313f8467e67159e61600c2' from master into staging
There was one conflict in the NixOS manual; I checked that it still
built after resolving it.
2019-04-01 00:40:03 -04:00
arcnmx
05b0411c57 gcc: fix gcc8 for cross-compiled targets
Adds EXTRA_TARGET_FLAGS missing from 412093994b.

Fixes #58164
2019-03-25 17:57:30 -07:00
Matthew Bauer
aab8c7ba43 netbsd: add cross target 2019-02-26 15:55:47 -05:00
Will Dietz
663bfb120d gcc: 8.2.0 -> 8.3.0
https://gcc.gnu.org/ml/gcc/2019-02/msg00121.html
2019-02-22 15:38:39 -06:00
Alyssa Ross
21d991b1fd
Merge pull request #54578 from alyssais/gcj-darwin
gcj: fix build on Darwin
2019-02-08 16:54:35 +00:00
Vladimír Čunát
5effa4e0f9
Merge branch 'master' into staging-next
Comments on conflicts:
- llvm: d6f401e1 vs. 469ecc70 - docs for 6 and 7 say the default is
  to build all targets, so we should be fine
- some pypi hashes: they were equivalent, just base16 vs. base32
2019-02-01 09:22:29 +01:00
Alyssa Ross
b9b83748f3
gcj: fix build on Darwin
Partially addresses https://github.com/NixOS/nixpkgs/issues/29715.
2019-01-30 18:19:17 +00:00
Matthew Bauer
f9ed5e0089 libstdcxx: don’t set stdlib automatically
We don’t need to set -stdlib=libstdc++. This only works on Clang so it
is not good to set it globally. In addition, Clang knows to use
libstdc++ on Linux by default if no stdlib is set:

324f918438/lib/Driver/ToolChains/Linux.cpp (L456)

It’s a good policy to just leave off stdlib for now.

Fixes #29877.
2019-01-26 01:55:57 -05: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
Lengyel Balazs
f4a53ff3bc treewide/xorg: replace *proto with xorgproto 2019-01-04 14:38:57 +01:00
Will Dietz
ee25d916ee gcc: 7.3 -> 7.4
https://gcc.gnu.org/gcc-7/changes.html
2018-12-29 13:55:20 -06: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
c0bw3b
0498ccd076 Treewide: use HTTPS on GNU domains
HTTP -> HTTPS for :
- http://gnu.org/
- http://www.gnu.org/
- http://elpa.gnu.org/
- http://lists.gnu.org/
- http://gcc.gnu.org/
- http://ftp.gnu.org/ (except in fetchurl mirrors)
- http://bugs.gnu.org/
2018-12-02 15:51:59 +01:00
Matthew Bauer
76c956be5c treewide: disable pie in more places
Some packages don’t work correctly with pie. Here I disable it for:

- busybox
- linux kernel
- kexectools

I also get rid of the Musl conditional for disabling pie in GCC and
Binutils. Some day we might want to enable PIE without Musl and it
will be useful to have the *just* work with our compiler and linkers.
2018-11-13 07:03:31 -06:00
Frederik Rietdijk
53d00c3351 Merge master into staging-next 2018-11-10 11:08:54 +01:00