Commit Graph

125 Commits

Author SHA1 Message Date
Tuomas Tynkkynen
6b6a575748 Merge remote-tracking branch 'upstream/master' into staging
Conflicts:
	pkgs/tools/networking/telnet/default.nix
	pkgs/top-level/aliases.nix
2018-05-16 03:09:33 +03:00
Bastian Köcher
780592ca6e gcc7: Enable arm erratum 843419 on aarch64
This fix is required for the raspherry pi 3 with glibc 2.27,
otherwise the kernel panics in initrd with:
```
<<< NixOS Stage 1 >>>

loading module dm_mod...
running udev...
kbd_mode: KDSKBMODE: Inappropriate ioctl for device
Gstarting device mapper and LVM...
[    1.969164] Kernel panic - not syncing: Attempted to kill init!
exitcode=0x0000000b
[    1.969164]
[    1.978476] CPU: 0 PID: 1 Comm: init Not tainted 4.16.8 #1-NixOS
[    1.984580] Hardware name: Raspberry Pi 3 Model B (DT)
[    1.989801] Call trace:
[    1.992301]  dump_backtrace+0x0/0x1c8
[    1.996025]  show_stack+0x24/0x30
[    1.999396]  dump_stack+0x9c/0xc0
[    2.002766]  panic+0x124/0x294
[    2.005872]  complete_and_exit+0x0/0x30
[    2.009771]  do_group_exit+0x40/0xa8
[    2.013406]  get_signal+0x280/0x5b0
[    2.016954]  do_signal+0x88/0x240
[    2.020325]  do_notify_resume+0xd8/0x130
[    2.024311]  work_pending+0x8/0x10
[    2.027774] SMP: stopping secondary CPUs
[    2.031763] Kernel Offset: disabled
[    2.035308] CPU features: 0x0802004
[    2.038850] Memory Limit: none
[    2.041963] ---[ end Kernel panic - not syncing: Attempted to kill
init! exitcode=0x0000000b
[    2.041963]
[    2.865264] random: crng init done
```
Suse has done the same to circumvent crashes with hostname resolving in
glibc 2.27 on aarch64.
2018-05-16 03:04:29 +03:00
John Ericson
01a525b84e Merge remote-tracking branch 'upstream/master' into staging 2018-05-14 13:31:20 -04:00
John Ericson
bf7d1bae20 Merge remote-tracking branch 'upstream/master' into gcc-hurd-condition 2018-05-14 13:15:06 -04:00
John Ericson
3a9654bfe2 gcc: Simplify this old Hurd condition
Steps towards getting rid of crossConfig.
2018-05-14 13:13:11 -04:00
John Ericson
d00cc1242f
Merge pull request #40040 from obsidiansystems/gnu-config-arm
gnu-config: Update, allowing hacks to be removed
2018-05-14 11:20:09 -04:00
John Ericson
f2b575bd7b Merge remote-tracking branch 'upstream/master' into gnu-config-arm 2018-05-14 10:58:15 -04:00
John Ericson
f472dd7652 Revert "Revert "gcc, binutils: Get rid of 32-bit ARM configure flag exception""
And there's more reverts too. The previous commmit
d838afbc9376bdadb8c690eb00b425f3eeccdf2d to gnu-config finally solves
it!

This reverts commit 3ed545ab31.
2018-05-14 10:55:32 -04:00
John Ericson
ee4b56edd3 Merge remote-tracking branch 'upstream/master' into staging 2018-05-11 14:36:08 -04:00
John Ericson
f18ddabee7 Merge remote-tracking branch 'upstream/master' into lib-float 2018-05-10 18:13:00 -04:00
John Ericson
c9f6a82b61 gcc: Factor out "platform flags" 2018-05-10 18:00:57 -04:00
John Ericson
1d90ea9194
Merge pull request #40294 from obsidiansystems/no-crossAttrs
misc packages: Fewer crossAttrs
2018-05-10 14:38:58 -04:00
John Ericson
c42118bb82 gcc: Get rid of crossAttrs
Only a little bit was left
2018-05-10 14:19:38 -04:00
Patrick Hilhorst
719810d474 gcc7: Removed X11 components, since they were only used by langJava
See also:

51ac1d8df0
https://github.com/NixOS/nixpkgs/pull/39866#discussion_r185813776
2018-05-03 16:43:51 +02:00
Patrick Hilhorst
3641b35bae gcc7: Removed java as a target language 2018-05-03 15:11:41 +02:00
Matthew Justin Bauer
eeb016e8f0
Merge branch 'staging' into fix-ncurses-darwin-extensions 2018-05-02 15:40:38 -05:00
John Ericson
591d8c7a19
Merge pull request #39458 from oxij/stdenv/beautifications
stdenv: better names for cc and bintools
2018-04-26 11:41:18 -04:00
John Ericson
b9acfb4ecf treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile

