mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-26 08:53:21 +00:00
glibc: 2.27 -> 2.30
This commit is contained in:
parent
76d90cf1f5
commit
447edaa32f
@ -23,6 +23,7 @@
|
||||
, linuxHeaders ? null
|
||||
, gd ? null, libpng ? null
|
||||
, bison
|
||||
, python3
|
||||
}:
|
||||
|
||||
{ name
|
||||
@ -34,9 +35,9 @@
|
||||
} @ args:
|
||||
|
||||
let
|
||||
version = "2.27";
|
||||
version = "2.30";
|
||||
patchSuffix = "";
|
||||
sha256 = "0wpwq7gsm7sd6ysidv0z575ckqdg13cr2njyfgrbgh4f65adwwji";
|
||||
sha256 = "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72";
|
||||
in
|
||||
|
||||
assert withLinuxHeaders -> linuxHeaders != null;
|
||||
@ -162,7 +163,7 @@ stdenv.mkDerivation ({
|
||||
outputs = [ "out" "bin" "dev" "static" ];
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
nativeBuildInputs = [ bison ];
|
||||
nativeBuildInputs = [ bison python3 ];
|
||||
buildInputs = [ linuxHeaders ] ++ lib.optionals withGd [ gd libpng ];
|
||||
|
||||
# Needed to install share/zoneinfo/zone.tab. Set to impure /bin/sh to
|
||||
|
@ -1,19 +1,6 @@
|
||||
diff -Naur glibc-2.27-orig/elf/ldconfig.c glibc-2.27/elf/ldconfig.c
|
||||
--- glibc-2.27-orig/elf/ldconfig.c 2018-02-01 11:17:18.000000000 -0500
|
||||
+++ glibc-2.27/elf/ldconfig.c 2018-02-17 22:43:17.232175182 -0500
|
||||
@@ -51,7 +51,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef LD_SO_CONF
|
||||
-# define LD_SO_CONF SYSCONFDIR "/ld.so.conf"
|
||||
+# define LD_SO_CONF PREFIX "/etc/ld.so.conf"
|
||||
#endif
|
||||
|
||||
/* Get libc version number. */
|
||||
diff -Naur glibc-2.27-orig/elf/Makefile glibc-2.27/elf/Makefile
|
||||
--- glibc-2.27-orig/elf/Makefile 2018-02-01 11:17:18.000000000 -0500
|
||||
+++ glibc-2.27/elf/Makefile 2018-02-17 22:44:50.334006750 -0500
|
||||
@@ -559,13 +559,13 @@
|
||||
--- a/elf/Makefile
|
||||
+++ b/elf/Makefile
|
||||
@@ -589,13 +589,13 @@ $(objpfx)sln: $(sln-modules:%=$(objpfx)%.o)
|
||||
|
||||
$(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
|
||||
|
||||
@ -32,9 +19,19 @@ diff -Naur glibc-2.27-orig/elf/Makefile glibc-2.27/elf/Makefile
|
||||
|
||||
cpp-srcs-left := $(all-rtld-routines:=.os)
|
||||
lib := rtld
|
||||
diff -Naur glibc-2.27-orig/sysdeps/generic/dl-cache.h glibc-2.27/sysdeps/generic/dl-cache.h
|
||||
--- glibc-2.27-orig/sysdeps/generic/dl-cache.h 2018-02-01 11:17:18.000000000 -0500
|
||||
+++ glibc-2.27/sysdeps/generic/dl-cache.h 2018-02-17 22:45:20.471598816 -0500
|
||||
--- a/elf/ldconfig.c
|
||||
+++ b/elf/ldconfig.c
|
||||
@@ -51,7 +51,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef LD_SO_CONF
|
||||
-# define LD_SO_CONF SYSCONFDIR "/ld.so.conf"
|
||||
+# define LD_SO_CONF PREFIX "/etc/ld.so.conf"
|
||||
#endif
|
||||
|
||||
/* Get libc version number. */
|
||||
--- a/sysdeps/generic/dl-cache.h
|
||||
+++ b/sysdeps/generic/dl-cache.h
|
||||
@@ -28,7 +28,7 @@
|
||||
#endif
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
diff -ru glibc-2.20-orig/elf/rtld.c glibc-2.20/elf/rtld.c
|
||||
--- glibc-2.20-orig/elf/rtld.c 2014-09-07 10:09:09.000000000 +0200
|
||||
+++ glibc-2.20/elf/rtld.c 2014-10-27 11:32:25.203043157 +0100
|
||||
@@ -1513,7 +1513,7 @@
|
||||
--- a/elf/rtld.c
|
||||
+++ b/elf/rtld.c
|
||||
@@ -1697,7 +1697,7 @@ ERROR: '%s': cannot process note segment.\n", _dl_argv[0]);
|
||||
open(). So we do this first. If it succeeds we do almost twice
|
||||
the work but this does not matter, since it is not for production
|
||||
use. */
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3288c6da64add3b4561b8c10fff522027caea01c Mon Sep 17 00:00:00 2001
|
||||
From d9e6dd5631c8d97fd2d3128317c6352e34bf3ca7 Mon Sep 17 00:00:00 2001
|
||||
From: Nicholas Miell <nmiell@gmail.com>
|
||||
Date: Sat, 17 Jun 2017 18:21:07 -0700
|
||||
Subject: [PATCH] Align the stack on entry to __tls_get_addr()
|
||||
@ -17,13 +17,13 @@ engine and available for purchase on Steam.
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/elf/dl-tls.c b/elf/dl-tls.c
|
||||
index 5aba33b3fa..3f3cb917de 100644
|
||||
index b425d661..b02c2afa 100644
|
||||
--- a/elf/dl-tls.c
|
||||
+++ b/elf/dl-tls.c
|
||||
@@ -827,6 +827,10 @@ rtld_hidden_proto (__tls_get_addr)
|
||||
@@ -818,6 +818,10 @@ rtld_hidden_proto (__tls_get_addr)
|
||||
rtld_hidden_def (__tls_get_addr)
|
||||
#endif
|
||||
|
||||
|
||||
+#ifdef __x86_64__
|
||||
+/* Old versions of gcc didn't align the stack. */
|
||||
+__attribute__((force_align_arg_pointer))
|
||||
@ -31,5 +31,6 @@ index 5aba33b3fa..3f3cb917de 100644
|
||||
/* The generic dynamic and local dynamic model cannot be used in
|
||||
statically linked applications. */
|
||||
void *
|
||||
--
|
||||
2.13.0
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
diff -ubr glibc-2.17-orig/sysdeps/unix/confstr.h glibc-2.17/sysdeps/unix/confstr.h
|
||||
--- glibc-2.17-orig/sysdeps/unix/confstr.h 2013-06-03 22:01:44.829726968 +0200
|
||||
+++ glibc-2.17/sysdeps/unix/confstr.h 2013-06-03 22:04:39.469376740 +0200
|
||||
--- a/sysdeps/unix/confstr.h
|
||||
+++ b/sysdeps/unix/confstr.h
|
||||
@@ -1 +1 @@
|
||||
-#define CS_PATH "/bin:/usr/bin"
|
||||
+#define CS_PATH "/run/current-system/sw/bin:/bin:/usr/bin"
|
||||
|
@ -1,7 +1,6 @@
|
||||
diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
|
||||
--- glibc-2.27-orig/locale/loadarchive.c 2018-02-01 11:17:18.000000000 -0500
|
||||
+++ glibc-2.27/locale/loadarchive.c 2018-02-17 22:32:25.680169462 -0500
|
||||
@@ -123,6 +123,23 @@
|
||||
--- a/locale/loadarchive.c
|
||||
+++ b/locale/loadarchive.c
|
||||
@@ -123,6 +123,23 @@ calculate_head_size (const struct locarhead *h)
|
||||
return MAX (namehash_end, MAX (string_end, locrectab_end));
|
||||
}
|
||||
|
||||
@ -25,7 +24,7 @@ diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
|
||||
|
||||
/* Find the locale *NAMEP in the locale archive, and return the
|
||||
internalized data structure for its CATEGORY data. If this locale has
|
||||
@@ -202,7 +219,7 @@
|
||||
@@ -202,7 +219,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
|
||||
archmapped = &headmap;
|
||||
|
||||
/* The archive has never been opened. */
|
||||
@ -34,7 +33,7 @@ diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
|
||||
if (fd < 0)
|
||||
/* Cannot open the archive, for whatever reason. */
|
||||
return NULL;
|
||||
@@ -397,8 +414,7 @@
|
||||
@@ -397,8 +414,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
|
||||
if (fd == -1)
|
||||
{
|
||||
struct stat64 st;
|
||||
@ -44,13 +43,13 @@ diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
|
||||
if (fd == -1)
|
||||
/* Cannot open the archive, for whatever reason. */
|
||||
return NULL;
|
||||
diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/locale.c
|
||||
--- glibc-2.27-orig/locale/programs/locale.c 2018-02-01 11:17:18.000000000 -0500
|
||||
+++ glibc-2.27/locale/programs/locale.c 2018-02-17 22:36:39.726293213 -0500
|
||||
@@ -633,6 +633,24 @@
|
||||
--- a/locale/programs/locale.c
|
||||
+++ b/locale/programs/locale.c
|
||||
@@ -633,6 +633,24 @@ nameentcmp (const void *a, const void *b)
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
+static int
|
||||
+open_locale_archive (void)
|
||||
+{
|
||||
+ int fd = -1;
|
||||
@ -68,11 +67,10 @@ diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/l
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static int
|
||||
static int
|
||||
write_archive_locales (void **all_datap, char *linebuf)
|
||||
{
|
||||
struct stat64 st;
|
||||
@@ -644,7 +662,7 @@
|
||||
@@ -645,7 +663,7 @@ write_archive_locales (void **all_datap, char *linebuf)
|
||||
int fd, ret = 0;
|
||||
uint32_t cnt;
|
||||
|
||||
@ -81,10 +79,9 @@ diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/l
|
||||
if (fd < 0)
|
||||
return 0;
|
||||
|
||||
diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/programs/locarchive.c
|
||||
--- glibc-2.27-orig/locale/programs/locarchive.c 2018-02-01 11:17:18.000000000 -0500
|
||||
+++ glibc-2.27/locale/programs/locarchive.c 2018-02-17 22:40:51.245293975 -0500
|
||||
@@ -117,6 +117,22 @@
|
||||
--- a/locale/programs/locarchive.c
|
||||
+++ b/locale/programs/locarchive.c
|
||||
@@ -117,6 +117,22 @@ prepare_address_space (int fd, size_t total, size_t *reserved, int *xflags,
|
||||
}
|
||||
|
||||
|
||||
@ -107,7 +104,7 @@ diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/progra
|
||||
static void
|
||||
create_archive (const char *archivefname, struct locarhandle *ah)
|
||||
{
|
||||
@@ -578,7 +594,7 @@
|
||||
@@ -578,7 +594,7 @@ open_archive (struct locarhandle *ah, bool readonly)
|
||||
while (1)
|
||||
{
|
||||
/* Open the archive. We must have exclusive write access. */
|
||||
|
@ -1,7 +1,6 @@
|
||||
diff -ru glibc-2.18-orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c
|
||||
--- glibc-2.18-orig/sunrpc/rpc_main.c 2013-08-11 00:52:55.000000000 +0200
|
||||
+++ glibc-2.18/sunrpc/rpc_main.c 2013-11-15 12:04:48.041006977 +0100
|
||||
@@ -78,7 +78,7 @@
|
||||
--- a/sunrpc/rpc_main.c
|
||||
+++ b/sunrpc/rpc_main.c
|
||||
@@ -78,7 +78,7 @@ static const char *cmdname;
|
||||
|
||||
static const char *svcclosetime = "120";
|
||||
static int cppDefined; /* explicit path for C preprocessor */
|
||||
@ -10,7 +9,7 @@ diff -ru glibc-2.18-orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c
|
||||
static const char CPPFLAGS[] = "-C";
|
||||
static char *pathbuf;
|
||||
static int cpp_pid;
|
||||
@@ -107,7 +107,6 @@
|
||||
@@ -107,7 +107,6 @@ static char *extendfile (const char *file, const char *ext);
|
||||
static void open_output (const char *infile, const char *outfile);
|
||||
static void add_warning (void);
|
||||
static void clear_args (void);
|
||||
@ -18,7 +17,7 @@ diff -ru glibc-2.18-orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c
|
||||
static void open_input (const char *infile, const char *define);
|
||||
static int check_nettype (const char *name, const char *list_to_check[]);
|
||||
static void c_output (const char *infile, const char *define,
|
||||
@@ -322,25 +321,6 @@
|
||||
@@ -322,25 +321,6 @@ clear_args (void)
|
||||
argcount = FIXEDARGS;
|
||||
}
|
||||
|
||||
@ -44,7 +43,7 @@ diff -ru glibc-2.18-orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c
|
||||
/*
|
||||
* Open input file with given define for C-preprocessor
|
||||
*/
|
||||
@@ -359,7 +339,6 @@
|
||||
@@ -359,7 +339,6 @@ open_input (const char *infile, const char *define)
|
||||
switch (cpp_pid)
|
||||
{
|
||||
case 0:
|
||||
|
Loading…
Reference in New Issue
Block a user