summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-01-08 06:49:39 +0000
committerUlrich Drepper <drepper@redhat.com>2003-01-08 06:49:39 +0000
commitf5bf21a78027b62197ee88a4813b32b12452316a (patch)
tree67ece85b3627f0f858911bf60eee583acff76790
parentd3f802f76e0d5140a4233ddcc152f010fa22f9e3 (diff)
downloadglibc-f5bf21a78027b62197ee88a4813b32b12452316a.tar.gz
glibc-f5bf21a78027b62197ee88a4813b32b12452316a.tar.xz
glibc-f5bf21a78027b62197ee88a4813b32b12452316a.zip
Update.
	Unify symbols in user namespace exported by libc.so and libc.a.
	* argp/argp-fmtstream.c: Don't define argp_make_fmtstream,
	argp_fmtstream_free, and argp_fmtstream_printf.
	* argp/argp-fs-xinl.c: Don't define argp_fmtstream_putc,
	argp_fmtstream_puts, argp_fmtstream_write, argp_fmtstream_set_lmargin,
	argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin, and
	argp_fmtstream_point.
	* gmon/gmon.c: Don't define write_profiling.
	* libio/genops.c: Don't define _cleanup.

	* intl/explodename.c (_nl_find_language.c): Mark as static.
	* intl/loadinfo.h: Remove _nl_find_language prototype.

	* libio/fileops.c (_IO_file_seekoff_maybe_mmap): Mark as static.
	* libio/libioP.h: Remove declaration.

	* libio/iopopen.c (_IO_proc_jumps): Mark as static.
	* libio/libioP.h: Remove declaration.

	* sysdeps/generic/unwind-dw2.c: Mark __frame_state_for with STATIC.
	* sysdeps/generic/framestate.c: Define STATIC before including
	unwind-dw2.c.
-rw-r--r--ChangeLog23
-rw-r--r--argp/argp-fmtstream.c11
-rw-r--r--argp/argp-fs-xinl.c5
-rw-r--r--gmon/gmon.c7
-rw-r--r--intl/explodename.c6
-rw-r--r--intl/loadinfo.h4
-rw-r--r--libio/fileops.c11
-rw-r--r--libio/genops.c8
-rw-r--r--libio/iopopen.c5
-rw-r--r--libio/libioP.h5
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile3
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h3
-rw-r--r--sysdeps/generic/framestate.c9
-rw-r--r--sysdeps/generic/unwind-dw2.c16
14 files changed, 77 insertions, 39 deletions
diff --git a/ChangeLog b/ChangeLog
index 877f1dd3e0..f28cc74168 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,28 @@
 2003-01-07  Ulrich Drepper  <drepper@redhat.com>
 
+	Unify symbols in user namespace exported by libc.so and libc.a.
+	* argp/argp-fmtstream.c: Don't define argp_make_fmtstream,
+	argp_fmtstream_free, and argp_fmtstream_printf.
+	* argp/argp-fs-xinl.c: Don't define argp_fmtstream_putc,
+	argp_fmtstream_puts, argp_fmtstream_write, argp_fmtstream_set_lmargin,
+	argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin, and
+	argp_fmtstream_point.
+	* gmon/gmon.c: Don't define write_profiling.
+	* libio/genops.c: Don't define _cleanup.
+
+	* intl/explodename.c (_nl_find_language.c): Mark as static.
+	* intl/loadinfo.h: Remove _nl_find_language prototype.
+
+	* libio/fileops.c (_IO_file_seekoff_maybe_mmap): Mark as static.
+	* libio/libioP.h: Remove declaration.
+
+	* libio/iopopen.c (_IO_proc_jumps): Mark as static.
+	* libio/libioP.h: Remove declaration.
+
+	* sysdeps/generic/unwind-dw2.c: Mark __frame_state_for with STATIC.
+	* sysdeps/generic/framestate.c: Define STATIC before including
+	unwind-dw2.c.
+
 	* time/Versions [GLIBC_2.3.2] (libc): Export strptime_l.
 
 2003-01-06  Philip Blundell  <philb@gnu.org>
