From 81c303b2354a29baade5782d48e30e7f2be62fd3 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Tue, 8 Oct 2019 16:36:34 +0200 Subject: [PATCH] Auto-sync with upstream branch master Upstream commit: ca602c1536ce2777f95c07525f3c42d78812e665 - Adjust glibc-rh741105.patch - Add TCP_TX_DELAY from Linux 5.3 to netinet/tcp.h - [powerpc] fenv_private.h clean up - [powerpc] libc_feupdateenv_test: optimize FPSCR access - [powerpc] __fesetround_inline optimizations - [powerpc] Rename fegetenv_status to fegetenv_control - [powerpc] libc_feholdsetround_noex_ppc_ctx: optimize FPSCR write - [powerpc] Rename fesetenv_mode to fesetenv_control - Add helper script for glibc debugging - Update bits/mman.h constants and tst-mman-consts.py for Linux 5.3. - y2038: Provide conversion helpers for struct __timespec64 - Use binutils 2.33 branch in build-many-glibcs.py. - Sync "language", "lang_name", "territory", "country_name" with CLDR/langtable - Split up endian.h to minimize exposure of BYTE_ORDER. - time: Add padding for the timespec if required - Enable passing arguments to the inferior in debugglibc.sh - [powerpc] No need to enter "Ignore Exceptions Mode" - Y2038: Include proper header to provide support for struct timeval on HURD - Disable warnings in string/tester.c at top level. - string/endian.h: Restore the __USE_MISC conditionals - Disable -Wmaybe-uninitialized for total_deadline in sunrpc/clnt_udp.c. - ChangeLog update from my last commit - nptl: Move pthread_attr_setinheritsched implementation into libc. - elf: Never use the file ID of the main executable [BZ #24900] - elf: Assign TLS modid later during dlopen [BZ #24930] - nptl: Move pthread_attr_getschedparam implementation into libc - riscv: Remove support for variable page sizes - nptl: Move pthread_attr_setschedparam implementation into libc --- glibc-rh741105.patch | 64 +++++++++++++++++++++++++++++++------------- glibc.spec | 36 +++++++++++++++++++++++-- sources | 3 +-- 3 files changed, 80 insertions(+), 23 deletions(-) diff --git a/glibc-rh741105.patch b/glibc-rh741105.patch index f7d06ca..3b21b89 100644 --- a/glibc-rh741105.patch +++ b/glibc-rh741105.patch @@ -9,21 +9,47 @@ file. This is the wrong fix for this problem and should be dropped. The correct solution is to mark debuginfo files as new types of ELF files. -Index: glibc-2.22-386-g95e8397/elf/dl-load.c -=================================================================== ---- glibc-2.22-386-g95e8397.orig/elf/dl-load.c -+++ glibc-2.22-386-g95e8397/elf/dl-load.c -@@ -881,7 +881,8 @@ _dl_map_object_from_fd (const char *name - - /* Get file information. */ +diff --git a/elf/dl-load.c b/elf/dl-load.c +index 24e2819345995bd9..007121144e71d9cf 100644 +--- a/elf/dl-load.c ++++ b/elf/dl-load.c +@@ -880,6 +880,18 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd, + in this information for the executable in case of an explicit + loader invocation. */ struct r_file_id id; -- if (__glibc_unlikely (!_dl_get_file_id (fd, &id))) + struct stat64 st; ++ + if (__glibc_unlikely (!_dl_get_file_id (fd, &id, &st))) ++ { ++ errstring = N_("cannot stat shared object"); ++ call_lose_errno: ++ errval = errno; ++ call_lose: ++ lose (errval, fd, name, realname, l, errstring, ++ make_consistent ? r : NULL, nsid); ++ } ++ + if (mode & __RTLD_OPENEXEC) { - errstring = N_("cannot stat shared object"); - call_lose_errno: -@@ -1076,6 +1077,16 @@ _dl_map_object_from_fd (const char *name + assert (nsid == LM_ID_BASE); +@@ -887,16 +899,6 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd, + } + else + { +- if (__glibc_unlikely (!_dl_get_file_id (fd, &id))) +- { +- errstring = N_("cannot stat shared object"); +- call_lose_errno: +- errval = errno; +- call_lose: +- lose (errval, fd, name, realname, l, errstring, +- make_consistent ? r : NULL, nsid); +- } +- + /* Look again to see if the real name matched another already loaded. */ + for (l = GL(dl_ns)[nsid]._ns_loaded; l != NULL; l = l->l_next) + if (!l->l_removed && _dl_file_id_match_p (&l->l_file_id, &id)) +@@ -1074,6 +1076,16 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd, = N_("ELF load command address/offset not properly aligned"); goto call_lose; } @@ -40,10 +66,10 @@ Index: glibc-2.22-386-g95e8397/elf/dl-load.c struct loadcmd *c = &loadcmds[nloadcmds++]; c->mapstart = ALIGN_DOWN (ph->p_vaddr, GLRO(dl_pagesize)); -Index: glibc-2.22-386-g95e8397/sysdeps/generic/dl-fileid.h -=================================================================== ---- glibc-2.22-386-g95e8397.orig/sysdeps/generic/dl-fileid.h -+++ glibc-2.22-386-g95e8397/sysdeps/generic/dl-fileid.h +diff --git a/sysdeps/generic/dl-fileid.h b/sysdeps/generic/dl-fileid.h +index 6310d46c2a6efc60..209580b6c0b8524b 100644 +--- a/sysdeps/generic/dl-fileid.h ++++ b/sysdeps/generic/dl-fileid.h @@ -29,7 +29,8 @@ struct r_file_id On error, returns false, with errno set. */ static inline bool @@ -54,10 +80,10 @@ Index: glibc-2.22-386-g95e8397/sysdeps/generic/dl-fileid.h { return true; } -Index: glibc-2.22-386-g95e8397/sysdeps/posix/dl-fileid.h -=================================================================== ---- glibc-2.22-386-g95e8397.orig/sysdeps/posix/dl-fileid.h -+++ glibc-2.22-386-g95e8397/sysdeps/posix/dl-fileid.h +diff --git a/sysdeps/posix/dl-fileid.h b/sysdeps/posix/dl-fileid.h +index ae88a350788a5999..baa17b90a292a4d9 100644 +--- a/sysdeps/posix/dl-fileid.h ++++ b/sysdeps/posix/dl-fileid.h @@ -27,18 +27,16 @@ struct r_file_id ino64_t ino; }; diff --git a/glibc.spec b/glibc.spec index 49541d7..11865a4 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,4 +1,4 @@ -%define glibcsrcdir glibc-2.30.9000-121-g464cd3a9d5 +%define glibcsrcdir glibc-2.30.9000-148-gca602c1536 %define glibcversion 2.30.9000 # Pre-release tarballs are pulled in from git using a command that is # effectively: @@ -87,7 +87,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 10%{?dist} +Release: 11%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -2035,6 +2035,38 @@ fi %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %changelog +* Tue Oct 08 2019 Arjun Shankar - 2.30.9000-11 +- Adjust glibc-rh741105.patch. +- Auto-sync with upstream branch master, + commit ca602c1536ce2777f95c07525f3c42d78812e665: +- Add TCP_TX_DELAY from Linux 5.3 to netinet/tcp.h +- [powerpc] fenv_private.h clean up +- [powerpc] libc_feupdateenv_test: optimize FPSCR access +- [powerpc] __fesetround_inline optimizations +- [powerpc] Rename fegetenv_status to fegetenv_control +- [powerpc] libc_feholdsetround_noex_ppc_ctx: optimize FPSCR write +- [powerpc] Rename fesetenv_mode to fesetenv_control +- Add helper script for glibc debugging +- Update bits/mman.h constants and tst-mman-consts.py for Linux 5.3. +- y2038: Provide conversion helpers for struct __timespec64 +- Use binutils 2.33 branch in build-many-glibcs.py. +- Sync "language", "lang_name", "territory", "country_name" with CLDR/langtable +- Split up endian.h to minimize exposure of BYTE_ORDER. +- time: Add padding for the timespec if required +- Enable passing arguments to the inferior in debugglibc.sh +- [powerpc] No need to enter "Ignore Exceptions Mode" +- Y2038: Include proper header to provide support for struct timeval on HURD +- Disable warnings in string/tester.c at top level. +- string/endian.h: Restore the __USE_MISC conditionals +- Disable -Wmaybe-uninitialized for total_deadline in sunrpc/clnt_udp.c. +- ChangeLog update from my last commit +- nptl: Move pthread_attr_setinheritsched implementation into libc. +- elf: Never use the file ID of the main executable [BZ #24900] +- elf: Assign TLS modid later during dlopen [BZ #24930] +- nptl: Move pthread_attr_getschedparam implementation into libc +- riscv: Remove support for variable page sizes +- nptl: Move pthread_attr_setschedparam implementation into libc + * Fri Sep 27 2019 Zbigniew Jędrzejewski-Szmek - 2.30.9000-10 - Use full locale names in langpack descriptions (#1651375) diff --git a/sources b/sources index ff3cb74..f142e09 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (glibc-2.30.9000-100-g1a6566094d.tar.xz) = e6054a8f1367fde262f023c76f7eaf5ce588613c4894b8d577c7e1c3159a2dfcefb7c60e301340b823cd8e6d2f8d264d7da83e61034b9180836d392d5db4c5ba -SHA512 (glibc-2.30.9000-121-g464cd3a9d5.tar.xz) = 933ac4cc910d8c9ed5f04ad00092ad44403d0efcbd9d2b0910b79db17725cd5ca339686355bd1315b798b65a0657591a7ed901316e9d16b58938415f2eea9311 +SHA512 (glibc-2.30.9000-148-gca602c1536.tar.xz) = 3ce0fed2200253f4f15385f73d0d0d18d6b165be87d6a277855f89d4d4f77974a82da210e9eede7eb0f3843daf0dbd1e0680231824a27a8540457518d40249e1