forked from pool/glibc
Accepting request 321588 from home:Andreas_Schwab:Factory
- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag from all loaded objects on failed dlopen - openat64-readd-o-largefile.patch: Readd O_LARGEFILE flag for openat64 OBS-URL: https://build.opensuse.org/request/show/321588 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=413
This commit is contained in:
parent
aecec704c9
commit
e85cac7c02
@ -2,7 +2,22 @@ Index: glibc-2.22/elf/dl-close.c
|
||||
===================================================================
|
||||
--- glibc-2.22.orig/elf/dl-close.c
|
||||
+++ glibc-2.22/elf/dl-close.c
|
||||
@@ -152,14 +152,6 @@ _dl_close_worker (struct link_map *map,
|
||||
@@ -144,6 +144,14 @@ _dl_close_worker (struct link_map *map,
|
||||
char done[nloaded];
|
||||
struct link_map *maps[nloaded];
|
||||
|
||||
+ /* Clear DF_1_NODELETE to force object deletion. We don't need to touch
|
||||
+ l_tls_dtor_count because forced object deletion only happens when an
|
||||
+ error occurs during object load. Destructor registration for TLS
|
||||
+ non-POD objects should not have happened till then for this
|
||||
+ object. */
|
||||
+ if (force)
|
||||
+ map->l_flags_1 &= ~DF_1_NODELETE;
|
||||
+
|
||||
/* Run over the list and assign indexes to the link maps and enter
|
||||
them into the MAPS array. */
|
||||
int idx = 0;
|
||||
@@ -152,14 +160,6 @@ _dl_close_worker (struct link_map *map,
|
||||
l->l_idx = idx;
|
||||
maps[idx] = l;
|
||||
++idx;
|
||||
|
@ -1,8 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 6 15:41:01 UTC 2015 - schwab@suse.de
|
||||
Mon Aug 10 09:23:57 UTC 2015 - schwab@suse.de
|
||||
|
||||
- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag on
|
||||
failed dlopen.
|
||||
- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag from
|
||||
all loaded objects on failed dlopen
|
||||
- openat64-readd-o-largefile.patch: Readd O_LARGEFILE flag for openat64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 5 09:35:41 UTC 2015 - schwab@suse.de
|
||||
|
@ -216,8 +216,6 @@ Patch102: glibc-2.4.90-no_NO.diff
|
||||
Patch103: glibc-2.4-china.diff
|
||||
|
||||
### Broken patches in glibc that we revert for now:
|
||||
# BZ #18778
|
||||
Patch200: dont-remove-nodelete-flag.patch
|
||||
|
||||
### Network related patches
|
||||
# PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change
|
||||
@ -246,6 +244,10 @@ Patch2003: abort-no-flush.patch
|
||||
Patch2005: glibc-memset-nontemporal.diff
|
||||
# PATCH-FIX-UPSTREAM Avoid redundant shift character in iconv output at block boundary (BZ #17197)
|
||||
Patch2006: ibm93x-redundant-shift-si.patch
|
||||
# BZ #18778
|
||||
Patch2007: dont-remove-nodelete-flag.patch
|
||||
# BZ #18781
|
||||
Patch2008: openat64-readd-o-largefile.patch
|
||||
|
||||
# Non-glibc patches
|
||||
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
||||
@ -440,8 +442,6 @@ rm nscd/s-stamp
|
||||
%patch102 -p1
|
||||
%patch103 -p1
|
||||
|
||||
%patch200 -p1
|
||||
|
||||
%patch300 -p1
|
||||
%patch301 -p1
|
||||
%patch304 -p1
|
||||
@ -452,6 +452,8 @@ rm nscd/s-stamp
|
||||
%patch2003 -p1
|
||||
%patch2005 -p1
|
||||
%patch2006 -p1
|
||||
%patch2007 -p1
|
||||
%patch2008 -p1
|
||||
|
||||
%patch3000
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 6 15:41:01 UTC 2015 - schwab@suse.de
|
||||
Mon Aug 10 09:23:57 UTC 2015 - schwab@suse.de
|
||||
|
||||
- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag on
|
||||
failed dlopen.
|
||||
- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag from
|
||||
all loaded objects on failed dlopen
|
||||
- openat64-readd-o-largefile.patch: Readd O_LARGEFILE flag for openat64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 5 09:35:41 UTC 2015 - schwab@suse.de
|
||||
|
@ -215,8 +215,6 @@ Patch102: glibc-2.4.90-no_NO.diff
|
||||
Patch103: glibc-2.4-china.diff
|
||||
|
||||
### Broken patches in glibc that we revert for now:
|
||||
# BZ #18778
|
||||
Patch200: dont-remove-nodelete-flag.patch
|
||||
|
||||
### Network related patches
|
||||
# PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change
|
||||
@ -245,6 +243,10 @@ Patch2003: abort-no-flush.patch
|
||||
Patch2005: glibc-memset-nontemporal.diff
|
||||
# PATCH-FIX-UPSTREAM Avoid redundant shift character in iconv output at block boundary (BZ #17197)
|
||||
Patch2006: ibm93x-redundant-shift-si.patch
|
||||
# BZ #18778
|
||||
Patch2007: dont-remove-nodelete-flag.patch
|
||||
# BZ #18781
|
||||
Patch2008: openat64-readd-o-largefile.patch
|
||||
|
||||
# Non-glibc patches
|
||||
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
||||
@ -440,8 +442,6 @@ rm nscd/s-stamp
|
||||
%patch102 -p1
|
||||
%patch103 -p1
|
||||
|
||||
%patch200 -p1
|
||||
|
||||
%patch300 -p1
|
||||
%patch301 -p1
|
||||
%patch304 -p1
|
||||
@ -452,6 +452,8 @@ rm nscd/s-stamp
|
||||
%patch2003 -p1
|
||||
%patch2005 -p1
|
||||
%patch2006 -p1
|
||||
%patch2007 -p1
|
||||
%patch2008 -p1
|
||||
|
||||
%patch3000
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 6 15:41:01 UTC 2015 - schwab@suse.de
|
||||
Mon Aug 10 09:23:57 UTC 2015 - schwab@suse.de
|
||||
|
||||
- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag on
|
||||
failed dlopen.
|
||||
- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag from
|
||||
all loaded objects on failed dlopen
|
||||
- openat64-readd-o-largefile.patch: Readd O_LARGEFILE flag for openat64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 5 09:35:41 UTC 2015 - schwab@suse.de
|
||||
|
10
glibc.spec
10
glibc.spec
@ -216,8 +216,6 @@ Patch102: glibc-2.4.90-no_NO.diff
|
||||
Patch103: glibc-2.4-china.diff
|
||||
|
||||
### Broken patches in glibc that we revert for now:
|
||||
# BZ #18778
|
||||
Patch200: dont-remove-nodelete-flag.patch
|
||||
|
||||
### Network related patches
|
||||
# PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change
|
||||
@ -246,6 +244,10 @@ Patch2003: abort-no-flush.patch
|
||||
Patch2005: glibc-memset-nontemporal.diff
|
||||
# PATCH-FIX-UPSTREAM Avoid redundant shift character in iconv output at block boundary (BZ #17197)
|
||||
Patch2006: ibm93x-redundant-shift-si.patch
|
||||
# BZ #18778
|
||||
Patch2007: dont-remove-nodelete-flag.patch
|
||||
# BZ #18781
|
||||
Patch2008: openat64-readd-o-largefile.patch
|
||||
|
||||
# Non-glibc patches
|
||||
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
||||
@ -440,8 +442,6 @@ rm nscd/s-stamp
|
||||
%patch102 -p1
|
||||
%patch103 -p1
|
||||
|
||||
%patch200 -p1
|
||||
|
||||
%patch300 -p1
|
||||
%patch301 -p1
|
||||
%patch304 -p1
|
||||
@ -452,6 +452,8 @@ rm nscd/s-stamp
|
||||
%patch2003 -p1
|
||||
%patch2005 -p1
|
||||
%patch2006 -p1
|
||||
%patch2007 -p1
|
||||
%patch2008 -p1
|
||||
|
||||
%patch3000
|
||||
|
||||
|
16
openat64-readd-o-largefile.patch
Normal file
16
openat64-readd-o-largefile.patch
Normal file
@ -0,0 +1,16 @@
|
||||
Index: glibc-2.22/sysdeps/unix/sysv/linux/openat.c
|
||||
===================================================================
|
||||
--- glibc-2.22.orig/sysdeps/unix/sysv/linux/openat.c
|
||||
+++ glibc-2.22/sysdeps/unix/sysv/linux/openat.c
|
||||
@@ -68,6 +68,11 @@ __OPENAT (int fd, const char *file, int
|
||||
va_end (arg);
|
||||
}
|
||||
|
||||
+ /* We have to add the O_LARGEFILE flag for openat64. */
|
||||
+#ifdef MORE_OFLAGS
|
||||
+ oflag |= MORE_OFLAGS;
|
||||
+#endif
|
||||
+
|
||||
return SYSCALL_CANCEL (openat, fd, file, oflag, mode);
|
||||
}
|
||||
libc_hidden_def (__OPENAT)
|
Loading…
Reference in New Issue
Block a user