diff --git a/argp/argp-fmtstream.c b/argp/argp-fmtstream.c
index 6d461aa984..d06ea8453b 100644
--- a/argp/argp-fmtstream.c
+++ b/argp/argp-fmtstream.c
@@ -1,5 +1,5 @@
 /* Word-wrapping and line-truncating streams
-   Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2001,2002,2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
@@ -87,9 +87,12 @@ __argp_make_fmtstream (FILE *stream,
 
   return fs;
 }
+#if 0
+/* Not exported.  */
 #ifdef weak_alias
 weak_alias (__argp_make_fmtstream, argp_make_fmtstream)
 #endif
+#endif
 
 /* Flush FS to its stream, and free it (but don't close the stream).  */
 void
@@ -108,9 +111,12 @@ __argp_fmtstream_free (argp_fmtstream_t fs)
   free (fs->buf);
   free (fs);
 }
+#if 0
+/* Not exported.  */
 #ifdef weak_alias
 weak_alias (__argp_fmtstream_free, argp_fmtstream_free)
 #endif
+#endif
 
 /* Process FS's buffer so that line wrapping is done from POINT_OFFS to the
    end of its buffer.  This code is mostly from glibc stdio/linewrap.c.  */
@@ -424,8 +430,11 @@ __argp_fmtstream_printf (struct argp_fmtstream *fs, const char *fmt, ...)
 
   return out;
 }
+#if 0
+/* Not exported.  */
 #ifdef weak_alias
 weak_alias (__argp_fmtstream_printf, argp_fmtstream_printf)
 #endif
+#endif
 
 #endif /* !ARGP_FMTSTREAM_USE_LINEWRAP */
diff --git a/argp/argp-fs-xinl.c b/argp/argp-fs-xinl.c
index b61a303e83..21f9bd9f71 100644
--- a/argp/argp-fs-xinl.c
+++ b/argp/argp-fs-xinl.c
@@ -1,5 +1,5 @@
 /* Real definitions for extern inline functions in argp-fmtstream.h
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
@@ -27,6 +27,8 @@
 #define __OPTIMIZE__
 #include "argp-fmtstream.h"
 
+#if 0
+/* Not exported.  */
 /* Add weak aliases.  */
 #if _LIBC - 0 && !defined (ARGP_FMTSTREAM_USE_LINEWRAP) && defined (weak_alias)
 
@@ -39,3 +41,4 @@ weak_alias (__argp_fmtstream_set_wmargin, argp_fmtstream_set_wmargin)
 weak_alias (__argp_fmtstream_point, argp_fmtstream_point)
 
 #endif
+#endif
diff --git a/gmon/gmon.c b/gmon/gmon.c
index 72654840fc..889f9ac6a7 100644
--- a/gmon/gmon.c
+++ b/gmon/gmon.c
@@ -381,7 +381,14 @@ __write_profiling (void)
     write_gmon ();
   _gmonparam.state = save;
 }
+#ifndef SHARED
+/* This symbol isn't used anywhere in the DSO and it is not exported.
+   This would normally mean it should be removed to get the same API
+   in static libraries.  But since profiling is special in static libs
+   anyway we keep it.  But not when building the DSO since some
+   quality assurance tests will otherwise trigger.  */
 weak_alias (__write_profiling, write_profiling)
+#endif
 
 
 void
diff --git a/intl/explodename.c b/intl/explodename.c
index bfaa5aba53..f7bcfa5ff6 100644
--- a/intl/explodename.c
+++ b/intl/explodename.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
 
@@ -38,7 +38,9 @@
 
 /* @@ end of prolog @@ */
 
-char *
+static char *_nl_find_language PARAMS ((const char *name));
+
+static char *
 _nl_find_language (name)
      const char *name;
 {
diff --git a/intl/loadinfo.h b/intl/loadinfo.h
index 72f1b3e9f1..c2b6971b36 100644
--- a/intl/loadinfo.h
+++ b/intl/loadinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2000, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -96,6 +96,4 @@ extern int _nl_explode_name PARAMS ((char *name, const char **language,
 				     const char **codeset,
 				     const char **normalized_codeset));
 
-extern char *_nl_find_language PARAMS ((const char *name));
-
 #endif	/* loadinfo.h */
diff --git a/libio/fileops.c b/libio/fileops.c
index c914e84ce0..5340603476 100644
--- a/libio/fileops.c
+++ b/libio/fileops.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997-2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1997-2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Per Bothner <bothner@cygnus.com>.
 
@@ -1185,12 +1185,9 @@ _IO_file_seekoff_mmap (fp, offset, dir, mode)
   return offset;
 }
 