(cherry picked from commit ba52ae5048)
2018-04-25 15:50:41 -04:00
John Ericson
ba52ae5048 treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile
2018-04-25 15:28:55 -04:00
Jan Malakhovski
7438083a4d tree-wide: disable doCheck and doInstallCheck where it fails (the trivial part) 2018-04-25 04:18:46 +00:00
Jan Malakhovski
2afd3c901e gcc: prepend crossNameAddon instead of appending it (like binutils does) 2018-04-25 00:41:14 +00:00
Shea Levy
a5d064826b
gcc: Try to fix /bin/sh dependency 2018-03-17 21:58:15 -04:00
Shea Levy
017d678a00
gcc: Add uncommitted patch. 2018-03-16 16:39:55 -04:00
Shea Levy
a1ede569ef
gcc: Unconditionally add some upstream RISC-V patches. 2018-03-16 16:38:32 -04:00
Shea Levy
c69d8bf5e6
treewide: Remove gnat support.
See discussion in 6ac7b19c97.
2018-03-08 13:56:36 -05:00
Shea Levy
4728ef130e
RISC-V: Add upstream gcc patch to fix -pthread.
Fixes libmicrohttpd build.
2018-02-26 05:24:36 -05:00
Will Dietz
39f61d5c02 gcc7: fix native and cross-musl build, sync w/gcc6 fixes 2018-02-21 20:55:22 -06:00
Tuomas Tynkkynen
b1916b45a3 Merge remote-tracking branch 'upstream/staging' into gcc-7
Conflicts:
	pkgs/development/libraries/libidn/default.nix
	pkgs/top-level/all-packages.nix
2018-02-15 15:45:37 +02:00
Will Dietz
3b0d3248c9 gcc7: tweak check, target -> host 2018-02-13 09:44:43 -06:00
Will Dietz
f566e3f987 gcc7: more selftest disabling, whenever building cross 2018-02-13 09:44:42 -06:00
Will Dietz
ff9b494103 gcc7: Apply patch to fix selftest w/musl? 2018-02-13 09:44:39 -06:00
Will Dietz
f146a3c316 gcc5, 7: same fixes as gcc6 2018-02-13 09:44:38 -06:00
Will Dietz
5eea9e82f4 gcc6: try patching MUSL_DYNAMIC_LINKER as well 2018-02-13 09:44:38 -06:00
Will Dietz
15d401dcfa gcc: disable libsanitizer, libgomp on musl 2018-02-13 09:44:38 -06:00
Franz Pletz
e2c1c76fd0
Merge remote-tracking branch 'origin/master' into gcc-7 2018-01-28 23:17:32 +01:00
Tuomas Tynkkynen
11e98eaae7 gcc7: More resync from gcc6
I think I managed to lose these during a merge conflict.
2018-01-28 03:15:05 +02:00
Clemens Fruhwirth
2f83f52ab8 gcc: 7.2.0 -> 7.3.0 2018-01-26 15:59:22 +01:00
Tuomas Tynkkynen
99fc949330 gcc7: Drop flex again
I think I lost this during merge conflict resolution
2018-01-26 16:50:13 +02:00
John Ericson
c98e6b6771 gcc, binutils: Narrow down ARM hack so only native builds are affected 2018-01-09 17:25:49 -05:00
Drew Hess
3ed545ab31
Revert "gcc, binutils: Get rid of 32-bit ARM configure flag exception"
This commit breaks native armv7l-linux builds. Revert it until it can
be root-caused. This reversion does not affect other platforms or
cross-compiling.

This reverts commit 0f5c804631.
2018-01-08 20:03:33 -08:00
John Ericson
4ad9a97e96 gcc: Don't let solaris hack pollute CC elsehwere 2017-12-30 22:04:22 -05:00
John Ericson
0f5c804631 gcc, binutils: Get rid of 32-bit ARM configure flag exception
Now that we do `--enable-targes=all`, there is no risk of missing the
needed emulation.

This reverts commit ebc9b161cd.
This reverts commit 88efc22b44.
2017-12-30 22:04:22 -05:00
John Ericson
9cda2f5559 gcc: Fix deps, for cross and consistency
Mainly making sure we have tools to build target libs
2017-12-30 22:04:22 -05:00
John Ericson
114a9b6253 gcc: Let cc-wrapper's setup hook define any tool env vars we need 2017-12-30 22:04:21 -05:00
John Ericson
bc23afe5c7 gcc: Add build->build dep for C compilers
5 already had this, but I forgot the other versions.
2017-12-30 22:04:21 -05:00
John Ericson
5db559f855 Merge branch 'mingw32-w64-fix' into ericson2314-cross-base 2017-12-29 15:46:02 -05:00
John Ericson
5d336d36bb Merge commit 'e82bd498d1a2a28fb20249569a6f49fcaab9aca8' into mingw32-w64-fix 2017-12-29 15:28:49 -05:00
John Ericson
169227bfd2 Merge commit '3a59cd87f26cc59c91fb821749b1ec0d64922f87' into mingw32-w64-fix 2017-12-29 14:24:10 -05:00
John Ericson
2365e2ffcd Merge commit '51948eab9415fde1825dea5c7d31b99b2e1a0fdb' into mingw32-w64-fix 2017-12-29 14:23:05 -05:00
Bojan Nikolic
771bae04e8 gcc: Enable SSP and shared libs in the final stage for MinGW
Hardening on by default now that we don't use the cross wrapper. In
turn, hardening requires libssp in particular.
2017-12-29 13:27:02 -05:00
John Ericson
12e0672d88 gcc: Adjust builder.sh to find some things in bintools-wrapper instead 2017-12-13 16:08:19 -05:00
John Ericson
e82bd498d1 Merge commit '992bd2f6d34b2f560fc17df6fa3708fcade1abac' into gcc-modernize-builder 2017-12-07 02:13:24 -05:00
John Ericson
3a59cd87f2 Merge commit '93cd0685c5ac4d8f21d8586d3e5c45cd7394fab9' into gcc-modernize-builder 2017-12-07 01:49:31 -05:00
John Ericson
51948eab94 gcc: Fix after merge
- NIX_CC_CROSS is now completely gone!

