forked from rpms/glibc
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:
parent
64db3acbd3
commit
81c303b235
@ -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;
|
||||
};
|
||||
|
36
glibc.spec
36
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 <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
|
||||
- Use full locale names in langpack descriptions (#1651375)
|
||||
|
||||
|
3
sources
3
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
|
||||
|
Loading…
Reference in New Issue
Block a user