Commit Graph

152 Commits

Author SHA1 Message Date
Shea Levy
f8d38c31ae
binutils: Add comment about the limited lifetime of gold-symbol-visibility.patch 2018-03-28 12:40:44 -04:00
Shea Levy
1fa4b7149c
binutils: Revert apparently-broken multiple-definition support in gold.
Fixes llvm at least.
2018-03-20 17:22:10 -04:00
Shea Levy
3027bca02a
binutils: Bump default to 2.30 2018-03-20 17:22:10 -04:00
Shea Levy
ca6710b2e6
binutils: Add 2.30. 2018-02-19 07:57:32 -05: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
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
5b74540c5b treewide: Use depsBuildBuild for buildPackges.stdenv.cc 2017-12-30 22:04:21 -05:00
Ben Gamari
c15c449236 binutils: Always search DT_RPATH 2017-12-29 17:32:28 -05:00
John Ericson
cebe1b4c08 darwin binutils: Better handling of man pages and info 2017-12-13 16:08:18 -05:00
John Ericson
e755a8a27d treewide: Use targetPrefix instead of prefix for platform name prefixes
Certain tools, e.g. compilers, are customarily prefixed with the name of
their target platform so that multiple builds can be used at once
without clobbering each other on the PATH. I was using identifiers named
`prefix` for this purpose, but that conflicts with the standard use of
`prefix` to mean the directory where something is installed. To avoid
conflict and confusion, I renamed those to `targetPrefix`.
2017-11-27 03:15:50 -05:00
Orivej Desh
c76890f2fe binutils: disambiguate ARM targets
https://github.com/NixOS/nixpkgs/pull/30484#issuecomment-345472766

Since [1] libbfd is compiled with support for all available targets. However, it
can not choose whether an ARM ELF file is elf32-littlearm,
elf32-littlearm-symbian, or elf32-littlearm-vxworks, and fails with the "File
format is ambiguous" error.  Here [2] Alan Modra intended to prioritize the
first of the three, but although his patch was merged and reportedly solved the
issue, currently glibc 2.28.1 and 2.29.1 again fail to disambiguate these
targets.  This commit makes it prioritize elf32-littlearm over the other two.

[1] f8741c38cd
[2] https://sourceware.org/ml/binutils/2013-05/msg00271.html
2017-11-19 03:36:53 +00:00
John Ericson
eaacf47ff4 binutils: Make myself a maintainer 2017-11-14 10:51:01 -05:00
John Ericson
f8741c38cd binutils, gdb: Do not expose libbfd or libopcodes, and be multitarget
There are separate derivations for these libraries and we don't want
conflict. Multitarget is generally more useful, and will eventually
speed up cross builds, so why not?!
2017-11-13 08:46:15 -05:00
John Ericson
de28bd4832 bfd, opcodes: Init separate derivations for binutils libraries
On most distros, these are just built and distributed as part of
binutils. We don't use binutils across the board, however, but rather
switch between binutils and a cctools-binutils mashup, and change the
outputs on binutils too. This creates a combinatorial conditional soup
which is hard to maintain.

My hope is to lower the the state space. While my patch isn't the most
maintainable, they make downstream packages become more maintainable to
compensate. The additional derivations themselves are completely
platform-agnostic, always they always supports all possible target
platforms, and always yield "out" and "dev" outputs. That, in turn,
allows downstream packages to not worry about a dependency
shape-shifting under them.

In fact, the actual binutils package can avoid needing multiple outputs
now that these serve the requisite libraries, so that also can become
simpler on all platforms, too, removing the original wart this PR
circumnavigates for now. Actually changing the binutils package to
leverage is a mass rebuild, however, so I'll leave that for a separate
PR.

I do hope to upstream something like my patch too, but until then I'll
make myself maintainer of these derivations
2017-11-13 00:47:37 -05:00
John Ericson
e5567bae2d treewide: Do not limit hardenging because gcc 4.9 in bootstrap
Bootstrap tools has since been bumped
2017-09-14 10:27:13 -04:00
Tuomas Tynkkynen
0c0fad6141 treewide: Consistently call ARM 'arm'
No need for silly differences.
2017-08-24 01:17:01 +03:00
John Ericson
41abe41fd9 binutils: Pass --build --host on non-arm
This is needed for build != host == target builds. Moreoever, we want
to move towards always passing all 3, and the previous change to
unbreak Arm moved us away from that.
2017-08-18 13:00:24 -04:00
Tuomas Tynkkynen
88efc22b44 binutils: Don't pass --host etc. when not cross-compiling
Or linuxHeaders build fails on ARM (non-cross) since e826a6a247:

````
  HOSTCC  scripts/basic/fixdep
/nix/store/9glws7v2j28blv1n7azqr3b43qadjd1j-binutils-2.28.1/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: armelf_linux armelf armelfb armelfb_linux
collect2: error: ld returned 1 exit status
````
2017-08-17 18:37:10 +03:00
Tuomas Tynkkynen
d8bea2498d binutils: Add upgrade notes 2017-08-17 18:37:10 +03:00
Tuomas Tynkkynen
390ccbbf29 binutils: 2.28 -> 2.28.1 2017-08-17 18:37:10 +03:00
Tuomas Tynkkynen
f9b2d7b4dd Revert "binutils: 2.28 -> 2.29"
This reverts commit 733e20fee4.

Downgrading to 2.28.1, 2.29 is too buggy.
2017-08-17 18:37:04 +03:00
Tuomas Tynkkynen
23547ac24a Revert "binutils: patch bugs in 2.29"
This reverts commit 0e18f28cec.

