summary refs log tree commit diff
path: root/pkgs/development/libraries/glibc
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'upstream/master' into lib-floatJohn Ericson2018-05-10
|\
| * treewide: isArm -> isAarch32John Ericson2018-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * glibc: use local copy of patch to fix w/muslWill Dietz2018-04-24
| | | | | | | | | | fetchpatch doesn't work with bootstrap fetchurl, so just use local file like we do for other glibc patches.
| * Merge #31320: docs and glibc: explicit comments on outputsVladimír Čunát2018-04-22
| |\
| | * glibc: comments on bin not being the first outputIlya Kolpakov2017-11-06
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | glibc: Make 2.27 the default.Shea Levy2018-03-17
| | |
| * | glibc: make fetchpatch optional ("? null"), just in case.Will Dietz2018-03-11
| | |
| * | glibc: patch to fix building w/musl-based stdenvWill Dietz2018-03-11
| | | | | | | | | | | | | | | See: https://sourceware.org/bugzilla/show_bug.cgi?id=21604
* | | glibc: Remove old-style nullable "cross" variableJohn Ericson2018-05-10
| | | | | | | | | | | | Much better to just use {build,host}Platform directly.
* | | lib: Clean up float/fpu optionsJohn Ericson2018-05-10
| | | | | | | | | | | | | | | | | | 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.
* | | treewide: isArm -> isAarch32John Ericson2018-04-25
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ba52ae50488de85a9cf60a3a04f1c9ca7122ec74)
* | glibc_2_27: LOCAL_ARCHIVE -> LOCALE_ARCHIVEShea Levy2018-02-28
| |
* | gnumake: Fix build against glibc 2.27.Shea Levy2018-02-18
| |
* | glibc: Add 2.27Shea Levy2018-02-17
| |
* | glibc: Fix cross-compilation of localesBen Gamari2018-02-13
| |
* | glibc: Remove two tiny old cross hacksJohn Ericson2018-01-26
| | | | | | | | | | | | - Name is already suffixed - Env vars are already exported
* | lib, glibc: Get rid of withTLSJohn Ericson2018-01-26
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | glibc: 2.26-115 -> 2.26-131 to fix CVE-2018-1000001Vladimír Čunát2018-01-14
| | | | | | | | /cc https://github.com/NixOS/nixpkgs/issues/33826#issuecomment-357436030
* | Merge pull request #26805 from obsidiansystems/cross-elegantJohn Ericson2017-12-30
|\ \ | | | | | | Make cross compilation elegant
| * | treewide: Use `depsBuildBuild` for buildPackges.stdenv.ccJohn Ericson2017-12-30
| | |
* | | glibc: support RHEL 6 -like kernels againVladimír Čunát2017-12-21
| | | | | | | | | | | | We lost the support with 2.25 -> 2.26
* | | glibc: maintenance 2.26-75 -> 2.26-115Vladimír Čunát2017-12-20
|/ /
* | glibc: support obsolete "compat" in nsswitch.confOrivej Desh2017-11-17
| | | | | | | | Fixes #31700. See https://bugs.archlinux.org/task/54592.
* | glibc: 2.25-49 -> 2.26-75Vladimír Čunát2017-11-05
|/ | | | | | | | | | | | | | | 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!).
* glibc: Grab the right linux headers when build != hostJohn Ericson2017-09-20
| | | | | | | | | | | | | | In #28519 / 791ce593ce065cf074edf1509ff52ebc69136d9e 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 25edc476fd9fe1bd8bedf571d218ba4f27fb5a27 and its parent. No native hashes are changed.
* Merge #28906: glibc: 2.25 -> 2.25-49 (upstream patches)Vladimír Čunát2017-09-07
|\
| * glibc: remove a fixup; not needed since glibc-2.22Vladimír Čunát2017-09-02
| |
| * glibc: remove patch with blowfish supportVladimír Čunát2017-09-02
| |
| * glibc: 2.25 -> 2.25-49Vladimír Čunát2017-09-02
| | | | | | | | | | Various fixes within, e.g. mutexes deadlocking sometimes. https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=f7057710f14d6c
* | nixos: update glibc locales linkOrivej Desh2017-09-03
|/
* Revert "binutils: 2.28 -> 2.29"Tuomas Tynkkynen2017-08-17
| | | | | | This reverts commit 733e20fee4a6700510f71fbe1a58ac23ea202f6a. Downgrading to 2.28.1, 2.29 is too buggy.
* binutils: 2.28 -> 2.29Tim Steinbach2017-07-29
| | | | | Binutils 2.29 no longer allows .semver symbols, which is why we need to patch glibc to avoid them
* glibc: fix unaligned __tls_get_addr issuernhmjoj2017-07-06
|
* glibc: fix i686 buildFranz Pletz2017-06-26
|
* glibc: patch CVE-2017-1000366 (stack clash)Franz Pletz2017-06-22
|
* glibc: Simplify derivation furtherJohn Ericson2017-05-20
| | | | | No native hashes should be changed with this commit default.nix's cross hash should also not be changed
* glibc: Fix for crossJohn Ericson2017-05-19
|
* glibc: Remove hack around long-fixed bugJohn Ericson2017-04-25
| | | | https://sourceware.org/bugzilla/show_bug.cgi?id=411 was solved in 2012.
* glibc: apply the i686 patch only on i686Vladimír Čunát2017-04-10
| | | | ... to reduce rebuilding. /cc #23177.
* glibc: fix i686 crashes via an upstream patchVladimír Čunát2017-04-10
| | | | Fixes #23177.
* glibc: fixup libm.aVladimír Čunát2017-02-21
| | | | | | 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.
* Re-revert "Merge: glibc: 2.24 -> 2.25"Vladimír Čunát2017-02-20
| | | | | This reverts commit 55cc7700e968001c9ac79190fbcf25ed3620680a. I hope most problems have been solved. /cc #22874.
* Revert "Merge: glibc: 2.24 -> 2.25"Vladimír Čunát2017-02-16
| | | | | | | | | This reverts commit 1daf2e26d221712dfbe72f9f6d2f73ef230cc43c, reversing changes made to c0c50dfcb70d48e5b79c4ae9f1aa9d339af860b4. 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.
* Merge: glibc: 2.24 -> 2.25Vladimír Čunát2017-02-13
|\
| * glibc: security 2.24 -> 2.25Vladimír Čunát2017-02-11
|/ | | | | | https://sourceware.org/ml/libc-alpha/2017-02/msg00079.html Stripping was failing on libm.a; I don't know why.
* glibc: Check that 'cross.float' is definedTuomas Tynkkynen2017-01-24
| | | | | Because if we define it, then gcc compilation fails because it doesn't support --with-float for aarch64.
* glibc: enable stackprotection hardeningFranz Pletz2016-09-12
| | | | | | | | | | | | | | | 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).
* glibc_multi: Reference dev outputs of glibcTuomas Tynkkynen2016-08-30
|
* glibc_multi: Fix unnoticed output shuffleTuomas Tynkkynen2016-08-29
|
* glibc: Make one exception for output orderTuomas Tynkkynen2016-08-29
| | | | | Usages like '${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2' are much more common than the bin output.