summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Reimer2019-10-06 14:35:48 +0200
committerManuel Reimer2019-10-06 14:35:48 +0200
commit7948f23bfbd818a46ec9dd8529246d58db2584a7 (patch)
tree01db047a0b03ed512fdbfbc06535f77f99856b81
parent51aef0d1946872422ba426eda4ca4c4f3c79a880 (diff)
downloadaur-7948f23bfbd818a46ec9dd8529246d58db2584a7.tar.gz
Update to glibc 2.30
-rw-r--r--.SRCINFO12
-rw-r--r--0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch194
-rw-r--r--PKGBUILD10
-rw-r--r--bz20338.patch8
4 files changed, 13 insertions, 211 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ee0c9df9bcce..a0af20439e87 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = wine-lol-glibc
pkgdesc = GNU C Library patched for wine-lol
- pkgver = 2.29
- pkgrel = 3
+ pkgver = 2.30
+ pkgrel = 1
url = https://www.gnu.org/software/libc
arch = x86_64
license = GPL
@@ -16,14 +16,12 @@ pkgbase = wine-lol-glibc
optdepends = gd: for memusagestat
options = !strip
options = staticlibs
- source = https://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.xz
+ source = https://ftp.gnu.org/gnu/glibc/glibc-2.30.tar.xz
source = bz20338.patch
- source = 0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch
source = file-truncated-while-reading-soname-after-patchelf.patch
source = wine-lol-poc1-glibc.diff::https://bugs.winehq.org/attachment.cgi?id=64482
- md5sums = e6c279d5b2f0736f740216f152acf974
- md5sums = dc0d3ad59aeaaf591b085a77de6e03e9
- md5sums = af5d3c5227ac639effe39667a43879a1
+ md5sums = 2b1dbdf27b28620752956c061d62f60c
+ md5sums = 430673eccc78e52c249aa4b0f1786450
md5sums = 0820504d2e83ee15f74a656771361872
md5sums = 65e6d204ab9ad787c8dce999c4ba5c17
diff --git a/0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch b/0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch
deleted file mode 100644
index ba9b874f3617..000000000000
--- a/0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From 2cbf10ae2ea9e378ff91b8f5c4d8cb77ed05378e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bart=C5=82omiej=20Piotrowski?= <bpiotrowski@archlinux.org>
-Date: Fri, 10 Aug 2018-2019 14:12:40 +0000
-Subject: [PATCH] Revert "elf: Correct absolute (SHN_ABS) symbol run-time
- calculation [BZ #19818]"
-
-This reverts commit e7feec374c635b6a29d65c39ae5e1855528fed39.
----
- elf/Makefile | 14 ++-----------
- elf/dl-addr.c | 2 --
- elf/tst-absolute-sym-lib.c | 25 ------------------------
- elf/tst-absolute-sym-lib.lds | 19 ------------------
- elf/tst-absolute-sym.c | 38 ------------------------------------
- sysdeps/generic/ldsodefs.h | 3 +--
- 6 files changed, 3 insertions(+), 98 deletions(-)
- delete mode 100644 elf/tst-absolute-sym-lib.c
- delete mode 100644 elf/tst-absolute-sym-lib.lds
- delete mode 100644 elf/tst-absolute-sym.c
-
-diff --git a/elf/Makefile b/elf/Makefile
-index cd0771307f..5084ba4f6f 100644
---- a/elf/Makefile
-+++ b/elf/Makefile
-@@ -186,7 +186,7 @@ tests += restest1 preloadtest loadfail multiload origtest resolvfail \
- tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \
- tst-nodelete2 tst-audit11 tst-audit12 tst-dlsym-error tst-noload \
- tst-latepthread tst-tls-manydynamic tst-nodelete-dlclose \
-- tst-debug1 tst-main1 tst-absolute-sym tst-absolute-zero tst-big-note \
-+ tst-debug1 tst-main1 \
- tst-unwind-ctor tst-unwind-main
- # reldep9
- tests-internal += loadtest unload unload2 circleload1 \
-@@ -272,8 +272,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
- tst-audit12mod1 tst-audit12mod2 tst-audit12mod3 tst-auditmod12 \
- tst-latepthreadmod $(tst-tls-many-dynamic-modules) \
- tst-nodelete-dlclose-dso tst-nodelete-dlclose-plugin \
-- tst-main1mod tst-libc_dlvsym-dso tst-absolute-sym-lib \
-- tst-absolute-zero-lib tst-big-note-lib tst-unwind-ctor-lib
-+ tst-main1mod tst-libc_dlvsym-dso tst-unwind-ctor-lib
- # Most modules build with _ISOMAC defined, but those filtered out
- # depend on internal headers.
- modules-names-tests = $(filter-out ifuncmod% tst-libc_dlvsym-dso tst-tlsmod%,\
-@@ -1465,14 +1463,6 @@ tst-main1-no-pie = yes
- LDLIBS-tst-main1 = $(libsupport)
- tst-main1mod.so-no-z-defs = yes
-
--LDLIBS-tst-absolute-sym-lib.so = tst-absolute-sym-lib.lds
--$(objpfx)tst-absolute-sym-lib.so: $(LDLIBS-tst-absolute-sym-lib.so)
--$(objpfx)tst-absolute-sym: $(objpfx)tst-absolute-sym-lib.so
--
--LDLIBS-tst-absolute-zero-lib.so = tst-absolute-zero-lib.lds
--$(objpfx)tst-absolute-zero-lib.so: $(LDLIBS-tst-absolute-zero-lib.so)
--$(objpfx)tst-absolute-zero: $(objpfx)tst-absolute-zero-lib.so
--
- # Both the main program and the DSO for tst-libc_dlvsym need to link
- # against libdl.
- $(objpfx)tst-libc_dlvsym: $(libdl)
-diff --git a/elf/dl-addr.c b/elf/dl-addr.c
-index e6c7d02094..2250617a73 100644
---- a/elf/dl-addr.c
-+++ b/elf/dl-addr.c
-@@ -59,7 +59,6 @@ determine_info (const ElfW(Addr) addr, struct link_map *match, Dl_info *info,
- we can omit that test here. */
- if ((symtab[symndx].st_shndx != SHN_UNDEF
- || symtab[symndx].st_value != 0)
-- && symtab[symndx].st_shndx != SHN_ABS
- && ELFW(ST_TYPE) (symtab[symndx].st_info) != STT_TLS
- && DL_ADDR_SYM_MATCH (match, &symtab[symndx],
- matchsym, addr)
-@@ -92,7 +91,6 @@ determine_info (const ElfW(Addr) addr, struct link_map *match, Dl_info *info,
- && ELFW(ST_TYPE) (symtab->st_info) != STT_TLS
- && (symtab->st_shndx != SHN_UNDEF
- || symtab->st_value != 0)
-- && symtab->st_shndx != SHN_ABS
- && DL_ADDR_SYM_MATCH (match, symtab, matchsym, addr)
- && symtab->st_name < strtabsize)
- matchsym = (ElfW(Sym) *) symtab;
-diff --git a/elf/tst-absolute-sym-lib.c b/elf/tst-absolute-sym-lib.c
-deleted file mode 100644
-index 912cb0048a..0000000000
---- a/elf/tst-absolute-sym-lib.c
-+++ /dev/null
-@@ -1,25 +0,0 @@
--/* BZ #19818 absolute symbol calculation shared module.
-- Copyright (C) 2018-2019 Free Software Foundation, Inc.
-- This file is part of the GNU C Library.
--
-- The GNU C Library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Lesser General Public
-- License as published by the Free Software Foundation; either
-- version 2.1 of the License, or (at your option) any later version.
--
-- The GNU C Library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Lesser General Public License for more details.
--
-- You should have received a copy of the GNU Lesser General Public
-- License along with the GNU C Library; if not, see
-- <http://www.gnu.org/licenses/>. */
--
--extern char absolute;
--
--void *
--get_absolute (void)
--{
-- return &absolute;
--}
-diff --git a/elf/tst-absolute-sym-lib.lds b/elf/tst-absolute-sym-lib.lds
-deleted file mode 100644
-index d4a4128514..0000000000
---- a/elf/tst-absolute-sym-lib.lds
-+++ /dev/null
-@@ -1,19 +0,0 @@
--/* BZ #19818 absolute symbol calculation linker script.
-- Copyright (C) 2018-2019 Free Software Foundation, Inc.
-- This file is part of the GNU C Library.
--
-- The GNU C Library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Lesser General Public
-- License as published by the Free Software Foundation; either
-- version 2.1 of the License, or (at your option) any later version.
--
-- The GNU C Library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Lesser General Public License for more details.
--
-- You should have received a copy of the GNU Lesser General Public
-- License along with the GNU C Library; if not, see
-- <http://www.gnu.org/licenses/>. */
--
--"absolute" = 0x55aa;
-diff --git a/elf/tst-absolute-sym.c b/elf/tst-absolute-sym.c
-deleted file mode 100644
-index 111491d159..0000000000
---- a/elf/tst-absolute-sym.c
-+++ /dev/null
-@@ -1,38 +0,0 @@
--/* BZ #19818 absolute symbol calculation main executable.
-- Copyright (C) 2018-2019 Free Software Foundation, Inc.
-- This file is part of the GNU C Library.
--
-- The GNU C Library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Lesser General Public
-- License as published by the Free Software Foundation; either
-- version 2.1 of the License, or (at your option) any later version.
--
-- The GNU C Library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Lesser General Public License for more details.
--
-- You should have received a copy of the GNU Lesser General Public
-- License along with the GNU C Library; if not, see
-- <http://www.gnu.org/licenses/>. */
--
--#include <support/check.h>
--#include <support/support.h>
--#include <support/test-driver.h>
--
--void *get_absolute (void);
--
--static int
--do_test (void)
--{
-- void *ref = (void *) 0x55aa;
-- void *ptr;
--
-- ptr = get_absolute ();
-- if (ptr != ref)
-- FAIL_EXIT1 ("Got %p, expected %p\n", ptr, ref);
--
-- return 0;
--}
--
--#include <support/test-driver.c>
-diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
-index 95dc87519b..3cac4fa362 100644
---- a/sysdeps/generic/ldsodefs.h
-+++ b/sysdeps/generic/ldsodefs.h
-@@ -72,8 +72,7 @@ typedef struct link_map *lookup_t;
- if non-NULL. Don't check for NULL map if MAP_SET is TRUE. */
- #define SYMBOL_ADDRESS(map, ref, map_set) \
- ((ref) == NULL ? 0 \
-- : (__glibc_unlikely ((ref)->st_shndx == SHN_ABS) ? 0 \
-- : LOOKUP_VALUE_ADDRESS (map, map_set)) + (ref)->st_value)
-+ : LOOKUP_VALUE_ADDRESS (map, map_set) + (ref)->st_value)
-
- /* On some architectures a pointer to a function is not just a pointer
- to the actual code of the function but rather an architecture
---
-2.18.0
-
diff --git a/PKGBUILD b/PKGBUILD
index f5e8045e1717..b1ad99f0bd35 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,8 +7,8 @@
pkgname=wine-lol-glibc
pkgdesc='GNU C Library patched for wine-lol'
-pkgver=2.29
-pkgrel=3
+pkgver=2.30
+pkgrel=1
arch=(x86_64)
url='https://www.gnu.org/software/libc'
license=(GPL LGPL)
@@ -20,12 +20,10 @@ options=(!strip staticlibs)
#source=(git+https://sourceware.org/git/glibc.git#commit=$_commit
source=(https://ftp.gnu.org/gnu/glibc/glibc-$pkgver.tar.xz
bz20338.patch
- 0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch
file-truncated-while-reading-soname-after-patchelf.patch
wine-lol-poc1-glibc.diff::https://bugs.winehq.org/attachment.cgi?id=64482)
-md5sums=('e6c279d5b2f0736f740216f152acf974'
- 'dc0d3ad59aeaaf591b085a77de6e03e9'
- 'af5d3c5227ac639effe39667a43879a1'
+md5sums=('2b1dbdf27b28620752956c061d62f60c'
+ '430673eccc78e52c249aa4b0f1786450'
'0820504d2e83ee15f74a656771361872'
'65e6d204ab9ad787c8dce999c4ba5c17')
diff --git a/bz20338.patch b/bz20338.patch
index d223e9f08882..ddcc3efe4202 100644
--- a/bz20338.patch
+++ b/bz20338.patch
@@ -74,12 +74,12 @@ index b70f6fa..02cd33a 100644
/* Skip leading blanks. */
while (isspace (*p))
++p;
-- } while (*p == '\0' || *p == '#' || /* Ignore empty and comment lines. */
-+ } while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */
+- } while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */
++ } while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */
/* Parse the line. If it is invalid, loop to
get the next line of the file to parse. */
-- ! parse_line (buffer, (void *) resbuf, (void *) buffer, buflen,
-- &errno));
+- || ! parse_line (buffer, (void *) resbuf, (void *) buffer, buflen,
+- &errno));
+ || ! (parse_result = parse_line (p, resbuf,
+ (void *) buffer, buflen,
+ &errno)));