Commit graph

230 commits

Author SHA1 Message Date
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
Vladimír Čunát
09af15654f Merge master into closure-size
The kde-5 stuff still didn't merge well.
I hand-fixed what I saw, but there may be more problems.
2016-03-08 09:58:19 +01:00
Franz Pletz
034b2ec2ed glibc: stackprotector is already disabled in default.nix
This overwrites the hardeningDisable attribute and removes disabling the
fortify flag.
2016-03-05 19:47:04 +01:00
Franz Pletz
aff1f4ab94 Use general hardening flag toggle lists
The following parameters are now available:

  * hardeningDisable
    To disable specific hardening flags
  * hardeningEnable
    To enable specific hardening flags

Only the cc-wrapper supports this right now, but these may be reused by
other wrappers, builders or setup hooks.

cc-wrapper supports the following flags:

  * fortify
  * stackprotector
  * pie (disabled by default)
  * pic
  * strictoverflow
  * format
  * relro
  * bindnow
2016-03-05 18:55:26 +01:00
Eelco Dolstra
d5bb6a1f9c glibc: Enable separate debug symbols
The importance of glibc makes it worthwhile to provide debug
symbols. However, this revealed an issue with separateDebugInfo: it
was indiscriminately adding --build-id to all ld invocations, while in
fact it should only do that for final links. Glibc also uses non-final
("relocatable") links, leading to subsequent failure to apply a build
ID ("Cannot create .note.gnu.build-id section, --build-id
ignored"). So now ld-wrapper.sh only passes --build-id for final
links.
2016-02-28 02:57:37 +01:00
Robin Gloster
83bf03e1a3 glibc: disable stackprotector hardening 2016-02-27 08:20:53 +00:00
Robin Gloster
3477e662e6 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-02-27 00:08:08 +00:00
Vladimír Čunát
59617de6d7 glibc: 2.22 -> 2.23
The two patches were included upstream.
(Even the one from guix, except for a whitespace difference.)
2016-02-21 10:31:14 +01:00
Robin Gloster
bc21db3692 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-02-19 21:16:14 +00:00
Eelco Dolstra
1ab14aad7a glibc: Drop hurd support
This hasn't been maintained since 2012.

Also, renamed glibc's kernelHeaders argument to linuxHeaders.
2016-02-18 21:11:15 +01:00
Eelco Dolstra
f98a5946b7 glibc: 2.21 -> 2.22 2016-02-18 20:54:52 +01:00
Nathan Zadoks
fc48bf5a2c glibc: fix cve-2015-7547.patch so it applies cleanly 2016-02-16 17:23:35 +01:00
Nathan Zadoks
b5aa8a4e64 glibc: patch CVE-2015-7547
The glibc DNS client side resolver is vulnerable to a stack-based buffer
overflow when the getaddrinfo() library function is used. Software using
this function may be exploited with attacker-controlled domain names,
attacker-controlled DNS servers, or through a man-in-the-middle attack.
https://googleonlinesecurity.blogspot.co.uk/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html
2016-02-16 16:15:07 +01:00
Robin Gloster
f6d3b7a2ae switch hardening flags 2016-01-30 16:36:57 +00:00
Franz Pletz
954e9903ad Use a hardened stdenv by default 2016-01-30 16:36:57 +00:00
Vladimír Čunát
f9f6f41bff Merge branch 'master' into closure-size
TODO: there was more significant refactoring of qtbase and plasma 5.5
on master, and I'm deferring pointing to correct outputs to later.
2015-12-31 09:53:02 +01:00
Vladimír Čunát
244f985461 glibc-multi: fix with multiple outputs 2015-12-05 17:40:37 +01:00
Vladimír Čunát
fb3c062e54 glibc-info: fix #11476 build with multiple outputs 2015-12-05 08:59:30 +01:00
Eelco Dolstra
6a766f47c2 glibc: Fix assertion failure when using incompatible locale data
Borrowed from

  http://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-locale-incompatibility.patch

https://github.com/NixOS/nix/issues/599

We may also want to apply

  http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/glibc-versioned-locpath.patch

but we'll need to ditch locale-archive first. (Apparently
locale-archive is not very useful anymore anyway.)
2015-12-02 11:27:39 +01:00
Vladimír Čunát
333d69a5f0 Merge staging into closure-size
The most complex problems were from dealing with switches reverted in
the meantime (gcc5, gmp6, ncurses6).
It's likely that darwin is (still) broken nontrivially.
2015-11-20 14:32:58 +01:00
Nikolay Amiantov
8db98ceb01 glibc_multi: fix ldd for 64-bit ELFs 2015-10-07 16:46:26 +03:00
Nikolay Amiantov
1283e3da5d glibc_multi: fix ldd for 64-bit ELFs 2015-10-07 15:44:12 +03:00
Vladimír Čunát
5227fb1dd5 Merge commit staging+systemd into closure-size
Many non-conflict problems weren't (fully) resolved in this commit yet.
2015-10-03 13:33:37 +02:00
Vladimír Čunát
1fbbeff0c1 glibc: apply four security fixes from upstream
Fixes CVE-2014-8121, CVE-2015-1781 and two unnumbered problems (apparently).
All these commits should be contained in the 2.22 release,
but we don't want that yet due to unresolved locale incompatibilites.
2015-08-18 20:58:39 +02:00
Vladimír Čunát
eb4a88d8fd glibc-locales: check that all we build is supported
Until now, if e.g. the user passed "en_US.UTF-8" instead of "en_US.UTF-8/UTF-8",
the locales would be generated without failing but wouldn't work well.
Now we guard against such mistakes. Real life examples:
https://github.com/fish-shell/fish-shell/issues/1927
2015-07-31 15:39:52 +02:00
Vladimír Čunát
f83d12a382 Merge 'master' into staging 2015-05-24 20:39:58 +02:00
Marco Schlumpp
a88c5a8037 glibc: fixed a warning caused by nix-locale-archive.patch
If a function shouldn't accept any parameters, use "(void)" instead of "()".
Close #7843. Vcunat purged unimportant changes from this commit.
2015-05-15 11:14:50 +02:00
Eric Seidel
662a6b1ca6 remove all references to stdenv.cc.cc.is{GNU,Clang}
use the new `stdenv.cc.is{GNU,Clang}` instead, which will always be
defined.
2015-05-11 14:44:50 -07:00
Vladimír Čunát
375bc8def7 Merge staging into closure-size 2015-05-05 11:49:03 +02:00
Lluís Batlle i Rossell
51b1297c8a glibc: fix libgcc_s.so
It used to be a symlink, but now it is a link script. It's crucial to get
proper linking, specially on amrv5tel, where libgcc contains lot of code
related to the limited instruction set of the platform.

