glibc: fix cross compilation build failure (again)
This commit is contained in:
parent
cd827f2209
commit
22a8e7f13d
3 changed files with 36 additions and 0 deletions
|
@ -97,6 +97,11 @@ stdenv.mkDerivation ({
|
|||
./CVE-2018-11236.patch
|
||||
# https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f51c8367685dc888a02f7304c729ed5277904aff
|
||||
./CVE-2018-11237.patch
|
||||
|
||||
# Remove after upgrading to glibc 2.28+
|
||||
# Change backported from upstream
|
||||
# https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9c79cec8cd2a6996a73aa83d79b360ffd4bebde6
|
||||
./fix-out-of-bounds-access-in-findidxwc.patch
|
||||
]
|
||||
++ lib.optionals stdenv.isx86_64 [
|
||||
./fix-x64-abi.patch
|
||||
|
|
|
@ -54,6 +54,11 @@ callPackage ./common.nix { inherit stdenv; } {
|
|||
# Fix -Werror build failure when building glibc with musl with GCC >= 8, see:
|
||||
# https://github.com/NixOS/nixpkgs/pull/68244#issuecomment-544307798
|
||||
(stdenv.lib.optional stdenv.hostPlatform.isMusl "-Wno-error=attribute-alias")
|
||||
(stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
# Ignore "error: '__EI___errno_location' specifies less restrictive attributes than its target '__errno_location'"
|
||||
# New warning as of GCC 9
|
||||
"-Wno-error=missing-attributes"
|
||||
])
|
||||
]);
|
||||
|
||||
# When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
diff -ur glibc-2.27/locale/weightwc.h glibc-2.27-patched/locale/weightwc.h
|
||||
--- glibc-2.27/locale/weightwc.h 2018-02-02 01:17:18.000000000 +0900
|
||||
+++ glibc-2.27-patched/locale/weightwc.h 2020-01-12 04:54:16.044440602 +0900
|
||||
@@ -94,19 +94,19 @@
|
||||
if (cp[cnt] != usrc[cnt])
|
||||
break;
|
||||
|
||||
- if (cnt < nhere - 1)
|
||||
+ if (cnt < nhere - 1 || cnt == len)
|
||||
{
|
||||
cp += 2 * nhere;
|
||||
continue;
|
||||
}
|
||||
|
||||
- if (cp[nhere - 1] > usrc[nhere -1])
|
||||
+ if (cp[nhere - 1] > usrc[nhere - 1])
|
||||
{
|
||||
cp += 2 * nhere;
|
||||
continue;
|
||||
}
|
||||
|
||||
- if (cp[2 * nhere - 1] < usrc[nhere -1])
|
||||
+ if (cp[2 * nhere - 1] < usrc[nhere - 1])
|
||||
{
|
||||
cp += 2 * nhere;
|
||||
continue;
|
Loading…
Reference in a new issue