This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, ibm/2.16/master, updated. glibc-2.16.0-4-ga24f8ac
- From: rsa at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 25 Jul 2012 02:52:39 -0000
- Subject: GNU C Library master sources branch, ibm/2.16/master, updated. glibc-2.16.0-4-ga24f8ac
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, ibm/2.16/master has been updated
via a24f8ac8e65b451efc81839dd653d0a0e95a23ab (commit)
from 94464655b576985fdd5f66f7f6126ee1f92a41cc (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=a24f8ac8e65b451efc81839dd653d0a0e95a23ab
commit a24f8ac8e65b451efc81839dd653d0a0e95a23ab
Author: Andreas Schwab <schwab@linux-m68k.org>
Date: Tue May 1 17:10:10 2012 +0200
Fix missing _mcount@GLIBC_2.0 on powerpc32
(cherry picked from commit 261f485936b283f4327fc1f2fc8fd1705d805c12)
diff --git a/ChangeLog b/ChangeLog
index 8ff57ef..cf418f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-07-06 Andreas Schwab <schwab@linux-m68k.org>
+
+ [BZ #14042]
+ * sysdeps/powerpc/powerpc32/ppc-mcount.S [SHARED]: Don't use PLT
+ for call to __mcount_internal.
+ * sysdeps/powerpc/powerpc32/Makefile (sysdep_routines)
+ (shared-only-routines) [$(subdir) = gmon]: Add compat-ppc-mcount.
+ * sysdeps/powerpc/powerpc32/compat-ppc-mcount.S: New file.
+
2012-07-06 Peter Bergner <bergner@vnet.ibm.com>
* elf/rtld.c (process_envvars): Added conditional EXTRA_LD_ENVVARS_11
diff --git a/sysdeps/powerpc/powerpc32/Makefile b/sysdeps/powerpc/powerpc32/Makefile
index aa2d0b9..64f7900 100644
--- a/sysdeps/powerpc/powerpc32/Makefile
+++ b/sysdeps/powerpc/powerpc32/Makefile
@@ -6,8 +6,9 @@ sysdep-LDFLAGS += -msoft-float
endif
ifeq ($(subdir),gmon)
-sysdep_routines += ppc-mcount
+sysdep_routines += ppc-mcount compat-ppc-mcount
static-only-routines += ppc-mcount
+shared-only-routines += compat-ppc-mcount
endif
ifeq ($(subdir),misc)
diff --git a/sysdeps/powerpc/powerpc32/compat-ppc-mcount.S b/sysdeps/powerpc/powerpc32/compat-ppc-mcount.S
new file mode 100644
index 0000000..2a9cb24
--- /dev/null
+++ b/sysdeps/powerpc/powerpc32/compat-ppc-mcount.S
@@ -0,0 +1,11 @@
+#include <shlib-compat.h>
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_15)
+
+ compat_text_section
+# define _mcount __compat_mcount
+# include "ppc-mcount.S"
+# undef _mcount
+
+compat_symbol (libc, __compat_mcount, _mcount, GLIBC_2_0)
+#endif
diff --git a/sysdeps/powerpc/powerpc32/ppc-mcount.S b/sysdeps/powerpc/powerpc32/ppc-mcount.S
index 9a3c041..911638b 100644
--- a/sysdeps/powerpc/powerpc32/ppc-mcount.S
+++ b/sysdeps/powerpc/powerpc32/ppc-mcount.S
@@ -1,5 +1,5 @@
/* PowerPC-specific implementation of profiling support.
- Copyright (C) 1997, 1999, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997-2012 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
@@ -57,7 +57,11 @@ ENTRY(_mcount)
stw r4, 44(r1)
cfi_offset (lr, -4)
stw r5, 8(r1)
+#ifndef SHARED
bl JUMPTARGET(__mcount_internal)
+#else
+ bl __mcount_internal@local
+#endif
/* Restore the registers... */
lwz r6, 8(r1)
lwz r0, 44(r1)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 9 +++++++++
sysdeps/powerpc/powerpc32/Makefile | 3 ++-
sysdeps/powerpc/powerpc32/compat-ppc-mcount.S | 11 +++++++++++
sysdeps/powerpc/powerpc32/ppc-mcount.S | 6 +++++-
4 files changed, 27 insertions(+), 2 deletions(-)
create mode 100644 sysdeps/powerpc/powerpc32/compat-ppc-mcount.S
hooks/post-receive
--
GNU C Library master sources