diff --git a/glibc-rh1335011.patch b/glibc-rh1335011.patch deleted file mode 100644 index bf2a62f..0000000 --- a/glibc-rh1335011.patch +++ /dev/null @@ -1,176 +0,0 @@ -Revert these two upstream commits, to unbreak ASAN: - -commit e91bd7465816f474617dcb4bbfe72f3594c5783c -Author: Adhemerval Zanella -Date: Thu Mar 31 10:51:51 2016 -0300 - - Fix tst-dlsym-error build - - This patch fixes the new test tst-dlsym-error build on aarch64 - (and possible other architectures as well) due missing strchrnul - definition. - - * elf/tst-dlsym-error.c: Include for strchrnul. - -commit 7d45c163d00c88d5875a112343c4ea3e61349e6b -Author: Florian Weimer -Date: Thu Mar 31 11:26:55 2016 +0200 - - Report dlsym, dlvsym lookup errors using dlerror [BZ #19509] - - * elf/dl-lookup.c (_dl_lookup_symbol_x): Report error even if - skip_map != NULL. - * elf/tst-dlsym-error.c: New file. - * elf/Makefile (tests): Add tst-dlsym-error. - (tst-dlsym-error): Link against libdl. - -Index: glibc-2.24-163-ge299076/elf/Makefile -=================================================================== ---- glibc-2.24-163-ge299076.orig/elf/Makefile -+++ glibc-2.24-163-ge299076/elf/Makefile -@@ -149,7 +149,7 @@ tests += loadtest restest1 preloadtest l - tst-nodelete) \ - tst-initorder tst-initorder2 tst-relsort1 tst-null-argv \ - tst-ptrguard1 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \ -- tst-nodelete2 tst-audit11 tst-audit12 tst-dlsym-error tst-noload -+ tst-nodelete2 tst-audit11 tst-audit12 tst-noload - # reldep9 - ifeq ($(build-hardcoded-path-in-tests),yes) - tests += tst-dlopen-aout -@@ -1266,5 +1266,3 @@ $(objpfx)tst-prelink-cmp.out: tst-prelin - $(objpfx)tst-ldconfig-X.out : tst-ldconfig-X.sh $(objpfx)ldconfig - $(SHELL) $< '$(common-objpfx)' '$(test-wrapper)' '$(test-wrapper-env)' > $@; \ - $(evaluate-test) -- --$(objpfx)tst-dlsym-error: $(libdl) -Index: glibc-2.24-163-ge299076/elf/dl-lookup.c -=================================================================== ---- glibc-2.24-163-ge299076.orig/elf/dl-lookup.c -+++ glibc-2.24-163-ge299076/elf/dl-lookup.c -@@ -862,6 +862,7 @@ _dl_lookup_symbol_x (const char *undef_n - if (__glibc_unlikely (current_value.s == NULL)) - { - if ((*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK) -+ && skip_map == NULL - && !(GLRO(dl_debug_mask) & DL_DEBUG_UNUSED)) - { - /* We could find no value for a strong reference. */ -Index: glibc-2.24-163-ge299076/elf/tst-dlsym-error.c -=================================================================== ---- glibc-2.24-163-ge299076.orig/elf/tst-dlsym-error.c -+++ /dev/null -@@ -1,114 +0,0 @@ --/* Test error reporting for dlsym, dlvsym failures. -- Copyright (C) 2016 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 --#include --#include -- --/* Used to disambiguate symbol names. */ --static int counter; -- --static void --test_one (void *handle, const char *name, void *(func) (void *, const char *), -- const char *suffix) --{ -- ++counter; -- char symbol[32]; -- snprintf (symbol, sizeof (symbol), "no_such_symbol_%d", counter); -- char *expected_message; -- if (asprintf (&expected_message, ": undefined symbol: %s%s", -- symbol, suffix) < 0) -- { -- printf ("error: asprintf: %m\n"); -- abort (); -- } -- -- void *addr = func (handle, symbol); -- if (addr != NULL) -- { -- printf ("error: %s: found symbol \"no_such_symbol\"\n", name); -- abort (); -- } -- const char *message = dlerror (); -- if (message == NULL) -- { -- printf ("error: %s: missing error message\n", name); -- abort (); -- } -- const char *message_without_path = strchrnul (message, ':'); -- if (strcmp (message_without_path, expected_message) != 0) -- { -- printf ("error: %s: unexpected error message: %s\n", name, message); -- abort (); -- } -- free (expected_message); -- -- message = dlerror (); -- if (message != NULL) -- { -- printf ("error: %s: unexpected error message: %s\n", name, message); -- abort (); -- } --} -- --static void --test_handles (const char *name, void *(func) (void *, const char *), -- const char *suffix) --{ -- test_one (RTLD_DEFAULT, name, func, suffix); -- test_one (RTLD_NEXT, name, func, suffix); -- -- void *handle = dlopen (LIBC_SO, RTLD_LAZY); -- if (handle == NULL) -- { -- printf ("error: cannot dlopen %s: %s\n", LIBC_SO, dlerror ()); -- abort (); -- } -- test_one (handle, name, func, suffix); -- dlclose (handle); --} -- --static void * --dlvsym_no_such_version (void *handle, const char *name) --{ -- return dlvsym (handle, name, "NO_SUCH_VERSION"); --} -- --static void * --dlvsym_glibc_private (void *handle, const char *name) --{ -- return dlvsym (handle, name, "GLIBC_PRIVATE"); --} -- --static int --do_test (void) --{ -- test_handles ("dlsym", dlsym, ""); -- test_handles ("dlvsym", dlvsym_no_such_version, -- ", version NO_SUCH_VERSION"); -- test_handles ("dlvsym", dlvsym_glibc_private, -- ", version GLIBC_PRIVATE"); -- -- return 0; --} -- -- --#define TEST_FUNCTION do_test () --#include "../test-skeleton.c" diff --git a/glibc.spec b/glibc.spec index 4afa017..db2fb33 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ %define glibcsrcdir glibc-2.24-285-ge37208c %define glibcversion 2.24.90 -%define glibcrelease 13%{?dist} +%define glibcrelease 14%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -305,7 +305,6 @@ Patch2036: glibc-gcc-PR69537.patch # extend_alloca removal, BZ 18023 Patch2037: glibc-rh1315108.patch -Patch2038: glibc-rh1335011.patch # Upstream BZ 20313 Patch2110: glibc-rh1351108-update-to-unicode-9.0.0.patch @@ -885,7 +884,6 @@ microbenchmark tests on the system. %patch0060 -p1 %patch2036 -p1 %patch2037 -p1 -%patch2038 -p1 %patch2110 -p1 %patch2112 -p1 %patch0061 -p1 @@ -2284,6 +2282,9 @@ rm -f *.filelist* %endif %changelog +* Wed Nov 2 2016 Florian Weimer - 2.24.90-14 +- dlerror returns NULL after dlsym (RTLD_NEXT) lookup failure (#1333945) + * Sat Oct 22 2016 Florian Weimer - 2.24.90-13 - Auto-sync with upstream master, commit e37208ce86916af9510ffb9ce7b3c187986f07de, changing: