Commit Graph

419 Commits

Author SHA1 Message Date
Jan Tojnar
01ee4ea574
Merge branch 'master' into staging-next 2021-01-24 00:09:45 +01:00
John Ericson
9c213398b3 lib: Clean up how linux and gcc config is specified
Second attempt of 8929989614589ee3acd070a6409b2b9700c92d65; see that
commit for details.

This reverts commit 0bc275e634.
2021-01-23 10:01:28 -05:00
Jonathan Ringer
0bc275e634
Revert "lib: Clean up how linux and gcc config is specified"
This is a stdenv-rebuild, and should not be merged
into master

This reverts commit 8929989614.
2021-01-22 14:07:06 -08:00
TredwellGit
733b53313c glibc: 2.32-25 -> 2.32-35 2021-01-22 21:36:16 +01:00
John Ericson
d95aebbe0e
Merge pull request #107214 from Ericson2314/linux-config-cleanup
lib: Clean up how linux and gcc config is specified
2021-01-22 15:15:58 -05:00
John Ericson
8929989614 lib: Clean up how linux and gcc config is specified
The `platform` field is pointless nesting: it's just stuff that happens
to be defined together, and that should be an implementation detail.

This instead makes `linux-kernel` and `gcc` top level fields in platform
configs. They join `rustc` there [all are optional], which was put there
and not in `platform` in anticipation of a change like this.

`linux-kernel.arch` in particular also becomes `linuxArch`, to match the
other `*Arch`es.

The next step after is this to combine the *specific* machines from
`lib.systems.platforms` with `lib.systems.examples`, keeping just the
"multiplatform" ones for defaulting.
2021-01-21 22:44:09 -05:00
Ben Siraphob
66e44425c6 pkgs/development/libraries: stdenv.lib -> lib 2021-01-21 19:11:02 -08:00
TredwellGit
9a4e098cc4 glibc: 2.32-24 -> 2.32-25
https://sourceware.org/bugzilla/show_bug.cgi?id=24973
2021-01-09 08:48:18 +01:00
TredwellGit
899354d2c8 glibc: 2.32-10 -> 2.32-24
https://sourceware.org/glibc/wiki/Release
https://sourceware.org/git/?p=glibc.git;a=log;h=refs/heads/release/2.32/master
2020-12-30 20:04:16 -05:00
github-actions[bot]
099a83caba
Merge master into staging-next 2020-12-30 12:24:47 +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
Michael Roitzsch
09a76e08ae glibc: fix Darwin cross compilation for 2.32 2020-12-27 19:04:59 +01:00
Vladimír Čunát
098a7b67ac glibc: 2.32 -> 2.32-10
This should fix #100799 thanks to
https://sourceware.org/bugzilla/show_bug.cgi?id=26534#c5
2020-12-08 05:19:20 +01:00
Ryan Burns
0924152075 glibc: fix cross-compile to ppc64le
Fixes cross-compilation when build == host != target == ppc64le.
Glibc invokes objcopy during cross-compilation to ppc64le, which
fails when the nonprefixed objcopy can't understand the target format.
2020-11-23 19:04:14 -08:00
Maximilian Bosch
30286ebcc1
glibc: 2.31 -> 2.32
ChangeLog: https://sourceware.org/pipermail/libc-announce/2020/000029.html

Patches removed:

* `rpcgen-path.patch` is obsolete as the support for SunOS RPC has been
  removed in 2.32[1].

* The vulnerabilities CVE-2020-1752[2] & CVE-2020-10029[3] are fixed in
  `glibc-2.32`[4][5], thus applying those manually isn't necessary anymore.

I also added myself as second maintainer as I'm quite regularly doing
`glibc`-related stuff in `nixpkgs`, so let's make this situation
official.

[1] https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=5500cdba4018ddbda7909bc7f4f9718610b43cf0
[2] https://nvd.nist.gov/vuln/detail/CVE-2020-1752
[3] https://nvd.nist.gov/vuln/detail/CVE-2020-10029
[4] Commit 9333498794cde1d5cca518badf79533a24114b6f (CVE-2020-1752)
[5] Commit ddc650e9b3dc916eab417ce9f79e67337b05035c (CVE-2020-10029)
2020-09-12 23:04:43 +02: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
Maximilian Bosch
9cd98386a3
glibc: build with patches for CVE-2020-1752 & CVE-2020-10029
/cc roundup #88306
2020-06-30 14:29:54 +02:00
Maximilian Bosch
4a78b2b04f
glibc: 2.30 -> 2.31
https://lists.gnu.org/archive/html/info-gnu/2020-02/msg00001.html
2020-06-29 14:41:42 +02:00
Vladimír Čunát
3f08d642fe
glibc: patch CVE-2020-1752
/cc roundup #88306; the issue seems quite serious to me.

