about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--include/malloc.h17
-rw-r--r--malloc/malloc.c28
-rw-r--r--malloc/malloc.h12
-rw-r--r--sysdeps/mach/hurd/Makefile7
5 files changed, 48 insertions, 28 deletions
diff --git a/ChangeLog b/ChangeLog
index d7806b7d4b..b3bcba887f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2003-01-12  Roland McGrath  <roland@redhat.com>
+
+	* include/fcntl.h: Declare __libc_creat.
+
+	* sysdeps/mach/hurd/Makefile (libmachuser-link.so-no-z-defs,
+	libhurduser-link.so-no-z-defs): New variables.
+
+	* malloc/malloc.c: Revert last change.
+	* malloc/malloc.h (_int_*): Move these decls to ...
+	* include/malloc.h: ... here.  Add attribute_hidden.
+	(_int_valloc): Declare it too.
+
 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
 
 	* elf/dl-close.c (_dl_close): Type typo, must be == not = in
diff --git a/include/malloc.h b/include/malloc.h
index eb2afb9330..f0164a6273 100644
--- a/include/malloc.h
+++ b/include/malloc.h
@@ -8,4 +8,21 @@
 /* Nonzero if the malloc is already initialized.  */
 extern int __malloc_initialized attribute_hidden;
 
+/* Internal routines, operating on "arenas".  */
+struct malloc_state;
+typedef struct malloc_state *mstate;
+
+extern mstate         _int_new_arena (size_t __ini_size) attribute_hidden;
+extern __malloc_ptr_t _int_malloc (mstate __m, size_t __size) attribute_hidden;
+extern void           _int_free (mstate __m, __malloc_ptr_t __ptr)
+     attribute_hidden;
+extern __malloc_ptr_t _int_realloc (mstate __m,
+				    __malloc_ptr_t __ptr,
+				    size_t __size) attribute_hidden;
+extern __malloc_ptr_t _int_memalign (mstate __m, size_t __alignment,
+				     size_t __size)
+     attribute_hidden;
+extern __malloc_ptr_t _int_valloc (mstate __m, size_t __size)
+     attribute_hidden;
+
 #endif
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 458d96a241..da834d2663 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -1,5 +1,5 @@
 /* Malloc implementation for multiple threads without lock contention.
-   Copyright (C) 1996-2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1996,1997,1998,1999,2000,01,02 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Wolfram Gloger <wg@malloc.de>
    and Doug Lea <dl@cs.oswego.edu>, 2001.
@@ -1469,11 +1469,11 @@ typedef struct malloc_chunk* mchunkptr;
 
 #if __STD_C
 
-static Void_t*  _int_malloc(mstate, size_t);
-static void     _int_free(mstate, Void_t*);
-static Void_t*  _int_realloc(mstate, Void_t*, size_t);
-static Void_t*  _int_memalign(mstate, size_t, size_t);
-static Void_t*  _int_valloc(mstate, size_t);
+Void_t*         _int_malloc(mstate, size_t);
+void            _int_free(mstate, Void_t*);
+Void_t*         _int_realloc(mstate, Void_t*, size_t);
+Void_t*         _int_memalign(mstate, size_t, size_t);
+Void_t*         _int_valloc(mstate, size_t);
 static Void_t*  _int_pvalloc(mstate, size_t);
 /*static Void_t*  cALLOc(size_t, size_t);*/
 static Void_t** _int_icalloc(mstate, size_t, size_t, Void_t**);
@@ -3725,7 +3725,7 @@ public_mALLOPt(int p, int v)
   ------------------------------ malloc ------------------------------
 */
 