Without this fix, g++ shared lib linking was broken, because a "-lgcc" was
not propagated wherever "-lgcc_s" was required. The g++ spec only mentions
"-lgcc_s" and the "-lgcc" is introduced with the libgcc_s.so link script,
only available in the glibc path after this fix.

As a reminder, we put libgcc* in the glibc output to avoid having a
runtime dependency on the gcc path only because of the everywhere linked
libgcc. This problem was specially visible in platforms like armv5tel,
where most programs end up linked to libgcc. Platforms with a more rich
instruction set may rarely end up requiring a link to libgcc.
2015-04-29 10:09:07 +02:00
Vladimír Čunát
a56da607b1 glibcLocales: fix evaluation and build with outputs 2015-04-21 09:02:41 +02:00
Vladimír Čunát
d484c392aa stdenv multiple-outputs: change propagation rules
Now development stuff is propagated from the first output,
and userEnvPkgs from the one with binaries.

Also don't move *.la files (yet). It causes problems, and they're small.
2015-04-18 19:30:28 +02:00
Vladimír Čunát
bf414c9d4f Merge 'staging' into closure-size
- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes

Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
2015-04-18 11:22:20 +02:00
Vladimír Čunát
596bf235b6 glibc: security fix CVE-2014-8121, fixes #7207 2015-04-09 20:42:35 +02:00
Vladimír Čunát
54fc2db1b8 glibc: update 2.20 -> 2.21, including security fixes
Fixes #6578.
https://sourceware.org/ml/libc-alpha/2015-02/msg00119.html