-_IO_off64_t
-_IO_file_seekoff_maybe_mmap (fp, offset, dir, mode)
-     _IO_FILE *fp;
-     _IO_off64_t offset;
-     int dir;
-     int mode;
+static _IO_off64_t
+_IO_file_seekoff_maybe_mmap (_IO_FILE *fp, _IO_off64_t offset, int dir,
+			     int mode)
 {
   /* We only get here when we haven't tried to read anything yet.
      So there is nothing more useful for us to do here than just
diff --git a/libio/genops.c b/libio/genops.c
index 74558807e7..c88a26f5f9 100644
--- a/libio/genops.c
+++ b/libio/genops.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993,1995,1997-2001,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1993,1995,1997-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
@@ -1264,10 +1264,6 @@ __io_defs io_defs__;
 
 #endif /* TODO */
 
-#ifdef weak_alias
-weak_alias (_IO_cleanup, _cleanup)
-#endif
-
 #ifdef text_set_element
-text_set_element(__libc_atexit, _cleanup);
+text_set_element(__libc_atexit, _IO_cleanup);
 #endif
diff --git a/libio/iopopen.c b/libio/iopopen.c
index d6a6f6aa47..80a97f1b64 100644
--- a/libio/iopopen.c
+++ b/libio/iopopen.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993,1997-2001,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1997-2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Per Bothner <bothner@cygnus.com>.
 
@@ -104,6 +104,7 @@ struct _IO_proc_file
 };
 typedef struct _IO_proc_file _IO_proc_file;
 
+static struct _IO_jump_t _IO_proc_jumps;
 static struct _IO_jump_t _IO_wproc_jumps;
 
 static struct _IO_proc_file *proc_file_chain;
@@ -284,7 +285,7 @@ _IO_new_proc_close (fp)
 #endif
 }
 
