From 87893ff83e3310c7e5c1ad10dcaf128366635e93 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Sat, 29 Dec 2018 23:39:10 +0100 Subject: [PATCH] - rel 10; update git patch; drop electron hack which is bad (https://bugzilla.redhat.com/show_bug.cgi?id=1653832#c3) and apps bundling electron had few months to be fixed --- ...ct-absolute-SHN_ABS-symbol-run-time-.patch | 195 ------------------ glibc.spec | 7 +- 2 files changed, 2 insertions(+), 200 deletions(-) delete mode 100644 0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch 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 f26c346..0000000 --- a/0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch +++ /dev/null @@ -1,195 +0,0 @@ -From 2cbf10ae2ea9e378ff91b8f5c4d8cb77ed05378e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bart=C5=82omiej=20Piotrowski?= -Date: Fri, 10 Aug 2018 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 - # reldep9 - tests-internal += loadtest unload unload2 circleload1 \ - neededtest neededtest2 neededtest3 neededtest4 \ -@@ -272,9 +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-main1mod tst-libc_dlvsym-dso - ifeq (yes,$(have-mtls-dialect-gnu2)) - tests += tst-gnu2-tls1 - modules-names += tst-gnu2-tls1mod -@@ -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 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 -- . */ -- --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 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 -- . */ -- --"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 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 -- . */ -- --#include --#include --#include -- --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 -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/glibc.spec b/glibc.spec index 0ec5628..65fd2a9 100644 --- a/glibc.spec +++ b/glibc.spec @@ -45,7 +45,7 @@ Summary(tr.UTF-8): GNU libc Summary(uk.UTF-8): GNU libc версії Name: glibc Version: %{core_version} -Release: 9 +Release: 10 Epoch: 6 License: LGPL v2.1+ Group: Libraries @@ -62,7 +62,7 @@ Source7: %{name}-LD-path.c Source9: nscd.tmpfiles # use branch.sh to update glibc-git.patch Patch0: glibc-git.patch -# Patch0-md5: edef1f874229fd5a24b9d553fc6bd842 +# Patch0-md5: 9b6b4d90ca7d6edba76adf101fad0694 # against GNU TP (libc domain) #Patch1: %{name}-pl.po-update.patch Patch2: %{name}-pld.patch @@ -92,8 +92,6 @@ Patch27: %{name}-c-utf8-locale.patch Patch29: %{name}-arm-alignment-fix.patch Patch30: glibc-rh1124987.patch -# electron is broken but we have no way to fix it so for now lets break glibc again -Patch31: 0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch URL: http://www.gnu.org/software/libc/ %{?with_selinux:BuildRequires: audit-libs-devel} BuildRequires: autoconf >= 2.69 @@ -972,7 +970,6 @@ exit 1 %patch29 -p1 %patch30 -p1 -%patch31 -p1 # cleanup backups after patching find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f -- 2.44.0