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.12-22-g9acbe24
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 21 May 2010 19:51:59 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.12-22-g9acbe24
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 9acbe24da8c71704d03e30d1223f997442d4be0c (commit)
from 3d04ff3a5d3ce3616837e1d15e03b6e1b360cf26 (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=9acbe24da8c71704d03e30d1223f997442d4be0c
commit 9acbe24da8c71704d03e30d1223f997442d4be0c
Author: Andreas Schwab <schwab@redhat.com>
Date: Fri May 21 12:51:43 2010 -0700
Don't crash on unresolved weak symbol reference
diff --git a/ChangeLog b/ChangeLog
index 5621d9b..951f367 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-05-19 Andreas Schwab <schwab@redhat.com>
+
+ * elf/dl-runtime.c (_dl_fixup): Don't crash on unresolved weak
+ symbol reference.
+
2010-05-21 Andreas Schwab <schwab@redhat.com>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
index a52120d..181af7d 100644
--- a/elf/dl-runtime.c
+++ b/elf/dl-runtime.c
@@ -1,5 +1,5 @@
/* On-demand PLT fixup for shared objects.
- Copyright (C) 1995-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-2009, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -144,7 +144,8 @@ _dl_fixup (
/* And now perhaps the relocation addend. */
value = elf_machine_plt_value (l, reloc, value);
- if (__builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0))
+ if (sym != NULL
+ && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0))
value = ((DL_FIXUP_VALUE_TYPE (*) (void)) DL_FIXUP_VALUE_ADDR (value)) ();
/* Finally, fix up the plt itself. */
@@ -369,7 +370,7 @@ _dl_profile_fixup (
struct audit_ifaces *afct = GLRO(dl_audit);
for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt)
{
- if (afct->ARCH_LA_PLTENTER != NULL
+ if (afct->ARCH_LA_PLTENTER != NULL
&& (reloc_result->enterexit
& (LA_SYMB_NOPLTENTER << (2 * (cnt + 1)))) == 0)
{
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++++
elf/dl-runtime.c | 7 ++++---
2 files changed, 9 insertions(+), 3 deletions(-)
hooks/post-receive
--
GNU C Library master sources