From aecec704c91cce674bb5b38e9affbbd946b0f63ec949dc28c68df2db4bbb32ce Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 6 Aug 2015 16:15:26 +0000 Subject: [PATCH] Accepting request 320975 from home:Andreas_Schwab:Factory - dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag on failed dlopen. OBS-URL: https://build.opensuse.org/request/show/320975 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=412 --- dont-remove-nodelete-flag.patch | 19 +++++++++++++++++++ glibc-testsuite.changes | 6 ++++++ glibc-testsuite.spec | 5 ++++- glibc-utils.changes | 6 ++++++ glibc-utils.spec | 5 ++++- glibc.changes | 6 ++++++ glibc.spec | 5 ++++- 7 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 dont-remove-nodelete-flag.patch diff --git a/dont-remove-nodelete-flag.patch b/dont-remove-nodelete-flag.patch new file mode 100644 index 0000000..2b4954c --- /dev/null +++ b/dont-remove-nodelete-flag.patch @@ -0,0 +1,19 @@ +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, + l->l_idx = idx; + maps[idx] = l; + ++idx; +- +- /* 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) +- l->l_flags_1 &= ~DF_1_NODELETE; + } + assert (idx == nloaded); + diff --git a/glibc-testsuite.changes b/glibc-testsuite.changes index a97824d..072d90a 100644 --- a/glibc-testsuite.changes +++ b/glibc-testsuite.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Aug 6 15:41:01 UTC 2015 - schwab@suse.de + +- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag on + failed dlopen. + ------------------------------------------------------------------- Wed Aug 5 09:35:41 UTC 2015 - schwab@suse.de diff --git a/glibc-testsuite.spec b/glibc-testsuite.spec index 73bb995..7a38a93 100644 --- a/glibc-testsuite.spec +++ b/glibc-testsuite.spec @@ -216,7 +216,8 @@ Patch102: glibc-2.4.90-no_NO.diff Patch103: glibc-2.4-china.diff ### Broken patches in glibc that we revert for now: -# None +# BZ #18778 +Patch200: dont-remove-nodelete-flag.patch ### Network related patches # PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change @@ -439,6 +440,8 @@ rm nscd/s-stamp %patch102 -p1 %patch103 -p1 +%patch200 -p1 + %patch300 -p1 %patch301 -p1 %patch304 -p1 diff --git a/glibc-utils.changes b/glibc-utils.changes index a97824d..072d90a 100644 --- a/glibc-utils.changes +++ b/glibc-utils.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Aug 6 15:41:01 UTC 2015 - schwab@suse.de + +- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag on + failed dlopen. + ------------------------------------------------------------------- Wed Aug 5 09:35:41 UTC 2015 - schwab@suse.de diff --git a/glibc-utils.spec b/glibc-utils.spec index 2efa4cb..d6511e6 100644 --- a/glibc-utils.spec +++ b/glibc-utils.spec @@ -215,7 +215,8 @@ Patch102: glibc-2.4.90-no_NO.diff Patch103: glibc-2.4-china.diff ### Broken patches in glibc that we revert for now: -# None +# BZ #18778 +Patch200: dont-remove-nodelete-flag.patch ### Network related patches # PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change @@ -439,6 +440,8 @@ rm nscd/s-stamp %patch102 -p1 %patch103 -p1 +%patch200 -p1 + %patch300 -p1 %patch301 -p1 %patch304 -p1 diff --git a/glibc.changes b/glibc.changes index a97824d..072d90a 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Aug 6 15:41:01 UTC 2015 - schwab@suse.de + +- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag on + failed dlopen. + ------------------------------------------------------------------- Wed Aug 5 09:35:41 UTC 2015 - schwab@suse.de diff --git a/glibc.spec b/glibc.spec index 0e0148c..b8ccc62 100644 --- a/glibc.spec +++ b/glibc.spec @@ -216,7 +216,8 @@ Patch102: glibc-2.4.90-no_NO.diff Patch103: glibc-2.4-china.diff ### Broken patches in glibc that we revert for now: -# None +# BZ #18778 +Patch200: dont-remove-nodelete-flag.patch ### Network related patches # PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change @@ -439,6 +440,8 @@ rm nscd/s-stamp %patch102 -p1 %patch103 -p1 +%patch200 -p1 + %patch300 -p1 %patch301 -p1 %patch304 -p1