mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-18 12:16:13 +08:00
Fix missing _mcount@GLIBC_2.0 on powerpc32
This commit is contained in:
parent
9ad63c23ea
commit
261f485936
@ -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 Joseph Myers <joseph@codesourcery.com>
|
2012-07-06 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
[BZ #14154]
|
[BZ #14154]
|
||||||
|
@ -6,8 +6,9 @@ sysdep-LDFLAGS += -msoft-float
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(subdir),gmon)
|
ifeq ($(subdir),gmon)
|
||||||
sysdep_routines += ppc-mcount
|
sysdep_routines += ppc-mcount compat-ppc-mcount
|
||||||
static-only-routines += ppc-mcount
|
static-only-routines += ppc-mcount
|
||||||
|
shared-only-routines += compat-ppc-mcount
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(subdir),misc)
|
ifeq ($(subdir),misc)
|
||||||
|
11
sysdeps/powerpc/powerpc32/compat-ppc-mcount.S
Normal file
11
sysdeps/powerpc/powerpc32/compat-ppc-mcount.S
Normal file
@ -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
|
@ -1,5 +1,5 @@
|
|||||||
/* PowerPC-specific implementation of profiling support.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -57,7 +57,11 @@ ENTRY(_mcount)
|
|||||||
stw r4, 44(r1)
|
stw r4, 44(r1)
|
||||||
cfi_offset (lr, -4)
|
cfi_offset (lr, -4)
|
||||||
stw r5, 8(r1)
|
stw r5, 8(r1)
|
||||||
|
#ifndef SHARED
|
||||||
bl JUMPTARGET(__mcount_internal)
|
bl JUMPTARGET(__mcount_internal)
|
||||||
|
#else
|
||||||
|
bl __mcount_internal@local
|
||||||
|
#endif
|
||||||
/* Restore the registers... */
|
/* Restore the registers... */
|
||||||
lwz r6, 8(r1)
|
lwz r6, 8(r1)
|
||||||
lwz r0, 44(r1)
|
lwz r0, 44(r1)
|
||||||
|
Loading…
Reference in New Issue
Block a user