This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.14-397-gd45c60c
- From: schwab at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 20 Oct 2011 10:05:06 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.14-397-gd45c60c
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via d45c60c2feb38d95e7ad95af6edb39a6d5afba81 (commit)
from 855d156018a701b3613eb4b14ab3bd09fd12f0a3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d45c60c2feb38d95e7ad95af6edb39a6d5afba81
commit d45c60c2feb38d95e7ad95af6edb39a6d5afba81
Author: Andreas Schwab <schwab@redhat.com>
Date: Wed Oct 19 17:13:56 2011 +0200
Preserve link time dependencies over relocation dependencies
diff --git a/ChangeLog b/ChangeLog
index ba2ff4c..c076b36 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-10-20 Andreas Schwab <schwab@redhat.com>
+
+ [BZ #12892]
+ * elf/dl-fini.c (_dl_sort_fini): Ignore relocation dependency if
+ it would create a cycle with a link time dependency.
+
2011-10-19 Ulrich Drepper <drepper@gmail.com>
* sysdeps/x86_64/multiarch/rawmemchr.S: Small optimization to safe an
diff --git a/NEWS b/NEWS
index a4b59f1..5e55ade 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes. 2011-10-19
+GNU C Library NEWS -- history of user-visible changes. 2011-10-20
Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
See the end for copying conditions.
@@ -9,9 +9,9 @@ Version 2.15
* The following bugs are resolved with this release:
- 6779, 6783, 9696, 11589, 12403, 12847, 12868, 12852, 12874, 12885, 12907,
- 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092, 13114, 13118,
- 13123, 13134, 13138, 13150, 13179, 13192, 13268, 13291
+ 6779, 6783, 9696, 11589, 12403, 12847, 12868, 12852, 12874, 12885, 12892,
+ 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092, 13114,
+ 13118, 13123, 13134, 13138, 13150, 13179, 13192, 13268, 13291
* New program pldd to list loaded object of a process
Implemented by Ulrich Drepper.
diff --git a/elf/dl-fini.c b/elf/dl-fini.c
index bafc83a..6df80ef 100644
--- a/elf/dl-fini.c
+++ b/elf/dl-fini.c
@@ -100,7 +100,17 @@ _dl_sort_fini (struct link_map **maps, size_t nmaps, char *used, Lmid_t ns)
/* Look through the relocation dependencies of the object. */
while (m-- > 0)
if (__builtin_expect (relmaps[m] == thisp, 0))
- goto move;
+ {
+ /* If a cycle exists with a link time dependency,
+ preserve the latter. */
+ struct link_map **runp = thisp->l_initfini;
+ if (runp != NULL)
+ while (*runp != NULL)
+ if (__builtin_expect (*runp++ == maps[k], 0))
+ goto ignore;
+ goto move;
+ }
+ ignore:;
}
--k;
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
NEWS | 8 ++++----
elf/dl-fini.c | 12 +++++++++++-
3 files changed, 21 insertions(+), 5 deletions(-)
hooks/post-receive
--
GNU C Library master sources