Commit Graph

195 Commits

Author SHA1 Message Date
Joe Hermaszewski
b3640e024f binutils: patch to fix https://sourceware.org/bugzilla/show_bug.cgi?id=16177
This bug was preventing one compiling Haskell programs from `pkgsMusl` for
armv7.

`nix-build --argstr crossSystem "armv7l-linux" -A pkgsMusl.haskellPackages.hello`
succeeds with this patch.

The patch is Nick Clifton's one, rebased by @ericson2314 here
https://sourceware.org/bugzilla/show_bug.cgi?id=16177#c6

Although there was some talk about the efficacy of the binutils patch
(https://sourceware.org/bugzilla/show_bug.cgi?id=16177#c9) the resulting
binary seems to run without issue on the target platform. Jessica's
patch there caused ld to fail linking some programs. Nick's proposed
patch has worked well in my testing so far (a Haskell project of some
small complexity cross compiled with musl to armv7).
2020-11-28 20:19:05 +08:00
Samuel Dionne-Riel
ebd89f6de1 binutils: Use 2.34 for OpenRISC 1000 2020-11-09 22:32:12 -05:00
Samuel Dionne-Riel
c6f6db77ac binutils: Prepare for concurrent versions 2020-11-09 22:32:12 -05:00
Samuel Dionne-Riel
dbe556af9c binutils: Move patches in versioned dir
We'll have multiple binutils to contend with.
2020-11-09 22:32:12 -05:00
Matthew Bauer
d0677e6d45 treewide: add warning comment to “boot” packages
This adds a warning to the top of each “boot” package that reads:

  Note: this package is used for bootstrapping fetchurl, and thus cannot
  use fetchpatch! All mutable patches (generated by GitHub or cgit) that
  are needed here should be included directly in Nixpkgs as files.

This makes it clear to maintainer that they may need to treat this
package a little differently than others. Importantly, we can’t use
fetchpatch here due to using <nix/fetchurl.nix>. To avoid having stale
hashes, we need to include patches that are subject to changing
overtime (for instance, gitweb’s patches contain a version number at
the bottom).
2020-07-31 08:56:53 +02:00
Frederik Rietdijk
24c96b9259 Revert "Merge pull request #86954 from lovesegfault/binutils-2.34"
Pythons find_library is broken with binutils 2.34, and numpy could not import libraries because of not properly aligned ELF's.

This is the second time binutils 2.34 got reverted. Next time, we should have a dedicated Hydra job for it.

This reverts commit 629fa8a2d4, reversing
changes made to 4ddd080d19.
2020-05-23 10:18:26 +02:00
Bernardo Meurer
e1f4e0f03f binutils: 2.33.1 -> 2.34 2020-05-09 13:56:00 -07:00
Guillaume Bouchard
f1bada765e binutils: 2.31.1 -> 2.33.1
- I've removed the stack of patch linked to
https://sourceware.org/bugzilla/show_bug.cgi?id=23428 . The associated
issue says it is closed and targeted for 2.32.

- I've ugraded the "no_plugin" patch. The logic changed in
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=41f37a6fb71f2a3de388108f5cdfca9cbe6e9d51
and I tried to keep the same logic by disabling everything.

It closes https://github.com/NixOS/nixpkgs/issues/78197
2020-05-09 13:56:00 -07:00
Florian Klink
607c4d8bb8 Revert "binutils: 2.31.1 -> 2.33.1"
This reverts commit efdb29597a.
2020-04-29 15:48:26 +02:00
Florian Klink
ff76d777fb Revert "binutils: 2.33.1 -> 2.34"
This reverts commit c5f602f5b7.
2020-04-29 15:48:24 +02:00
Bernardo Meurer
c5f602f5b7 binutils: 2.33.1 -> 2.34 2020-04-26 15:17:13 -07:00
Guillaume Bouchard
efdb29597a binutils: 2.31.1 -> 2.33.1
- I've removed the stack of patch linked to
https://sourceware.org/bugzilla/show_bug.cgi?id=23428 . The associated
issue says it is closed and targeted for 2.32.

- I've ugraded the "no_plugin" patch. The logic changed in
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=41f37a6fb71f2a3de388108f5cdfca9cbe6e9d51
and I tried to keep the same logic by disabling everything.

It closes https://github.com/NixOS/nixpkgs/issues/78197
2020-04-26 15:17:12 -07:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
John Ericson
f191360ad0 Merge remote-tracking branch 'upstream/staging-next' into staging 2019-11-25 15:59:05 -05:00
John Ericson
234446a447 binutils: Use pname 2019-11-24 18:32:26 +00:00
John Ericson
04f3bc518e binutils: Inherit version 2019-11-24 18:32:26 +00:00
Michael Bishop
4aa1ffae04
initial implementation of vc4 cross-compile 2019-11-19 22:19:15 -04:00
volth
08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
volth
f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Frederik Rietdijk
ef0dbef7f1 Merge master into staging-next 2019-05-12 19:59:09 +02:00
Matthew Bauer
3c5188ccb6 binutils: disable gold when building on darwin
Needed to build anything, otherwise get this error:

https://hydra.nixos.org/build/93192355/
2019-05-11 11:24:35 -04:00
Frederik Rietdijk
87a5d8fede Merge staging-next into staging 2019-05-07 19:30:14 +02:00
Matthew Bauer
02e9697471 binutils: add gettext dependency
Needed on libc without gettext bundled.

Fixes #11420
2019-04-30 22:50:21 -04:00
Matthew Bauer
457b48cc03 binutils: apply patch when cross compiling from darwin
Fixes #60546
2019-04-30 20:24:09 -04:00
Will Dietz
cd836b57ec binutils: and apply in right order 2019-01-22 06:36:16 -06:00
Will Dietz
bf0a0d424b binutils: patches from upstream to unbreak linking musl
https://sourceware.org/bugzilla/show_bug.cgi?id=23428
2019-01-22 06:36:13 -06:00
Tim Steinbach
53e1db960a
binutils: 2.30.0 -> 2.31.1 2019-01-20 13:03:00 -05: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
Piotr Bogdan
c302474077 binutils: remove dtneeded.patch 2018-12-19 09:20:38 +01:00
Frederik Rietdijk
a510aa2672 Merge master into staging-next 2018-12-03 12:18:43 +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
Léo Gaspard
8ecd555ded
Merge branch 'pr-46056' into staging
* pr-46056:
  binutils: use shared libs
  binutils: fix #44936 the huge size regression
2018-11-28 09:55:05 +09: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
Matthew Bauer
2e2afa1943 gcc/binutils: disable pie hardening
These don’t like having -fPIE set for them. We should disable
hardening all the time, but in the interest of not changing hashes,
this only disables it for Musl (where it is now the default).

(cherry picked from commit a3a6884649354a660326acd68c1bd08ffd2dcfa2)
2018-11-09 13:55:35 -06:00
Vladimír Čunát
beb063a103
binutils: use shared libs 2018-09-04 21:36:07 +02:00
Vladimír Čunát
fb3ed07a2b
binutils: fix #44936 the huge size regression
206 -> 32 MiB, i.e. not like the previous 26, but much better now.
2018-09-04 21:36:07 +02:00
John Ericson
0828e2d8c3 treewide: Remove usage of remaining redundant platform compatability stuff
Want to get this out of here for 18.09, so it can be deprecated
thereafter.
2018-08-30 17:20:32 -04:00
Jan Malakhovski
35c9435d15 binutils: disable installcheck for different targetPlatforms 2018-08-11 09:35:40 +00:00
Matthew Stewart
18f517fbd6 Enable new dtags in a way that works with binutils 2.30.
In 3027bca, binutils was upgraded from 2.28.1 to 2.30. However, in 2.30,
the ldmain.c file within binutils, which the nixpkgs new-dtags.patch
file is meant to modify, was changed in such a way that the patch no
longer works. As a result, the new dtags are not actually enabled, and
binaries are built with RPATH set instead of RUNPATH, thereby preventing
LD_LIBRARY_PATH from overriding this built-in path. This change corrects
this. The patch file is no longer necessary because binutils's ldmain.c
now sets link_info.new_dtags based on the configuration flags.

This was probably not noticed immediately because, when the derivation
is built with nix-build, the fixupPhase runs patchelf --shrink-rpath.
patchelf converts any RPATH in the binary into RUNPATH (unless
--force-rpath is specified).  Of course, if the binary is built without
nix-build (such as in a nix-shell), this never occurs, and any RPATH in
the binary is left in place.
2018-07-24 11:09:36 +03:00
Jörg Thalheim
218298b30f
Merge branch 'master' into unused5 2018-07-21 15:41:22 +01:00
volth
52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
volth
6d2857a311 [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
Matthew Justin Bauer
412e823f29
binutils: disable format hardening
This fails for me:

> compressed_output.cc:320:20: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
>       gold_warning(_("not compressing section data: zlib error"));
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ./system.h:40:20: note: expanded from macro '_'
> # define _(String) gettext (String)
>                    ^~~~~~~~~~~~~~~~
> compressed_output.cc:320:20: note: treat the string as an argument to avoid this
>       gold_warning(_("not compressing section data: zlib error"));
>                    ^
>                    "%s",
> ./system.h:40:20: note: expanded from macro '_'
> # define _(String) gettext (String)
                   ^

Disabling format hardening should hopefully be harmless here. If it's a problem we can also make it conditional.

/cc @Ericson2314
2018-06-12 22:54:10 -04:00
John Ericson
ee9dc37e04
Merge pull request #40933 from obsidiansystems/linux-to-darwin
stdenv, binutils: Build cctools targeting macOS on Linux without pointless rebuilds
2018-05-23 11:37:43 -04:00
John Ericson
4ffa8b6125 binutils: Do not needless redownload sources cascading more rebuilds
Unfortunately this is a crude hack that we use the same binutils source
everywhere in the bootstrap chain.
2018-05-23 10:06:08 -04:00
John Ericson
75638e2de9
Merge pull request #40930 from obsidiansystems/binutils-always-patch
binutils: Always apply Aarch64 patch
2018-05-22 13:31:53 -04:00
John Ericson
afc439d57b binutils: Always apply Aarch64 patch
Otherwise various things which depend on `--enable-targets=all`
lib{bfd,opcodes}...like LLVM.
2018-05-21 20:30:25 -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