- NIX_CC is defined reliably, so no manual def needed

- stdenv.ccCross -> stdenv.cc, also removing need for "or" fallback
2017-12-07 01:42:43 -05:00
John Ericson
d96cf0f46c gcc: Handle CPATH and LIBRARY_PATH purely in Nix 2017-12-06 19:12:51 -05:00
John Ericson
d4595b38e9 gcc: Modernize builder.sh for Cross
Instead of `NIX_CC` vs `NIX_CC_CROSS` spagetti, unconditionally use
`NIX_BUILD_CC` and `NIX_CC` in a consistent manner.
2017-12-06 19:12:50 -05:00
John Ericson
992bd2f6d3 Merge commit 'ab77a6bb1e7d2ff475210ad392f1a9bd1bb6ba3a' into gcc-simplify-flags 2017-12-05 17:41:15 -05:00
John Ericson
93cd0685c5 Merge commit '71186e73455a4e06e96a31da34b76f84e545ba1f' into gcc-simplify-flags 2017-12-05 17:09:41 -05:00
John Ericson
a3e35fbbe1 gcc: Use platformFlags in crossConfigureFlags
A nice code deduplication
2017-12-05 14:01:18 -05:00
John Ericson
1fe9798ac2 lib, gcc: No inherit (platform) gcc; in {host,build,target}Platform 2017-12-05 13:52:20 -05:00
John Ericson
74cbb5796e gcc: Get rid of crossAttrs.configureFlags 2017-12-04 20:50:59 -05:00
John Ericson
cabfe1885f gcc: Don't try to enable plugins with host != build 2017-12-04 16:27:18 -05:00
John Ericson
2fdca4db69 gcc: Lock down more tools for cross-builds
That is, build != host == target
2017-12-04 16:27:18 -05:00
John Ericson
ab77a6bb1e gcc: Misc indentation and whitespace-in-string fixes 2017-11-14 18:32:50 -05:00
Ben Gamari
1c1207220f gcc: Refactor treatment of configure flags
Previously configureFlags was defined as one giant interpolated string.
Here we refactor this definition to instead use the usual stdenv string
combinators. This seems more in-line with the average nixpkgs expression
and it seems a bit more natural to things of these as lists of flags
rather than monolithic strings.
2017-11-14 16:23:46 -05:00
John Ericson
4d4f94cde4 treewide: Depend on targetPackages.stdenv.cc.bintools instead of binutils directly
One should do this when needed executables at run time. It is more
honest and cross-friendly than refering to binutils directly, if one
neeeds the default binary tools for the target platform, rather than
binutils in particular.
2017-11-05 17:10:53 -05:00
John Ericson
54282b9610 gcc: Change default of crossStageStatic param to false
This gets us one step closer to removing `gccCrossStageFinal`.

Care is taken to avoid a mass rebuild; will clean up with one later.
2017-09-21 15:49:18 -04:00
Nikolay Amiantov
1704eeb930 gcc7: 7.1.0 -> 7.2.0 2017-09-07 17:04:29 +03:00
Tuomas Tynkkynen
0c0fad6141 treewide: Consistently call ARM 'arm'
No need for silly differences.
2017-08-24 01:17:01 +03:00
John Ericson
ebc9b161cd gcc: Add configurePlatforms exception for Arm 32
...just as we did for binutils. When the underlying issue is resolved
(probably with a configure script patch or lib/systems/parse.nix
change), this should be reverted.
2017-08-23 14:38:08 -04:00
John Ericson
71186e7345 gcc: Use configurePlatforms to control --build, --host, and --target 2017-08-23 14:28:59 -04:00
John Ericson
b11889e6a4 gcc: Homogenize syntax in one small spot
Less noise in the diff help maintain these behemoths.
2017-08-18 14:03:48 -04:00
Daiderd Jordan
1b89036cdf
gcc7: port darwin changes from 5.x 2017-08-17 21:00:10 +02:00
John Ericson
7a13457253 gcc 7: Remove cross arguments and don't use stdenv.is*
These changes were already done for the older GCCs, but 7 slipped
through the cracks.
2017-06-08 14:08:31 -04:00
Nikolay Amiantov
0dc5473730 gcc7: init at 7.1.0 2017-06-04 00:38:30 +03:00