I also made two other patches non-conditional, as we rebuild
all platforms anyway.
2020-05-31 09:11:45 +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
b83fb95a41 glibc: force OBJDUMP to cc.bintools 2020-05-09 15:21:17 -07:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Dmitry Kalinkin
6740593bdd
glibc: provide fallback for kernels with missing prlimit64
The current version of glibc implements support for kernels down to
3.2.0 (and we make sure to enable such support with apporopriate
--enable-kernel setting). The current RHEL6 operating system is based on
a maintained kernel based on 2.6.32 with lots of backports. We provide
basic support for this specific kernel by patching glibc to provide an
exception for this specific version of kernel. This allows for nixpkgs
software distribution to work on RHEL6 and it does so quite well with
almost no problems. There are, however, a few syscalls that are missing
in the 2.6.32 kernel, one of which is prlimit64. This commit provides a
fallback that uses an older {get,set}rlimit syscalls in cases when
prlimit64 is not available. This should streamline the experience for
nixpkgs users wanting to run it on RHEL6, namely, this fixes one of the
tests in findutils.

See also discussion in guix:
https://lists.gnu.org/archive/html/guix-devel/2018-03/msg00356.html
2020-03-01 17:33:27 -05:00
Vladimír Čunát
f6519103bf
glibc: use python3Minimal instead of python3
This should improve the speed of bootstrapping process.
Cost of evaluation also decreases a bit,
but I don't expect that will be significant.
2020-02-14 13:19:00 +01:00
Vladimír Čunát
c2038483fd
glibc, openssl: unbreak cross eval (with minor caveats)
It's certainly better to have those two caveats than not evaluate.
Both seem rather niche.  Unfortunately I failed to find a better way.
I started testing builds of several cross variants; all seem OK.
2020-02-10 15:52:20 +01:00
Vladimír Čunát
5ca088f1cc
glibc/*.patch: revert no-op changes done in 447edaa3
I suppose the diff of the glibc-upgrade branch is a bit cleaner
without including these unnecessary changes.
2020-02-05 13:37:06 +01:00
Maximilian Bosch
ea8ae88f04
Merge branch 'staging' into glibc230 2020-02-01 17:42:03 +01:00
Niklas Hambüchen
8ef2c51d06 glibc: Fix build error due to warning with musl. Fixes #78805 2020-01-30 04:20:52 +01:00
Maximilian Bosch
2d5ed2b4b0 glibc: remove outdated patches
Co-authored-by: Luka Blaskovic <lblasc@znode.net>
2020-01-14 08:51:52 +00:00
Vladimír Čunát
2aea16c4d6 glibc: depend on libidn2 (and libunistring, transitively)
It's a bit hacky, but ATM I can't see any better way for glibc >= 2.28.

Signed-off-by: Luka Blaskovic <lblasc@tvbeat.com>
2020-01-14 08:27:00 +00:00
Luka Blaskovic
447edaa32f glibc: 2.27 -> 2.30 2020-01-14 08:26:58 +00:00
Andrew Childs
b5a45106ae glibc: backport fix for out of bounds access in IBM-1390 converter 2020-01-12 07:08:19 +09:00
Andrew Childs
22a8e7f13d glibc: fix cross compilation build failure (again) 2020-01-12 06:04:42 +09:00
Florian Klink
cd827f2209 Revert "glibc: fix cross compilation build failure"
This reverts commit 51014768d2.
2020-01-11 21:53:02 +01:00
Andrew Childs
51014768d2 glibc: fix cross compilation build failure 2020-01-12 03:37:07 +09:00
Andrew Childs
569f05222c glibc: remove TODO that is now done
This was preventing a mass-rebuild by returning null. As of
5f2d96ba2e it always returns a string.
2020-01-12 03:28:33 +09:00
Jan Tojnar
95a1614a9f
glibc: make NIX_CFLAGS_COMPILE a string 2019-12-31 09:16:53 +01:00
Frederik Rietdijk
6d059becd3 Merge gcc-9 into staging (#68029) 2019-12-30 16:38:38 +01:00
Robin Gloster
5f2d96ba2e
glibc: NIX_CFLAGS_COMPILE -> always string 2019-12-30 13:33:16 +01:00
Franz Pletz
77b6c3cd06
Merge remote-tracking branch 'origin/master' into gcc-9 2019-12-26 14:17:36 +01:00
Robert Scott
9234d1d6db glibc: add patch for CVE-2019-19126
including patch in-repo as it needs modification to remove the changes to
NEWS but fetchpatch doesn't work here
2019-12-10 18:51:16 +01:00
Franz Pletz
4f411338d7
glibc_memusage: fix build with gcc9 2019-11-03 14:43:36 +01:00
Niklas Hambüchen
def9d09806
Merge pull request #71480 from nh2/glibc-musl-gcc8-werror-fixes
glibc: Fix building with musl on GCC 8
2019-10-31 02:52:29 +01:00
Niklas Hambüchen
08ec575c93 glibc: Fix building with musl on GCC 8.
GCC 8 introduced new warnings that were picked up by -Werror;
this commit makes them non-errors until fixed upstream.

See

* https://github.com/NixOS/nixpkgs/pull/68244#issuecomment-544307798
* https://github.com/nh2/static-haskell-nix/issues/56

This commit takes care to not change the derivation for non-musl builds.
2019-10-30 13:29:53 +01:00
Pierre Bourdon
17be09a1f0
glibc: patch CVE-2018-11236, CVE-2018-11237
Patches have been imported into nixpkgs and manually edited to avoid
merge conflicts on ChangeLog / NEWS files.
2019-10-03 00:03:11 +02:00
Matthew Bauer
3fcc4441d7 glibc: fix cross compilation with gcc8 2019-09-16 14:00:15 -04:00
Robin Gloster
b5fa934872
glibc: fix withGd build with gcc8 2019-06-17 07:06:01 +02:00
c0bw3b
9cb260d091 [treewide] delete unused patches 2019-05-04 19:52:24 +02:00
Pierre Bourdon
03f618d9cf
glibc: re-enable stripping in cross builds
References to the host toolchain are leaking through debug symbols in
glibc, causing gnu cross-builds to always depend on the host toolchain.
The decision to not strip was made in 2012 in order to improve GNU/Hurd
support, and I suspect the reasons that justified it back then do not
apply anymore in 2019.

Closure size before:
/nix/store/v5pxj0bgg627hic2khk4d43z6cjp5v7d-hello-2.10-armv7l-unknown-linux-gnueabihf                            596.8M

After:
/nix/store/llp1ncmpar406rc2vhj7g5ix4yqwna3n-hello-2.10-armv7l-unknown-linux-gnueabihf     23.6M
2019-04-17 19:53:53 +02:00
Jörg Thalheim
467f0f9f3a
glibcLocales: also build C.UTF-8
Previously we only build C.UTF-8 as part of the locale-archive
that comes with the glibc core package.
However for consistent use of LANG=C.UTF-8 we also want support
in our glibcLocales as well.
fixes https://github.com/NixOS/nixpkgs/issues/57974
2019-03-21 06:26:07 +00:00
Michael Roitzsch
00a41ebbc1
glibc: fix cross builds on Darwin
evaluate buildPackages.glibc exclusively on Linux,
evaluating it on Darwin will lead to an unsupported platform error
2019-02-26 18:17:31 +01:00
Jörg Thalheim
ff1b945851
glibc: fix cross-build
glibc's buildsystem uses its own executables to generate locales.
This does not work for cross-compilation so instead we use localedef
from buildPackages.
2019-02-24 09:43:01 +00:00
Vladimír Čunát
32767d139f
Merge branch 'staging-next'
This round is without the systemd CVE,
as we don't have binaries for that yet.
BTW, I just ignore darwin binaries these days,
as I'd have to wait for weeks for them.
2019-02-20 09:38:45 +01:00
Michael Roitzsch
a64771d7f1 glibc: enable cross builds on Darwin
add patch file for cross compilation on Darwin
documentation of the changes is at the top of the patch file
2019-02-17 18:40:50 +01:00
Vladimír Čunát
444d073332
Revert "glibc: fix build with newer bison"
This reverts commit aa9821bbb9.
2019-01-29 12:54:04 +01:00
Vladimír Čunát
aa9821bbb9
glibc: fix build with newer bison
Fixes https://github.com/NixOS/nixpkgs/issues/54870
2019-01-29 12:42:26 +01:00
Matthew Bauer
319ebef3a3 Revert "Merge pull request #36948 from dtzWill/fix/glibc-libgcc_s"
This reverts commit 80ff19a45f, reversing
changes made to 43e867a226.
2019-01-26 20:36:42 -05:00
Matthew Bauer
80ff19a45f
Merge pull request #36948 from dtzWill/fix/glibc-libgcc_s
glibc: don't use bootstrap libgcc_s
2019-01-23 17:12:55 -05:00
Matthew Bauer
2ed8ee4b4d Merge branch 'staging' into fix/glibc-libgcc_s 2019-01-23 16:52:54 -05:00
Jörg Thalheim
d966f31f23 glibc: add support for C.utf-8 2019-01-22 22:08:44 +00:00
Jörg Thalheim
5e24fccba4 glibc: remove installLocales argument
Since we now install a sane default this should be no longer necessary.
If it is still needed, it should be easy enough to do this in an overlay.
2019-01-22 22:08:30 +00: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
Frederik Rietdijk
63c6875f26 Merge master into staging-next 2018-11-18 10:32:12 +01:00
Will Dietz
db0abe98bf glibc: disable pie hardening, limit to musl for now 2018-11-15 21:55:08 -06:00
Niklas Hambüchen
432c28afc2 glibc: Add helpful comment.
Intended to avoid contributor confusion as in #50231.
2018-11-13 02:04:59 +01:00
Will Dietz
64b3350537 glibc: don't use bootstrap libgcc_s
Fixes #36947
2018-11-03 19:05:47 -05:00
Daiderd Jordan
7081b5e1ae linux-headers: Clean up with mass rebuild 2018-10-25 21:45:04 -04:00
Daiderd Jordan
ab6bbdd5cd linux-headers: Fix Darwin cross build
Carefully fake cc-version and cc-fullversion to avoid needing a compiler
for the kernel itself to build the headers.

For some reason, doing `make install_headers` twice, first without
INSTALL_HDR_PATH=$out then with, is neccessary to get this to work.
2018-10-23 23:20:42 -04:00
John Ericson
2111e7b742 mkDerivation: Make separateDebugInfo assertion lazier to match other assertions
This is needed to access attributes of derivations on platforms where
they cannot be built.
2018-09-18 16:25:19 -04:00
John Ericson
2205beaa8c glibc: Expose the version 2018-09-15 01:14:31 -04:00
John Ericson
846b44b2e9 glibc, kernel-headers: Fix some eval errors on Darwin
Need to get the source to get elf.h
2018-09-15 01:07:06 -04:00
John Ericson
d7e3dbef66 glibc: Use lib.enableFeature and friends 2018-09-11 17:14:55 -04: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
volth
52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
Will Dietz
d5de4a2529 glibc: remove unused 2.26 patch series 2018-06-26 10:42:06 -05:00
John Ericson
5e17335bd7 Merge remote-tracking branch 'upstream/staging' into strictDeps 2018-05-14 23:33:03 -04:00
John Ericson
330ca731e8 treewide: Get rid of all uses of crossConfig
The hack of using `crossConfig` to enforce stricter handling of
dependencies is replaced with a dedicated `strictDeps` for that purpose.
(Experience has shown that my punning was a terrible idea that made more
difficult and embarrising to teach teach.)

Now that is is clear, a few packages now use `strictDeps`, to fix
various bugs:

 - bintools-wrapper and cc-wrapper
2018-05-14 23:30:37 -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
e98814461d glibc: Remove old-style nullable "cross" variable
Much better to just use {build,host}Platform directly.
2018-05-10 18:05:08 -04:00
John Ericson
1fe81a4bcd lib: Clean up float/fpu options
ARM ABIs now have a float field. This is used as a fallback to lessen
our use of `platform.gcc.float`. I didn't know what the MIPs convention
is so I kept using `platform.gcc.float` in that case.
2018-05-10 18:02:00 -04:00
Matthew Justin Bauer
eeb016e8f0
Merge branch 'staging' into fix-ncurses-darwin-extensions 2018-05-02 15:40:38 -05: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
Will Dietz
c3ab285ce2 glibc: use local copy of patch to fix w/musl
fetchpatch doesn't work with bootstrap fetchurl,
so just use local file like we do for other glibc patches.
2018-04-24 16:57:57 -05:00
Vladimír Čunát
17c4b83d05
Merge #31320: docs and glibc: explicit comments on outputs 2018-04-22 11:55:23 +02:00
Shea Levy
273e58ebd9
glibc: Make 2.27 the default. 2018-03-17 21:58:14 -04:00
Will Dietz
54c4c183dd glibc: make fetchpatch optional ("? null"), just in case. 2018-03-11 11:16:53 -05:00
Will Dietz
82644c15e5 glibc: patch to fix building w/musl-based stdenv
See:
https://sourceware.org/bugzilla/show_bug.cgi?id=21604
2018-03-11 10:53:31 -05:00
Shea Levy
edf0a76211
glibc_2_27: LOCAL_ARCHIVE -> LOCALE_ARCHIVE 2018-02-28 14:09:22 -05:00
Shea Levy
a551e6debc
gnumake: Fix build against glibc 2.27. 2018-02-18 09:27:50 -05:00
Shea Levy
5be93a5883
glibc: Add 2.27 2018-02-17 23:08:05 -05:00
Ben Gamari
a868bf3797 glibc: Fix cross-compilation of locales 2018-02-13 09:44:26 -06:00
John Ericson
7d0d12e3e0 glibc: Remove two tiny old cross hacks
- Name is already suffixed

 - Env vars are already exported
2018-01-26 21:01:33 -05:00
John Ericson
71f814a889 lib, glibc: Get rid of withTLS
glibc removed the underlying flag in 2011 in
83cd14204559abbb52635006832eaf4d2f42514a [1].

This gets us one step closer to fixing #34274: the cross stdenv for
aarch64-unknown-linux-gnu at least evals now.

Thanks to @Dezgeg for doing all the research for this.

[1]: https://sourceware.org/git/?p=glibc.git;a=commit;h=83cd14204559abbb52635006832eaf4d2f42514a
2018-01-26 23:29:06 +02:00
Vladimír Čunát
990ff97c6d
glibc: 2.26-115 -> 2.26-131 to fix CVE-2018-1000001
/cc https://github.com/NixOS/nixpkgs/issues/33826#issuecomment-357436030
2018-01-14 20:41:43 +01:00
John Ericson
4d2b763817
Merge pull request #26805 from obsidiansystems/cross-elegant
Make cross compilation elegant
2017-12-30 22:58:02 -05:00
John Ericson
5b74540c5b treewide: Use depsBuildBuild for buildPackges.stdenv.cc 2017-12-30 22:04:21 -05:00
Vladimír Čunát
87acb2b9fd
glibc: support RHEL 6 -like kernels again
We lost the support with 2.25 -> 2.26
2017-12-21 21:56:31 +01:00
Vladimír Čunát
a139613983
glibc: maintenance 2.26-75 -> 2.26-115 2017-12-20 15:31:13 +01:00
Orivej Desh
035b589245 glibc: support obsolete "compat" in nsswitch.conf
Fixes #31700. See https://bugs.archlinux.org/task/54592.
2017-11-17 06:37:25 +00:00
Ilya Kolpakov
e4afe8fc6c glibc: comments on bin not being the first output
The glibc package does not respect a standard convention to put the
executables in the first output which should be as clear as possible
to anyone seeking to use such executables (e.g. `ldd`). This commit
adds a detailed comment a the top of `common.nix` explaining the
deviation from the convention and how to reference the binaries.
2017-11-06 16:47:30 +01:00
Vladimír Čunát
9bb67d5c1e
glibc: 2.25-49 -> 2.26-75
Security: the NEWS claims a couple more CVEs are fixed than what we
patched, though perhaps nothing critical.

I personally don't find DNS fragmentation attacks that interesting
anymore, as it's just about weaker improvements for cases that choose
not to use DNSSEC.

Largest expected caveat: upstream bumped the minimal supportable kernel
to 3.2.0.  That's the oldest kernel still supported upstream, released
in Jan 2012, but most notably RHEL 6 and derivates still use a heavily
patched 2.6.32 kernel and those systems are still supported and in use
(production support is scheduled to last till the end of 2020!).
2017-11-05 19:10:42 +01:00
John Ericson
8bfb247224 glibc: Grab the right linux headers when build != host
In #28519 / 791ce593ce I made linux
headers be intended to be used from the stage stage, as it would be if
it were a library containing headers and code. I forgot to update glibc,
however, so it was incorrectly using headers for the build platform, not
host platform.

This fixes that, basically reverting a small portion of changes I made a
few months ago in 25edc476fd and its
parent.

No native hashes are changed.
2017-09-20 20:57:41 -04:00
Vladimír Čunát
0c660ad42f
Merge #28906: glibc: 2.25 -> 2.25-49 (upstream patches) 2017-09-07 08:19:40 +02:00
Orivej Desh
7803d69b78 nixos: update glibc locales link 2017-09-03 18:00:35 +00:00
Vladimír Čunát
bdfc989bba
glibc: remove a fixup; not needed since glibc-2.22 2017-09-02 17:22:37 +02:00
Vladimír Čunát
0f91a1dbd7
glibc: remove patch with blowfish support 2017-09-02 17:22:37 +02:00
Vladimír Čunát
51cf42ad0d
glibc: 2.25 -> 2.25-49
Various fixes within, e.g. mutexes deadlocking sometimes.
https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=f7057710f14d6c
2017-09-02 17:22:36 +02: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
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
rnhmjoj
8fcc92fc69
glibc: fix unaligned __tls_get_addr issue 2017-07-06 13:51:50 +02:00
Franz Pletz
7cfd1c8c1b
glibc: fix i686 build 2017-06-26 02:19:08 +02:00
Franz Pletz
2296bf394e
glibc: patch CVE-2017-1000366 (stack clash) 2017-06-22 00:44:35 +02:00
John Ericson
25edc476fd glibc: Simplify derivation further
No native hashes should be changed with this commit
default.nix's cross hash should also not be changed
2017-05-20 22:17:28 -04:00
John Ericson
7e096024d7 glibc: Fix for cross 2017-05-19 18:44:24 -04:00
John Ericson
8328e3d3a6 glibc: Remove hack around long-fixed bug
https://sourceware.org/bugzilla/show_bug.cgi?id=411 was solved in 2012.
2017-04-25 21:43:15 -04:00
Vladimír Čunát
e47ac55a21
glibc: apply the i686 patch only on i686
... to reduce rebuilding. /cc #23177.
2017-04-10 11:18:50 +02:00
Vladimír Čunát
c30b12b9a5
glibc: fix i686 crashes via an upstream patch
Fixes #23177.
2017-04-10 11:13:00 +02:00
Vladimír Čunát
4b7215368a
glibc: fixup libm.a
Now it's not an actual archive but a linker script, and the absolute
paths in there were broken due to moving *.a into $static.
Let's fix this up in all *.a in case there are more in future.
2017-02-21 14:19:07 +01:00
Vladimír Čunát
09d02f72f6
Re-revert "Merge: glibc: 2.24 -> 2.25"
This reverts commit 55cc7700e9.
I hope most problems have been solved.  /cc #22874.
2017-02-20 21:16:41 +01:00
Vladimír Čunát
55cc7700e9
Revert "Merge: glibc: 2.24 -> 2.25"
This reverts commit 1daf2e26d2, reversing
changes made to c0c50dfcb7.

It seems this is what has been causing all the reliability problems
on Hydra.  I'm currently unable to find why it happens, so I'm forced
to revert the update for now.  Discussion: #22874.
2017-02-16 18:16:06 +01:00
Vladimír Čunát
1daf2e26d2
Merge: glibc: 2.24 -> 2.25 2017-02-13 22:14:15 +01:00
Vladimír Čunát
a01f8a4c38
glibc: security 2.24 -> 2.25
https://sourceware.org/ml/libc-alpha/2017-02/msg00079.html

Stripping was failing on libm.a; I don't know why.
2017-02-11 22:14:49 +01:00
Tuomas Tynkkynen
41fd1ed903 glibc: Check that 'cross.float' is defined
Because if we define it, then gcc compilation fails because it doesn't
support --with-float for aarch64.
2017-01-24 22:13:47 +02:00
Franz Pletz
3ba99f83a7
glibc: enable stackprotection hardening
Enables previously manually disabled stackprotector and stackguard
randomization.

From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=511811:

    If glibc is built with the --enable-stackguard-randomization option,
    each application gets a random canary value (at runtime) from /dev/urandom.
    If --enable-stackguard-randomization is absent, applications get a static
    canary value of "0xff0a0000". This is very unfortunate, because the
    attacker may be able to bypass the stack protection mechanism, by placing
    those 4 bytes in the canary word, before the actual canary check is
    performed (for example in memcpy-based buffer overflows).
2016-09-12 02:36:11 +02:00
Tuomas Tynkkynen
73f1ade407 glibc_multi: Reference dev outputs of glibc 2016-08-30 15:18:51 +03:00
Tuomas Tynkkynen
040fadf345 glibc_multi: Fix unnoticed output shuffle 2016-08-29 14:49:53 +03:00
Tuomas Tynkkynen
e065baafba glibc: Make one exception for output order
Usages like '${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2' are much more
common than the bin output.
2016-08-29 14:49:52 +03:00
Tuomas Tynkkynen
a17216af4c treewide: Shuffle outputs
Make either 'bin' or 'out' the first output.
2016-08-29 14:49:51 +03:00
Robin Gloster
e17bc25943
Merge remote-tracking branch 'upstream/master' into staging 2016-08-29 00:24:47 +00:00
Tuomas Tynkkynen
d1c7eb8098 glibc: Uncomment 'meta.platforms' 2016-08-28 18:04:09 +03:00
obadz
24a9183f90 Merge branch 'hardened-stdenv' into staging
Closes #12895

Amazing work by @globin & @fpletz getting hardened compiler flags by
enabled default on the whole package set
2016-08-22 01:19:35 +01:00
obadz
b092538811 Revert "glibc: add patch to fix segfault in forkpty"
This reverts commit 1747d28e5a.

Was fixed upstream in glibc 2.24
2016-08-20 22:39:05 +01:00
obadz
3e03db11b7 glibc: fixup, that should have been $bin not $out 2016-08-19 15:23:56 +01:00
obadz
a7bfa77787 glibc: remove sln from bin, not sbin 2016-08-19 15:20:46 +01:00
obadz
9744c7768d glibc: 2.23 -> 2.24
- Removed patches that were merged upstream
- Removed --localdir from configureFlags as according to
  https://sourceware.org/bugzilla/show_bug.cgi?id=14259
  it was unused before
2016-08-19 15:05:41 +01:00
Robin Gloster
1747d28e5a glibc: add patch to fix segfault in forkpty 2016-08-16 07:52:03 +00:00
Robin Gloster
5185bc1773 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-07-15 14:41:01 +00:00
Vladimír Čunát
91c1317272 glibc: fixup retaining bootstrap-tools reference
https://github.com/NixOS/nixpkgs/pull/15867#issuecomment-227949096
2016-06-23 12:11:21 +02:00
Eric Litak
251c97adee fix brace warnings in glibc 2016-05-31 16:28:05 -07:00
Eric Litak
e8ca9dca53 manual strip broke crossDrv. no clue why it was ever added; should be automatic 2016-05-31 16:27:24 -07:00
Eric Litak
44ae9a3c0a reorganize crossDrv hooks 2016-05-31 16:27:24 -07:00
Eric Litak
0265285b96 moving builder.sh hooks into nix 2016-05-31 09:33:32 -07:00
Franz Pletz
f8d481754c
Merge remote-tracking branch 'origin/master' into hardened-stdenv 2016-05-18 17:10:02 +02:00
Scott R. Parish
64f5845418 glibc: patch 2.23 for CVE-2016-3075, CVE-2016-1234, CVE-2016-3706
This addresses the following security advisories:

+ CVE-2016-3075: Stack overflow in _nss_dns_getnetbyname_r
+ CVE-2016-1234: glob: buffer overflow with GLOB_ALTDIRFUNC due to incorrect
                 NAME_MAX limit assumption
+ CVE-2016-3706: getaddrinfo: stack overflow in hostent conversion

Patches cherry-picked from glibc's release/2.23/master branch.

The "glob-simplify-interface.patch" was a dependency for
"cve-2016-1234.patch".
2016-05-13 23:47:17 -07:00
Robin Gloster
d020caa5b2 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-04-18 13:49:22 +00:00
Vladimír Čunát
ab15a62c68 Merge branch 'master' into closure-size
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
2016-04-01 10:06:01 +02:00
Robin Gloster
f60c9df0ba Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-03-28 15:16:29 +00:00