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.13-216-gde7ce8f
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 23 May 2011 01:31:06 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.13-216-gde7ce8f
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 de7ce8f171b88b2db025fdb6c8cca89c16e541dc (commit)
from 05bb4a68ad7b05e16f942552a867da6ffb88278f (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=de7ce8f171b88b2db025fdb6c8cca89c16e541dc
commit de7ce8f171b88b2db025fdb6c8cca89c16e541dc
Author: Ulrich Drepper <drepper@gmail.com>
Date: Sun May 22 21:30:31 2011 -0400
Fix flags parameter value passed to pltenter and pltexit
diff --git a/ChangeLog b/ChangeLog
index 8a55e9d..eb321b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-22 Ulrich Drepper <drepper@gmail.com>
+
+ * elf/dl-runtime.c (_dl_profile_fixup): Also store LA_SYMB_NOPLTENTER
+ and LA_SYMB_NOPLTEXIT in flags which are passed to pltenter and
+ pltexit.
+
2011-05-21 Ulrich Drepper <drepper@gmail.com>
* sysdeps/unix/sysv/linux/bits/time.h: Define CLOCK_REALTIME_ALARM
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
index ae2d05c..b27cfbf 100644
--- a/elf/dl-runtime.c
+++ b/elf/dl-runtime.c
@@ -271,7 +271,7 @@ _dl_profile_fixup (
interested in auditing. */
if ((l->l_audit_any_plt | result->l_audit_any_plt) != 0)
{
- unsigned int altvalue = 0;
+ unsigned int flags = 0;
struct audit_ifaces *afct = GLRO(dl_audit);
/* Synthesize a symbol record where the st_value field is
the result. */
@@ -294,7 +294,6 @@ _dl_profile_fixup (
if ((l->l_audit[cnt].bindflags & LA_FLG_BINDFROM) != 0
&& (result->l_audit[cnt].bindflags & LA_FLG_BINDTO) != 0)
{
- unsigned int flags = altvalue;
if (afct->symbind != NULL)
{
uintptr_t new_value
@@ -305,7 +304,7 @@ _dl_profile_fixup (
strtab2 + defsym->st_name);
if (new_value != (uintptr_t) sym.st_value)
{
- altvalue = LA_SYMB_ALTVALUE;
+ flags |= LA_SYMB_ALTVALUE;
sym.st_value = new_value;
}
}
@@ -328,7 +327,7 @@ _dl_profile_fixup (
afct = afct->next;
}
- reloc_result->flags = altvalue;
+ reloc_result->flags = flags;
value = DL_FIXUP_ADDR_VALUE (sym.st_value);
}
else
@@ -366,7 +365,7 @@ _dl_profile_fixup (
const char *symname = strtab + sym.st_name;
/* Keep track of overwritten addresses. */
- unsigned int altvalue = reloc_result->flags;
+ unsigned int flags = reloc_result->flags;
struct audit_ifaces *afct = GLRO(dl_audit);
for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt)
@@ -375,7 +374,6 @@ _dl_profile_fixup (
&& (reloc_result->enterexit
& (LA_SYMB_NOPLTENTER << (2 * (cnt + 1)))) == 0)
{
- unsigned int flags = altvalue;
long int new_framesize = -1;
uintptr_t new_value
= afct->ARCH_LA_PLTENTER (&sym, reloc_result->boundndx,
@@ -385,7 +383,7 @@ _dl_profile_fixup (
&new_framesize);
if (new_value != (uintptr_t) sym.st_value)
{
- altvalue = LA_SYMB_ALTVALUE;
+ flags |= LA_SYMB_ALTVALUE;
sym.st_value = new_value;
}
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
elf/dl-runtime.c | 12 +++++-------
2 files changed, 11 insertions(+), 7 deletions(-)
hooks/post-receive
--
GNU C Library master sources