+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.
+
2004-05-19 Ulrich Drepper <drepper@redhat.com>
* misc/regexp.h: Say the functions have been withdrawn.
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. */
/* 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; \
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 */
.type DOT_LABEL(name),@function ; \
.globl name; \
.section ".opd","aw"; \
+ .align 3; \
+ .size name,24; \
name##: ; \
.quad DOT_LABEL(name) ; \
.quad .TOC.@tocbase, 0; \
.type DOT_LABEL(name),@function ; \
.globl name; \
.section ".opd","aw"; \
+ .align 3; \
+ .size name,24; \
name##: ; \
.quad DOT_LABEL(name) ; \
.quad .TOC.@tocbase, 0; \
.type DOT_LABEL(name),@function ; \
.globl name; \
.section ".opd","aw"; \
+ .align 3; \
+ .size name,24; \
name##: ; \
.quad DOT_LABEL(name) ; \
.quad .TOC.@tocbase, 0; \
#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) \