about summary refs log tree commit diff
path: root/sysdeps/powerpc/powerpc64/sysdep.h
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/sysdep.h
parentd4b6038332afd43414b7ff0eb0ae3dec377b10bf (diff)
downloadglibc-afe01786d9aedc3e18cb97295a1d622b73997866.tar.gz
glibc-afe01786d9aedc3e18cb97295a1d622b73997866.tar.xz
glibc-afe01786d9aedc3e18cb97295a1d622b73997866.zip
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/sysdep.h')
-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 6fbe342a2a..29c1c2c36c 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) \