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.
This commit is contained in:
Ulrich Drepper 2003-01-08 06:49:39 +00:00
parent d3f802f76e
commit f5bf21a780
14 changed files with 77 additions and 39 deletions

View File

@ -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>

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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;
{

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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),

View File

@ -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 *));

View File

@ -1 +1,2 @@
libpthread-routines += sysdep s_pread64 s_pwrite64
# pull in __syscall_error routine
libpthread-routines += sysdep

View File

@ -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)

View File

@ -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);

View File

@ -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. \