-struct _IO_jump_t _IO_proc_jumps = {
+static struct _IO_jump_t _IO_proc_jumps = {
   JUMP_INIT_DUMMY,
   JUMP_INIT(finish, _IO_new_file_finish),
   JUMP_INIT(overflow, _IO_new_file_overflow),
diff --git a/libio/libioP.h b/libio/libioP.h
index 760bb1e702..d55bd73902 100644
--- a/libio/libioP.h
+++ b/libio/libioP.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1997-2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1997-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
@@ -457,7 +457,6 @@ extern struct _IO_jump_t _IO_wfile_jumps_mmap attribute_hidden;
 extern struct _IO_jump_t _IO_wfile_jumps_maybe_mmap attribute_hidden;
 extern struct _IO_jump_t _IO_old_file_jumps attribute_hidden;
 extern struct _IO_jump_t _IO_streambuf_jumps;
-extern struct _IO_jump_t _IO_proc_jumps attribute_hidden;
 extern struct _IO_jump_t _IO_old_proc_jumps attribute_hidden;
 extern struct _IO_jump_t _IO_str_jumps attribute_hidden;
 extern struct _IO_jump_t _IO_wstr_jumps attribute_hidden;
@@ -526,8 +525,6 @@ extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
 extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
 extern _IO_off64_t _IO_file_seekoff_mmap __P ((_IO_FILE *, _IO_off64_t, int,
 					       int));
-extern _IO_off64_t _IO_file_seekoff_maybe_mmap __P ((_IO_FILE *, _IO_off64_t,
-						     int, int));
 extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
 extern _IO_size_t _IO_file_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
 extern int _IO_file_stat __P ((_IO_FILE *, void *));
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
index 57c0e261c0..e98c9bd866 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
+++ b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
@@ -1 +1,2 @@
-libpthread-routines += sysdep s_pread64 s_pwrite64
+# pull in __syscall_error routine
+libpthread-routines += sysdep
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
index 9a70b64a69..94da65fdb0 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
@@ -71,6 +71,9 @@
 # define DOCARGS_5	stw 7,36(1); DOCARGS_4
 # define UNDOCARGS_5	lwz 7,36(1); UNDOCARGS_4
 
+# define DOCARGS_6	stw 8,40(1); DOCARGS_5
+# define UNDOCARGS_6	lwz 8,40(1); UNDOCARGS_5
+
 # ifdef IS_IN_libpthread
 #  define CENABLE	bl JUMPTARGET(__pthread_enable_asynccancel)
 #  define CDISABLE	bl JUMPTARGET(__pthread_disable_asynccancel)
diff --git a/sysdeps/generic/framestate.c b/sysdeps/generic/framestate.c
index 31f86034ee..20d9d4596e 100644
--- a/sysdeps/generic/framestate.c
+++ b/sysdeps/generic/framestate.c
@@ -1,5 +1,5 @@
 /* __frame_state_for unwinder helper function wrapper.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2001.
 
@@ -20,16 +20,11 @@
 
 #include <dlfcn.h>
 #include <stdlib.h>
+#define STATIC static
 #define __frame_state_for fallback_frame_state_for
 #include <unwind-dw2.c>
 #undef __frame_state_for
 
-struct frame_state * fallback_frame_state_for (void *, struct frame_state *)
-#ifdef _LIBC
-     attribute_hidden
-#endif
-     ;
-
 typedef struct frame_state * (*framesf)(void *pc, struct frame_state *);
 struct frame_state *__frame_state_for (void *pc,
 				       struct frame_state *frame_state);
diff --git a/sysdeps/generic/unwind-dw2.c b/sysdeps/generic/unwind-dw2.c
index ca0299468f..3a53156621 100644
--- a/sysdeps/generic/unwind-dw2.c
+++ b/sysdeps/generic/unwind-dw2.c
@@ -1,5 +1,5 @@
 /* DWARF2 exception handling and frame unwind runtime interface routines.
-   Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2000,2001,2003 Free Software Foundation, Inc.
 
    This file is part of GNU CC.
 
@@ -783,7 +783,7 @@ execute_cfa_program (const unsigned char *insn_ptr,
 	    fs->regs.reg[reg].loc.reg = reg2;
 	  }
 	  break;
-      
+
 	case DW_CFA_remember_state:
 	  {
 	    struct frame_state_reg_info *new_rs;
@@ -852,7 +852,7 @@ execute_cfa_program (const unsigned char *insn_ptr,
 	  fs->regs.reg[reg].how = REG_SAVED_OFFSET;
 	  fs->regs.reg[reg].loc.offset = offset;
 	  break;
-	  
+
 	case DW_CFA_def_cfa_sf:
 	  insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
 	  fs->cfa_reg = ptrtmp;
@@ -971,12 +971,18 @@ typedef struct frame_state
   char saved[DWARF_FRAME_REGISTERS+1];
 } frame_state;
 
+#ifndef STATIC
+# define STATIC
+#endif
+
+STATIC
 struct frame_state * __frame_state_for (void *, struct frame_state *);
 
 /* Called from pre-G++ 3.0 __throw to find the registers to restore for
    a given PC_TARGET.  The caller should allocate a local variable of
    `struct frame_state' and pass its address to STATE_IN.  */
 
+STATIC
 struct frame_state *
 __frame_state_for (void *pc_target, struct frame_state *state_in)
 {
@@ -1037,7 +1043,7 @@ uw_update_context_1 (struct _Unwind_Context *context, _Unwind_FrameState *fs)
       /* Special handling here: Many machines do not use a frame pointer,
 	 and track the CFA only through offsets from the stack pointer from
 	 one frame to the next.  In this case, the stack pointer is never
-	 stored, so it has no saved address in the context.  What we do 
+	 stored, so it has no saved address in the context.  What we do
 	 have is the CFA from the previous stack frame.  */
       if (context->reg[fs->cfa_reg] == NULL)
 	cfa = context->cfa;
@@ -1106,7 +1112,7 @@ uw_update_context (struct _Unwind_Context *context, _Unwind_FrameState *fs)
 
 /* Fill in CONTEXT for top-of-stack.  The only valid registers at this
    level will be the return address and the CFA.  */
-   
+
 #define uw_init_context(CONTEXT)					\
 do {									\
   /* Do any necessary initialization to access arbitrary stack frames.	\