- I had to disable one warning-error type.
- One of our patches needed modification - it seemed that just the context
  changed without affecting the purpose of the patch.
2015-03-03 11:31:01 +01:00
Vladimír Čunát
3d9e9f6571 glibc: fix -lgcc_s linking
https://github.com/NixOS/nixpkgs/commit/65221567c12eb20d12#commitcomment-9515597
2015-02-22 20:01:03 +01:00
Ambroz Bizjak
e191e227d2 glibc: Disable copying libgcc when cross compiling.
It seems this is only needed for native bootstrapping.
2015-02-05 21:25:40 +01:00
Peter Simons
ec6b82a0c2 Merge branch 'master' into staging. 2015-01-19 18:41:17 +01:00
Michael Raskin
c163baca3b Clean up glibcLocales environment handling -- manual merge of patch by wmertens (except Haskell part) 2015-01-19 11:06:11 +03:00
Eric Seidel
f3c6827373 rename all occurrences of stdenv.cc.gcc to stdenv.cc.cc 2015-01-14 20:27:55 -08:00
Shea Levy
16fe4be790 Add isGNU attribute to gccs 2015-01-14 20:26:57 -08:00
Ludovic Courtès
41b53577a8 unmaintain a bunch of packages 2015-01-13 22:33:49 +01:00
John Wiegley
28b6fb61e6 Change occurrences of gcc to the more general cc
This is done for the sake of Yosemite, which does not have gcc, and yet
this change is also compatible with Linux.
2014-12-26 11:06:21 -06:00
Emery Hemingway
be2060f1e7 glibc_multi: fix package name (close #5284)
"multi" should be between the "glibc" and the version
2014-12-10 18:31:31 +01:00
Vladimír Čunát
975a822778 glibc: improve nscd version check after e316672dcb 2014-11-11 11:06:57 +01:00
Eelco Dolstra
65221567c1 glibc: Include a copy of libgcc_s.so.1
This prevents failures like "libgcc_s.so.1 must be installed for
pthread_cancel to work" that occur because Glibc assumes libgcc_s.so.1
to be in Glibc's libdir.

This solution is pretty hacky, because the libgcc_s.so.1 from
bootstrap-tools might be too old. So if we update GCC, programs might
end up using an outdated libgcc_s.so.1. Ideally, we would build
libgcc_s.so.1 *before* Glibc, which might not be impossible...

Fixes #3548.
2014-11-11 10:23:26 +01:00
Eelco Dolstra
dac591aae6 glibc: Update to 2.20 2014-10-29 17:54:47 +01:00
Eelco Dolstra
1b55b07eeb glibc/2.19 -> glibc
We only have one version of Glibc so no need for a separate directory.
2014-10-29 13:42:59 +01:00
Vladimír Čunát
e316672dcb glibc: put back the nscd check, by $out instead of date
I don't know why they feel they need to check the compatibility by build date,
so I would keep check against $out, which is a better nix equivalent.

Also, expression refactoring (put comments out of hash-changing bash).
2014-09-13 14:06:27 +02:00
Alexander Kjeldaas
dd673de2a7 glibc: make compilation more pure
Remove datetime from nscd.
2014-09-13 13:53:43 +02:00
Vladimír Čunát
8da52a642a Merge branch 'staging' into v/modular
Conflicts (easy):
	pkgs/development/interpreters/perl/5.10/setup-hook.sh
	pkgs/development/interpreters/perl/5.8/setup-hook.sh
	pkgs/development/libraries/gtk+/2.x.nix
2014-08-31 12:23:18 +02:00
Vladimír Čunát
e51f73652d Merge recent master into staging
Hydra: ?compare=1149952

Conflicts:
	nixos/doc/manual/configuration.xml (changed split file)
	nixos/modules/config/users-groups.nix (choosing filterNull instead of inline definition)
	pkgs/development/libraries/readline/readline6.3.nix (auto-solved)
2014-08-30 10:04:02 +02:00
Vladimír Čunát
a283bec71c glibc: fix CVE-2014-5119 by Debian patch 2014-08-30 09:44:07 +02:00
Vladimír Čunát
a70180ba73 mutiout: make it builtin 2014-08-30 08:27:43 +02:00
Michael Raskin
d87b867a24 Merge pull request #3225 from hrdinka/move-glibc-multi
glibc_multi: move glibc_multi script out of all-packages.nix
2014-08-29 01:08:04 +04:00
Vladimír Čunát
3ec413cece WIP 2014-08-25 15:30:46 +02:00
Vladimír Čunát
c96f4d7949 gcc, glibc: merge changes from original multiple-output
Can't be done automatically because of file copies/moves.
2014-08-25 10:29:54 +02:00
Peter Simons
2d326e5032 Merge remote-tracking branch 'origin/master' into staging.
Conflicts:
	pkgs/desktops/e18/enlightenment.nix
2014-08-04 16:51:47 +02:00
Vladimír Čunát
9253a95f6b glibc: fix CVE-2014-0475 by upstream patches
https://sourceware.org/bugzilla/show_bug.cgi?id=17137
2014-08-04 16:49:57 +02:00
Mateusz Kowalczyk
7a45996233 Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
Christoph Hrdinka
d82c95cf17 glibc_multi: move glibc_multi script out of all-packages.nix 2014-07-10 09:55:50 +02:00
Vladimír Čunát
cbe7e0b5f0 glibc: fix a math problem by upstream patch 2014-03-08 10:23:38 +01:00
Ian-Woo Kim
05068ac554 glibc: do not use system ld.so.preload (close #1788)
Modified according to the PR comment.
2014-02-28 16:39:12 +01:00
Eelco Dolstra
a5ea0a3f50 glibc: Update to 2.19 2014-02-14 16:01:47 +01:00
Eelco Dolstra
de605827f8 glibc: Rename 2.18 -> 2.19 2014-02-14 15:49:50 +01:00
Vladimír Čunát
c6b92053c9 glibc: pull a bug work-around from Arch
This should work around some of our build problems,
e.g. http://hydra.nixos.org/build/7575893/nixlog/1/tail-reload

Cf. #1446
2014-01-02 23:40:44 +01:00
Vladimír Čunát
cb639302df Merge glibc-2.18 branch into stdenv-updates
It's to separate from other changes coming from master.

Conflicts:
	pkgs/development/libraries/glibc/2.18/common.nix (taking both changes)
	pkgs/development/libraries/ncurses/5_4.nix (deleted)
2013-12-28 18:51:23 +01:00
Eelco Dolstra
53567db1d5 glibc: Apply upstream patch for scanf regression
https://sourceware.org/bugzilla/show_bug.cgi?id=15917

This broke Atlas.

http://hydra.nixos.org/build/7072399
http://sourceforge.net/p/math-atlas/discussion/75123/thread/dc45bb67/
2013-12-16 17:12:19 +01:00
Peter Simons
c32bf83301 Merge remote-tracking branch 'origin/master' into stdenv-updates.
Conflicts:
	pkgs/development/interpreters/perl/5.16/default.nix
	pkgs/tools/networking/curl/default.nix
	pkgs/top-level/all-packages.nix
	pkgs/top-level/release-python.nix
	pkgs/top-level/release-small.nix
	pkgs/top-level/release.nix
2013-12-04 18:33:52 +01:00
Eelco Dolstra
da607b2110 Indent sensibly 2013-12-03 09:22:58 -05:00
Eelco Dolstra
929b7bdc4b Merge remote-tracking branch 'origin/master' into glibc-2.18
Conflicts:
	pkgs/development/libraries/glibc/2.17/locales.nix
2013-12-03 09:22:24 -05:00
Eelco Dolstra
101f62ad33 glibc: Various CVE fixes
CVE-2012-4412, CVE-2012-4424, CVE-2013-4237, CVE-2013-4332,
CVE-2013-4458, CVE-2013-4788.
2013-12-02 11:47:06 -05:00
Vladimír Čunát
8c1a49bf7a glibcLocales: refactoring fe32d12 according to comments 2013-11-27 21:34:14 +01:00
Eelco Dolstra
ab377d2a3d glibc: Don't install sln
It's a 835 KiB utility to create symlinks that (AFAIK) is not used
anywhere.  It also has no use case in NixOS.
2013-11-26 11:17:39 +01:00
Eelco Dolstra
a652895cc9 Remove tabs 2013-11-26 11:01:53 +01:00
Ian-Woo Kim
fe32d12ef7 glibc-locales: don't depend on /nix/store location
previously, $TMPDIR/nix/store is hard-coded so that only building and installing is correct with /nix/store
See #1273.
2013-11-25 08:31:48 +01:00
Eelco Dolstra
0c69649a55 glibc: Remove unused version 2.13 2013-11-15 13:26:35 +01:00
Eelco Dolstra
35713f531e glibc: Update to 2.18
Note: the glibc-elf-localscope.patch no longer applies.  It's not
clear if we still need it, but openSUSE (where it came from) no longer
applies it.
2013-11-15 12:35:49 +01:00
Eelco Dolstra
5b22285b53 glibc: Move 2.17 -> 2.18 2013-11-15 12:26:37 +01:00
Peter Simons
9ac8ea937c Merge branch 'origin/master' into stdenv-updates. 2013-08-26 12:21:23 +02:00
Lluís Batlle i Rossell
2fbbe2c1a9 Adding a glibc variant with the memusage program 2013-08-20 10:15:40 +02:00
Peter Simons
0d7118814b Merge branch 'origin/master' into stdenv. 2013-08-17 10:00:16 +02:00
Ludovic Courtès
2e937c437a unmaintain several packages 2013-08-16 23:45:01 +02:00
Vladimír Čunát
842420c3e1 Merge branch 'master' into stdenv-updates
Conflicts (relatively simple):
	pkgs/development/interpreters/python/2.7/default.nix
	pkgs/development/libraries/dbus/default.nix
	pkgs/development/libraries/glib/default.nix
	pkgs/development/libraries/glibc/2.17/common.nix
2013-06-20 19:21:25 +02:00
Vladimír Čunát
c72ed04892 Merge 'master' and 'stdenv-fixes' into x-updates
Final stabilization phase before merging into master.

Conflicts (glibc-2.13):
	pkgs/top-level/all-packages.nix
2013-06-16 10:13:51 +02:00
Peter Simons
aa2044099d glibc: add "/run/current-system/sw/bin" to the default search path returned by "getconf CS_PATH" 2013-06-03 22:16:05 +02:00
Petr Rockai
2a0479fc48 glibc: Enable kernels down to 2.6.32 (required for RHEL 6). 2013-06-01 17:57:49 +02:00
Eelco Dolstra
c2a16ec012 glibc: Security fixes.
CVE-2013-0242, CVE-2013-1914.
2013-05-09 13:57:59 +02:00
Eelco Dolstra
0f53a2e9f3 glibc: Require Linux 2.6.32 instead of 2.6.35
By popular demand.  For instance, many widely used RHEL systems are
still on 2.6.32.
2013-05-09 13:52:05 +02:00
Eelco Dolstra
cc17e70374 glibc: Remove 2.13
It's not used and has security bugs.
2013-05-09 13:50:51 +02:00