summaryrefslogtreecommitdiff
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)
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. \