-static Void_t*
+Void_t*
 _int_malloc(mstate av, size_t bytes)
 {
   INTERNAL_SIZE_T nb;               /* normalized request size */
@@ -4109,7 +4109,7 @@ _int_malloc(mstate av, size_t bytes)
   ------------------------------ free ------------------------------
 */
 
-static void
+void
 _int_free(mstate av, Void_t* mem)
 {
   mchunkptr       p;           /* chunk corresponding to mem */
@@ -4383,7 +4383,7 @@ static void malloc_consolidate(av) mstate av;
   ------------------------------ realloc ------------------------------
 */
 
-static Void_t*
+Void_t*
 _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
 {
   INTERNAL_SIZE_T  nb;              /* padded request size */
@@ -4608,7 +4608,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
   ------------------------------ memalign ------------------------------
 */
 
-static Void_t*
+Void_t*
 _int_memalign(mstate av, size_t alignment, size_t bytes)
 {
   INTERNAL_SIZE_T nb;             /* padded  request size */
@@ -4774,7 +4774,7 @@ Void_t* cALLOc(n_elements, elem_size) size_t n_elements; size_t elem_size;
   ------------------------- independent_calloc -------------------------
 */
 
-static Void_t**
+Void_t**
 #if __STD_C
 _int_icalloc(mstate av, size_t n_elements, size_t elem_size, Void_t* chunks[])
 #else
@@ -4791,7 +4791,7 @@ mstate av; size_t n_elements; size_t elem_size; Void_t* chunks[];
   ------------------------- independent_comalloc -------------------------
 */
 
-static Void_t**
+Void_t**
 #if __STD_C
 _int_icomalloc(mstate av, size_t n_elements, size_t sizes[], Void_t* chunks[])
 #else
@@ -4939,7 +4939,7 @@ mstate av; size_t n_elements; size_t* sizes; int opts; Void_t* chunks[];
   ------------------------------ valloc ------------------------------
 */
 
-static Void_t*
+Void_t*
 #if __STD_C
 _int_valloc(mstate av, size_t bytes)
 #else
@@ -4956,7 +4956,7 @@ _int_valloc(av, bytes) mstate av; size_t bytes;
 */
 
 
-static Void_t*
+Void_t*
 #if __STD_C
 _int_pvalloc(mstate av, size_t bytes)
 #else
diff --git a/malloc/malloc.h b/malloc/malloc.h
index 5ddd780958..bbcdf22b23 100644
--- a/malloc/malloc.h
+++ b/malloc/malloc.h
@@ -224,18 +224,6 @@ extern void (*__after_morecore_hook) __MALLOC_PMT ((void));
 /* Activate a standard set of debugging hooks. */
 extern void __malloc_check_init __MALLOC_P ((void));
 
-/* Internal routines, operating on "arenas".  */
-struct malloc_state;
-typedef struct malloc_state *mstate;
-
-extern mstate         _int_new_arena __MALLOC_P ((size_t __ini_size));
-extern __malloc_ptr_t _int_malloc __MALLOC_P ((mstate __m, size_t __size));
-extern void           _int_free __MALLOC_P ((mstate __m, __malloc_ptr_t __ptr));
-extern __malloc_ptr_t _int_realloc __MALLOC_P ((mstate __m,
-						__malloc_ptr_t __ptr,
-						size_t __size));
-extern __malloc_ptr_t _int_memalign __MALLOC_P ((mstate __m, size_t __alignment,
-						 size_t __size));
 
 #ifdef __cplusplus
 }; /* end of extern "C" */
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index e12874f055..6e03643381 100644
--- a/sysdeps/mach/hurd/Makefile
+++ b/sysdeps/mach/hurd/Makefile
@@ -1,4 +1,5 @@
-# Copyright (C) 1993,94,95,96,97,98,99,2000,01 Free Software Foundation, Inc.
+# Copyright (C) 1993,94,95,96,97,98,99,2000,2001,2002, 2003
+#	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
@@ -155,6 +156,8 @@ $(link-rpcuserlibs): %-link.so: %_pic.a
 		-nostdlib -o $@ \
 		-Wl,-soname=$(*F).so$($(*F).so-version) \
 		$(build-shlib-objlist)
+libmachuser-link.so-no-z-defs = yes
+libhurduser-link.so-no-z-defs = yes
 
 # And get them into the libc.so ldscript.
 $(inst_libdir)/libc.so: $(rpcuserlibs)
@@ -163,7 +166,7 @@ $(inst_libdir)/libc.so: $(rpcuserlibs)
 # linker, too.  It must be self-contained, so we link the needed PIC
 # objects directly into the shared object.
 ifeq (elf,$(subdir))
-$(objpfx)librtld.os: $(rpcuserlibs:.so=_pic.a)
+$(objpfx)librtld.map: $(rpcuserlibs:.so=_pic.a)
 
 CFLAGS-dl-load.c = -DEXTERNAL_MAP_FROM_FD
 endif