diff options
Diffstat (limited to '0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch')
-rw-r--r-- | 0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch | 194 |
1 files changed, 0 insertions, 194 deletions
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 - |