aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-05-20 06:32:24 +0000
committerUlrich Drepper <drepper@redhat.com>2004-05-20 06:32:24 +0000
commitafe01786d9aedc3e18cb97295a1d622b73997866 (patch)
treeb4be296612dfc9d437f3f28d0cd5677f1906ceaf /sysdeps/powerpc/powerpc64
parentd4b6038332afd43414b7ff0eb0ae3dec377b10bf (diff)
downloadglibc-afe01786d9aedc3e18cb97295a1d622b73997866.zip
glibc-afe01786d9aedc3e18cb97295a1d622b73997866.tar.gz
glibc-afe01786d9aedc3e18cb97295a1d622b73997866.tar.bz2
Update.
2004-05-19 Paul Eggert <eggert@cs.ucla.edu> * malloc/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast, obstack_alignment_mask, obstack_alloc, obstack_base, obstack_blank, obstack_blank_fast, obstack_chunk_size, obstack_copy, obstack_copy0, obstack_finish, obstack_grow, obstack_grow0, obstack_init, obstack_int_grow, obstack_int_grow_fast, obstack_make_room, obstack_memory_used, obstack_next_free, obstack_object_size, obstack_ptr_grow, obstack_ptr_grow_fast, obstack_room): Remove declarations of nonexistent functions. 2004-05-18 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/powerpc64/sysdep.h [__ASSEMBLER__]: Include <sysdeps/powerpc/sysdep.h> independent of __ASSEMBLER__. [PIC]: Redundent for powerpc64, removed. (ENTRY): Generate size and alignment for opd entry. (EALIGN): Generate size and alignment for opd entry. (END): Use DOT_LABEL in ASM_SIZE_DIRECTIVE. (END_GEN_TB): Use DOT_LABEL in ASM_SIZE_DIRECTIVE.
Diffstat (limited to 'sysdeps/powerpc/powerpc64')
-rw-r--r--sysdeps/powerpc/powerpc64/sysdep.h39
1 files changed, 10 insertions, 29 deletions
diff --git a/sysdeps/powerpc/powerpc64/sysdep.h b/sysdeps/powerpc/powerpc64/sysdep.h
index 6fbe342..29c1c2c 100644
--- a/sysdeps/powerpc/powerpc64/sysdep.h
+++ b/sysdeps/powerpc/powerpc64/sysdep.h
@@ -17,10 +17,10 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#ifdef __ASSEMBLER__
-
#include <sysdeps/powerpc/sysdep.h>
+#ifdef __ASSEMBLER__
+
#ifdef __ELF__
/* If compiled for profiling, call `_mcount' at the start of each function.
see ppc-mcount.S for more details. */
@@ -28,7 +28,6 @@
/* The mcount code relies on a the return address being on the stack
to locate our caller and so it can restore it; so store one just
for its benefit. */
-#ifdef PIC
#ifdef SYSV_ELF_PROFILING
#define CALL_MCOUNT \
.pushsection; \
@@ -51,30 +50,6 @@ __mcount: \
std r0,16(r1); \
bl JUMPTARGET(_mcount);
#endif /* SYSV_ELF_PROFILING */
-#else /* PIC */
-#ifdef SYSV_ELF_PROFILING
-#define CALL_MCOUNT \
- .pushsection; \
- .section ".data"; \
- .align ALIGNARG(2); \
-__mcount: \
- .long 0; \
- .previous; \
- .section ".toc","aw"; \
-.LC__mcount:; \
- .tc __mcount[TC],__mcount; \
- .previous; \
- mflr r0; \
- std r0,16(r1); \
- ld r0,.LC__mcount@toc(r2); \
- bl JUMPTARGET(_mcount);
-#else /* SYSV_ELF_PROFILING */
-#define CALL_MCOUNT \
- mflr r0; \
- std r0,16(r1); \
- bl JUMPTARGET(_mcount);
-#endif /* SYSV_ELF_PROFILING */
-#endif /* PIC */
#else /* PROF */
#define CALL_MCOUNT /* Do nothing. */
#endif /* PROF */
@@ -88,6 +63,8 @@ __mcount: \
.type DOT_LABEL(name),@function ; \
.globl name; \
.section ".opd","aw"; \
+ .align 3; \
+ .size name,24; \
name##: ; \
.quad DOT_LABEL(name) ; \
.quad .TOC.@tocbase, 0; \
@@ -113,6 +90,8 @@ DOT_LABEL(name):
.type DOT_LABEL(name),@function ; \
.globl name; \
.section ".opd","aw"; \
+ .align 3; \
+ .size name,24; \
name##: ; \
.quad DOT_LABEL(name) ; \
.quad .TOC.@tocbase, 0; \
@@ -132,6 +111,8 @@ DOT_LABEL(name): \
.type DOT_LABEL(name),@function ; \
.globl name; \
.section ".opd","aw"; \
+ .align 3; \
+ .size name,24; \
name##: ; \
.quad DOT_LABEL(name) ; \
.quad .TOC.@tocbase, 0; \
@@ -204,12 +185,12 @@ LT_LABELSUFFIX(name,_name_end): ; \
#undef END
#define END(name) \
TRACEBACK(name) \
- ASM_SIZE_DIRECTIVE(name)
+ ASM_SIZE_DIRECTIVE(DOT_LABEL(name))
/* This form supports more informative traceback tables */
#define END_GEN_TB(name,mask) \
TRACEBACK_MASK(name,mask) \
- ASM_SIZE_DIRECTIVE(name)
+ ASM_SIZE_DIRECTIVE(DOT_LABEL(name))
#define DO_CALL(syscall) \