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
This commit is contained in:
Arjun Shankar 2019-10-08 16:36:34 +02:00
parent 64db3acbd3
commit 81c303b235
3 changed files with 80 additions and 23 deletions

View File

@ -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 The correct solution is to mark debuginfo files as new types of
ELF files. ELF files.
Index: glibc-2.22-386-g95e8397/elf/dl-load.c diff --git a/elf/dl-load.c b/elf/dl-load.c
=================================================================== index 24e2819345995bd9..007121144e71d9cf 100644
--- glibc-2.22-386-g95e8397.orig/elf/dl-load.c --- a/elf/dl-load.c
+++ glibc-2.22-386-g95e8397/elf/dl-load.c +++ b/elf/dl-load.c
@@ -881,7 +881,8 @@ _dl_map_object_from_fd (const char *name @@ -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
/* Get file information. */ loader invocation. */
struct r_file_id id; struct r_file_id id;
- if (__glibc_unlikely (!_dl_get_file_id (fd, &id)))
+ struct stat64 st; + struct stat64 st;
+
+ if (__glibc_unlikely (!_dl_get_file_id (fd, &id, &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"); assert (nsid == LM_ID_BASE);
call_lose_errno: @@ -887,16 +899,6 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd,
@@ -1076,6 +1077,16 @@ _dl_map_object_from_fd (const char *name }
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"); = N_("ELF load command address/offset not properly aligned");
goto call_lose; goto call_lose;
} }
@ -40,10 +66,10 @@ Index: glibc-2.22-386-g95e8397/elf/dl-load.c
struct loadcmd *c = &loadcmds[nloadcmds++]; struct loadcmd *c = &loadcmds[nloadcmds++];
c->mapstart = ALIGN_DOWN (ph->p_vaddr, GLRO(dl_pagesize)); c->mapstart = ALIGN_DOWN (ph->p_vaddr, GLRO(dl_pagesize));
Index: 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
--- glibc-2.22-386-g95e8397.orig/sysdeps/generic/dl-fileid.h --- a/sysdeps/generic/dl-fileid.h
+++ glibc-2.22-386-g95e8397/sysdeps/generic/dl-fileid.h +++ b/sysdeps/generic/dl-fileid.h
@@ -29,7 +29,8 @@ struct r_file_id @@ -29,7 +29,8 @@ struct r_file_id
On error, returns false, with errno set. */ On error, returns false, with errno set. */
static inline bool static inline bool
@ -54,10 +80,10 @@ Index: glibc-2.22-386-g95e8397/sysdeps/generic/dl-fileid.h
{ {
return true; return true;
} }
Index: 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
--- glibc-2.22-386-g95e8397.orig/sysdeps/posix/dl-fileid.h --- a/sysdeps/posix/dl-fileid.h
+++ glibc-2.22-386-g95e8397/sysdeps/posix/dl-fileid.h +++ b/sysdeps/posix/dl-fileid.h
@@ -27,18 +27,16 @@ struct r_file_id @@ -27,18 +27,16 @@ struct r_file_id
ino64_t ino; ino64_t ino;
}; };

View File

@ -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 %define glibcversion 2.30.9000
# Pre-release tarballs are pulled in from git using a command that is # Pre-release tarballs are pulled in from git using a command that is
# effectively: # effectively:
@ -87,7 +87,7 @@
Summary: The GNU libc libraries Summary: The GNU libc libraries
Name: glibc Name: glibc
Version: %{glibcversion} Version: %{glibcversion}
Release: 10%{?dist} Release: 11%{?dist}
# In general, GPLv2+ is used by programs, LGPLv2+ is used for # In general, GPLv2+ is used by programs, LGPLv2+ is used for
# libraries. # libraries.
@ -2035,6 +2035,38 @@ fi
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
%changelog %changelog
* Tue Oct 08 2019 Arjun Shankar <arjun@redhat.com> - 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 <zbyszek@in.waw.pl> - 2.30.9000-10 * Fri Sep 27 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.30.9000-10
- Use full locale names in langpack descriptions (#1651375) - Use full locale names in langpack descriptions (#1651375)

View File

@ -1,2 +1 @@
SHA512 (glibc-2.30.9000-100-g1a6566094d.tar.xz) = e6054a8f1367fde262f023c76f7eaf5ce588613c4894b8d577c7e1c3159a2dfcefb7c60e301340b823cd8e6d2f8d264d7da83e61034b9180836d392d5db4c5ba SHA512 (glibc-2.30.9000-148-gca602c1536.tar.xz) = 3ce0fed2200253f4f15385f73d0d0d18d6b165be87d6a277855f89d4d4f77974a82da210e9eede7eb0f3843daf0dbd1e0680231824a27a8540457518d40249e1
SHA512 (glibc-2.30.9000-121-g464cd3a9d5.tar.xz) = 933ac4cc910d8c9ed5f04ad00092ad44403d0efcbd9d2b0910b79db17725cd5ca339686355bd1315b798b65a0657591a7ed901316e9d16b58938415f2eea9311