Commit graph

198 commits

Author SHA1 Message Date
John Ericson f52263ced0 treewide: Start to break up static overlay
We can use use `stdenv.hostPlatform.isStatic` instead, and move the
logic per package. The least opionated benefit of this is that it makes
it much easier to replace packages with modified ones, as there is no
longer any issue of overlay order.

CC @FRidh @matthewbauer
2021-01-03 19:18:16 +00:00
luc65r dde943e535 Revert "Revert "Merge pull request #86954 from lovesegfault/binutils-2.34""
This reverts commit 24c96b9259.
2020-12-28 08:43:32 +01:00
luc65r 3205b32bf6 Revert commits on binutils for OpenRISC 1000
This reverts commits
    ebd89f6de1
    c6f6db77ac
    257fb62387
    dbe556af9c
2020-12-28 08:43:31 +01:00
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