Downgrading to 2.28.1, 2.29 is too buggy.
2017-08-17 18:36:58 +03:00
Tuomas Tynkkynen
f660f58c83 Revert "binutils: add missing patches..."
This reverts commit ad83979e59.

Downgrading to 2.28.1, 2.29 is too buggy.
2017-08-17 18:36:38 +03:00
Vladimír Čunát
6899c7fdb9
Merge branch 'master' into gcc-6 2017-08-12 10:09:41 +02:00
Robin Gloster
ad83979e59
binutils: add missing patches... 2017-08-04 08:36:44 +02:00
Robin Gloster
0e18f28cec
binutils: patch bugs in 2.29
All are upstream patches, the last two added by handy to work around
them not applying on the changelog.

2.29.1/2.30 will contain the fixes, too.
2017-08-04 08:22:20 +02:00
Tim Steinbach
733e20fee4
binutils: 2.28 -> 2.29
Binutils 2.29 no longer allows .semver symbols, which is why
we need to patch glibc to avoid them
2017-07-29 13:23:59 -04:00
Eelco Dolstra
a13802b2c8
Merge remote-tracking branch 'origin/master' into gcc-6 2017-07-21 11:05:58 +02:00
John Ericson
95c8277701 misc pkgs: Remove unneeded *Platform == *Platform comparisons
PR #26007 used these to avoid causing a mass rebuild. Now that we know
things work, we do that to clean up.
2017-06-30 10:09:31 -04:00
John Ericson
af8d1a4ace binutils: Fix build != host == target 2017-06-22 17:53:54 -04:00
Robin Gloster
15f6dcb668
Merge remote-tracking branch 'upstream/master' into gcc-6 2017-06-20 11:24:39 +02:00
John Ericson
200ac02d0f binutils: Modernize derivation
No hashes of any sort should be changed
2017-06-06 19:28:16 -04:00
Robin Gloster
da9adb8fab
Merge remote-tracking branch 'upstream/master' into gcc-6 2017-05-20 14:55:44 +02:00
John Ericson
7018dfb9f4 binutils and cctools: Prefix derivation names with target for cross
We want platform triple prefixes and suffixes on derivation names to
be used consistently. The ideom this commit strives for is

 - suffix means build != host, i.e. cross *built* packages. This is
   already done.

 - prefix means build != target, i.e. cross tools. This matches the
   tradition of such binaries themselves being prefixed to disambiguate.]
   Binutils and cctools, as build tools, now use the latter
2017-05-17 15:33:05 -04:00
John Ericson
88ea6463a3 binutils on darwin: Clean up the rats nest
- No more *Cross duplication for binutils on darwin either.
   `cctools_cross` is merged into plain `cctools`, so `buildPackages`
   chains alone are used to disambiguate.

 - Always use a mashup of cctools and actual GNU Binutils as `binutils`.
   Previously, this was only done in the native case as nobody had
   bothered to implement the masher in the cross case. Implemented it
   basically consisted of extending the wrapper to deal with prefixed
   binaries.
2017-05-17 15:33:05 -04:00
Dan Peebles
1a4ca220e1 treewide: fix assorted issues revealed by the meta checker
Turns out a couple of the licenses were wrong, as well as being strings.
2017-04-28 23:07:42 -04:00
John Ericson
4c0d7da183 Get rid of all with { inherit... } and just used let inherit...
The old forms presumably predates, or were made in ignorance of,
`let inherit`. This way is better style as the scoping as more lexical,
something which Nix can (or might already!) take advantage of.
2017-03-30 03:05:05 -04:00
Lancelot SIX
ecd849b267
binutils: 2.27 -> 2.28
See http://lists.gnu.org/archive/html/info-gnu/2017-03/msg00002.html
for release announcement
2017-03-07 12:09:41 +01:00
Vladimír Čunát
e2e270d1e2
binutils: drop the $dev/bin symlink
Fixes #18839.  I suspect I once added this just because of some
deficiencies in an early development version of the multiple-output
framework in stdenv.
2017-02-27 20:08:26 +01:00
Tuomas Tynkkynen
01d03cb5e7 binutils: Fix cross build
Broken after commit 17a344a ("binutils: Add lib output").
2017-02-04 23:39:25 +02:00
Vladimír Čunát
db896154d1
binutils: minimize rebuilds after parent revert
Only revert the addition of the output and only on Darwin.
2017-01-30 14:10:13 +01:00
Robin Gloster
eaa9e01c1d
Revert "binutils: Add lib output"
This reverts commit 17a344a5da.
2017-01-30 13:03:48 +01:00
Eelco Dolstra
17a344a5da
binutils: Add lib output
Some packages depend on libbfd. This prevents them from having all of
binutils in their closure (which is 29 MiB).
2017-01-25 20:12:33 +01:00
Eelco Dolstra
bbc204cd98 binutils: Add lib output
Some packages depend on libbfd. This prevents them from having all of
binutils in their closure (which is 29 MiB).
2016-10-14 18:12:20 +02:00
Tuomas Tynkkynen
89833c0c72 binutils: Shuffle outputs 2016-08-29 14:49:54 +03:00
Lancelot SIX
0c12ae5615
binutils: 2.26.1 -> 2.27
Release announcement at
http://lists.gnu.org/archive/html/info-gnu/2016-08/msg00012.html
2016-08-26 08:51:09 +02:00
Robin Gloster
63c7b4f9a7 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-07-31 20:51:34 +00:00
Lancelot SIX
281449424f binutils: 2.26 -> 2.26.1
See announcement at
http://lists.gnu.org/archive/html/info-gnu/2016-07/msg00000.html
2016-07-22 10:20:10 +02:00
Robin Gloster
5185bc1773 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-07-15 14:41:01 +00:00