From 100351c3e1a858d32177f004e39a91d9d9a004ef Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 13 Mar 2002 02:17:12 +0000 Subject: [PATCH] Update. * stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden. (_itowa_upper_digits): Likewise. * libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden. * libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare as hidden. * libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps, _IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps, _IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal, _IO_wfile_jumps_internal, and _IO_list_all_internal as hidden. * gmon/gmon.c (__bb_head): Define as hidden. * gmon/bb_exit_func.c (__bb_head): Declare as hidden. * argp/argp-parse.c (_argp_hang): Define as static. * include/libc-symbols.h (_INTVARDEF): Adjust for visibility handling in latest compilers. * inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to define alias. * libio/fileops.c (_IO_file_jumps): Likewise. * libio/stdfiles.c (_IO_list_all): Likewise. * libio/wfileops.c (_IO_wfile_jumps): Likewise. * malloc/malloc.h: Move __libc_malloc_initialized declaration to include/malloc.h. * include/malloc.h: Add __libc_malloc_initialized declaration here. Mark variable hidden. * malloc/malloc.c: Include not "malloc.h". * elf/dl-open.c (__libc_argc): Declare as hidden. (__libc_argv): Likewise. * sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden. (__libc_argv): Likewise. * sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and __libc_argv as hidden. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. * sysdeps/unix/sysv/aix/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. --- ChangeLog | 43 ++++++++++++++++++++++++++ argp/argp-parse.c | 10 ++++-- elf/dl-open.c | 4 +-- gmon/bb_exit_func.c | 5 ++- gmon/gmon.c | 3 +- include/libc-symbols.h | 4 +-- include/malloc.h | 10 ++++++ inet/in6_addr.c | 2 +- libio/fileops.c | 2 +- libio/libio.h | 8 ++--- libio/libioP.h | 22 ++++++------- libio/stdfiles.c | 2 +- libio/stdio.c | 10 ++++-- libio/wfileops.c | 2 +- malloc/malloc.c | 2 +- malloc/malloc.h | 10 +----- stdio-common/itowa-digits.c | 6 ++-- sysdeps/generic/wordexp.c | 6 ++-- sysdeps/mach/hurd/i386/init-first.c | 4 +-- sysdeps/mach/hurd/mips/init-first.c | 6 ++-- sysdeps/mach/hurd/powerpc/init-first.c | 6 ++-- sysdeps/unix/sysv/aix/init-first.c | 4 +-- sysdeps/unix/sysv/linux/init-first.c | 4 +-- 23 files changed, 117 insertions(+), 58 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4893a8d65f..356138259b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,48 @@ 2002-03-12 Ulrich Drepper + * stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden. + (_itowa_upper_digits): Likewise. + + * libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden. + * libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare + as hidden. + + * libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps, + _IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps, + _IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal, + _IO_wfile_jumps_internal, and _IO_list_all_internal as hidden. + + * gmon/gmon.c (__bb_head): Define as hidden. + * gmon/bb_exit_func.c (__bb_head): Declare as hidden. + + * argp/argp-parse.c (_argp_hang): Define as static. + + * include/libc-symbols.h (_INTVARDEF): Adjust for visibility + handling in latest compilers. + + * inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to + define alias. + * libio/fileops.c (_IO_file_jumps): Likewise. + * libio/stdfiles.c (_IO_list_all): Likewise. + * libio/wfileops.c (_IO_wfile_jumps): Likewise. + + * malloc/malloc.h: Move __libc_malloc_initialized declaration to + include/malloc.h. + * include/malloc.h: Add __libc_malloc_initialized declaration + here. Mark variable hidden. + * malloc/malloc.c: Include not "malloc.h". + + * elf/dl-open.c (__libc_argc): Declare as hidden. + (__libc_argv): Likewise. + * sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden. + (__libc_argv): Likewise. + * sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and + __libc_argv as hidden. + * sysdeps/mach/hurd/mips/init-first.c: Likewise. + * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. + * sysdeps/unix/sysv/aix/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/init-first.c: Likewise. + * include/stdlib.h (__libc_drand48_data): Declare as hidden. * stdlib/drand48.c: Remove declaration of __libc_drand48_data here. * stdlib/erand48.c: Likewise. diff --git a/argp/argp-parse.c b/argp/argp-parse.c index 02dbfac75d..5a5146fba3 100644 --- a/argp/argp-parse.c +++ b/argp/argp-parse.c @@ -1,5 +1,5 @@ /* Hierarchial argument parsing, layered over getopt - Copyright (C) 1995, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. + Copyright (C) 1995-2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -81,7 +81,13 @@ /* When argp is given the --HANG switch, _ARGP_HANG is set and argp will sleep for one second intervals, decrementing _ARGP_HANG until it's zero. Thus you can force the program to continue by attaching a debugger and setting - it to 0 yourself. */ + it to 0 yourself. + + XXX This variable used to be exported. But there seems to be no + need, at least not inside libc. */ +#ifdef _LIBC +static +#endif volatile int _argp_hang; #define OPT_PROGNAME -2 diff --git a/elf/dl-open.c b/elf/dl-open.c index 5710ffb40f..5a7198ff92 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -42,8 +42,8 @@ weak_extern (BP_SYM (_dl_sysdep_start)) extern int __libc_multiple_libcs; /* Defined in init-first.c. */ -extern int __libc_argc; -extern char **__libc_argv; +extern int __libc_argc attribute_hidden; +extern char **__libc_argv attribute_hidden; extern char **__environ; diff --git a/gmon/bb_exit_func.c b/gmon/bb_exit_func.c index ce61c75d6e..f0d1d8576c 100644 --- a/gmon/bb_exit_func.c +++ b/gmon/bb_exit_func.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1996,1997,1998,2000,2001,2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger (davidm@cs.arizona.edu). @@ -31,6 +31,9 @@ #define OUT_NAME "gmon.out" +extern struct __bb *__bb_head attribute_hidden; + + void __bb_exit_func (void) { diff --git a/gmon/gmon.c b/gmon/gmon.c index 3380932e7c..f0188a9d30 100644 --- a/gmon/gmon.c +++ b/gmon/gmon.c @@ -47,7 +47,8 @@ # include #endif -struct __bb *__bb_head; /* Head of basic-block list or NULL. */ +/* Head of basic-block list or NULL. */ +struct __bb *__bb_head attribute_hidden; struct gmonparam _gmonparam attribute_hidden = { GMON_PROF_OFF }; diff --git a/include/libc-symbols.h b/include/libc-symbols.h index bc1c24033f..07badec802 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -363,8 +363,8 @@ # define INTVARDEF(name) \ _INTVARDEF(name, name##_internal) # define _INTVARDEF(name, aliasname) \ - extern __typeof (name) aliasname __attribute__ ((visibility ("hidden"))); \ - strong_alias (name, name##_internal) + extern __typeof (name) aliasname __attribute__ ((alias (#name), \ + visibility ("hidden"))); # define INTDEF2(name, newname) strong_alias (name, newname##_internal) #else # define INTUSE(name) name diff --git a/include/malloc.h b/include/malloc.h index 448e0a8c6b..eb2afb9330 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -1 +1,11 @@ +#ifndef _MALLOC_H #include + + +/* In the GNU libc we rename the global variable + `__malloc_initialized' to `__libc_malloc_initialized'. */ +#define __malloc_initialized __libc_malloc_initialized +/* Nonzero if the malloc is already initialized. */ +extern int __malloc_initialized attribute_hidden; + +#endif diff --git a/inet/in6_addr.c b/inet/in6_addr.c index 5f004fbf97..0035509f98 100644 --- a/inet/in6_addr.c +++ b/inet/in6_addr.c @@ -21,6 +21,6 @@ const struct in6_addr in6addr_any = { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }; -INTDEF(in6addr_any) +INTVARDEF(in6addr_any) const struct in6_addr in6addr_loopback = { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }; diff --git a/libio/fileops.c b/libio/fileops.c index dd8960ef03..eaf590908a 100644 --- a/libio/fileops.c +++ b/libio/fileops.c @@ -1270,7 +1270,7 @@ struct _IO_jump_t _IO_file_jumps = JUMP_INIT(showmanyc, _IO_default_showmanyc), JUMP_INIT(imbue, _IO_default_imbue) }; -INTDEF(_IO_file_jumps) +INTVARDEF(_IO_file_jumps) struct _IO_jump_t _IO_file_jumps_mmap = { diff --git a/libio/libio.h b/libio/libio.h index 1bd31894e8..c8231df3ab 100644 --- a/libio/libio.h +++ b/libio/libio.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1995, 1997-2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1991-1995, 1997-2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Per Bothner . @@ -331,9 +331,9 @@ extern struct _IO_FILE_plus _IO_2_1_stderr_; #define _IO_stdout ((_IO_FILE*)(&_IO_2_1_stdout_)) #define _IO_stderr ((_IO_FILE*)(&_IO_2_1_stderr_)) #else -extern _IO_FILE *_IO_stdin; -extern _IO_FILE *_IO_stdout; -extern _IO_FILE *_IO_stderr; +extern _IO_FILE *_IO_stdin attribute_hidden; +extern _IO_FILE *_IO_stdout attribute_hidden; +extern _IO_FILE *_IO_stderr attribute_hidden; #endif diff --git a/libio/libioP.h b/libio/libioP.h index b40e9e69eb..f3a2d97e2a 100644 --- a/libio/libioP.h +++ b/libio/libioP.h @@ -426,15 +426,15 @@ extern int _IO_default_showmanyc __P ((_IO_FILE *)); extern void _IO_default_imbue __P ((_IO_FILE *, void *)); extern struct _IO_jump_t _IO_file_jumps; -extern struct _IO_jump_t _IO_file_jumps_mmap; -extern struct _IO_jump_t _IO_wfile_jumps; -extern struct _IO_jump_t _IO_wfile_jumps_mmap; -extern struct _IO_jump_t _IO_old_file_jumps; +extern struct _IO_jump_t _IO_file_jumps_mmap attribute_hidden; +extern struct _IO_jump_t _IO_wfile_jumps attribute_hidden; +extern struct _IO_jump_t _IO_wfile_jumps_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; -extern struct _IO_jump_t _IO_old_proc_jumps; -extern struct _IO_jump_t _IO_str_jumps; -extern struct _IO_jump_t _IO_wstr_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; extern struct _IO_codecvt __libio_codecvt; extern int _IO_do_write __P ((_IO_FILE *, const char *, _IO_size_t)); extern int _IO_new_do_write __P ((_IO_FILE *, const char *, _IO_size_t)); @@ -683,10 +683,10 @@ extern _IO_off64_t _IO_str_seekoff_internal __P ((_IO_FILE *, _IO_off64_t, extern void _IO_str_init_static_internal __P ((struct _IO_strfile_ *, char *, int, char *)); -extern struct _IO_jump_t _IO_file_jumps_internal; -extern struct _IO_jump_t _IO_wfile_jumps_internal; +extern struct _IO_jump_t _IO_file_jumps_internal attribute_hidden; +extern struct _IO_jump_t _IO_wfile_jumps_internal attribute_hidden; -extern struct _IO_FILE_plus *_IO_list_all_internal; +extern struct _IO_FILE_plus *_IO_list_all_internal attribute_hidden; extern void _IO_link_in_internal __P ((struct _IO_FILE_plus *)); extern int _IO_sputbackc_internal __P ((_IO_FILE *, int)); diff --git a/libio/stdfiles.c b/libio/stdfiles.c index dd4be04207..cbc1407900 100644 --- a/libio/stdfiles.c +++ b/libio/stdfiles.c @@ -71,4 +71,4 @@ DEF_STDFILE(_IO_2_1_stdout_, 1, &_IO_2_1_stdin_, _IO_NO_READS); DEF_STDFILE(_IO_2_1_stderr_, 2, &_IO_2_1_stdout_, _IO_NO_READS+_IO_UNBUFFERED); struct _IO_FILE_plus *_IO_list_all = &_IO_2_1_stderr_; -INTDEF(_IO_list_all) +INTVARDEF(_IO_list_all) diff --git a/libio/stdio.c b/libio/stdio.c index 9a594963e5..64a8ab2d57 100644 --- a/libio/stdio.c +++ b/libio/stdio.c @@ -39,7 +39,11 @@ _IO_FILE *stderr = (FILE *) &_IO_2_1_stderr_; #undef _IO_stdout #undef _IO_stderr #ifdef _LIBC -strong_alias (stdin, _IO_stdin); -strong_alias (stdout, _IO_stdout); -strong_alias (stderr, _IO_stderr); +# define AL(name) AL2 (name, _IO_##name) +# define AL2(name, al) \ + extern __typeof (name) al __attribute__ ((alias (#name), \ + visibility ("hidden"))) +AL(stdin); +AL(stdout); +AL(stderr); #endif diff --git a/libio/wfileops.c b/libio/wfileops.c index d0259b097e..504c799010 100644 --- a/libio/wfileops.c +++ b/libio/wfileops.c @@ -862,7 +862,7 @@ struct _IO_jump_t _IO_wfile_jumps = JUMP_INIT(showmanyc, _IO_default_showmanyc), JUMP_INIT(imbue, _IO_default_imbue) }; -INTDEF(_IO_wfile_jumps) +INTVARDEF(_IO_wfile_jumps) struct _IO_jump_t _IO_wfile_jumps_mmap = diff --git a/malloc/malloc.c b/malloc/malloc.c index b1ab6e9f7e..7414c705a9 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -1401,7 +1401,7 @@ void public_mSTATs(); }; /* end of extern "C" */ #endif -#include "malloc.h" +#include #include "thread-m.h" #ifndef BOUNDED_N diff --git a/malloc/malloc.h b/malloc/malloc.h index aaa95b3a2c..5ddd780958 100644 --- a/malloc/malloc.h +++ b/malloc/malloc.h @@ -1,5 +1,5 @@ /* Prototypes and definition for malloc implementation. - Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999, 2000, 2002 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 @@ -106,14 +106,6 @@ extern "C" { #endif -/* Nonzero if the malloc is already initialized. */ -#ifdef _LIBC -/* In the GNU libc we rename the global variable - `__malloc_initialized' to `__libc_malloc_initialized'. */ -# define __malloc_initialized __libc_malloc_initialized -#endif -extern int __malloc_initialized; - /* Allocate SIZE bytes of memory. */ extern __malloc_ptr_t malloc __MALLOC_P ((size_t __size)) __attribute_malloc__; diff --git a/stdio-common/itowa-digits.c b/stdio-common/itowa-digits.c index c6c88e0e97..ce5b9c3b92 100644 --- a/stdio-common/itowa-digits.c +++ b/stdio-common/itowa-digits.c @@ -1,5 +1,5 @@ /* Digits. - Copyright (C) 1994, 1995, 1996, 1999 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1999, 2002 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 @@ -20,8 +20,8 @@ #include /* Lower-case digits. */ -const wchar_t _itowa_lower_digits[36] +const wchar_t _itowa_lower_digits[36] attribute_hidden = L"0123456789abcdefghijklmnopqrstuvwxyz"; /* Upper-case digits. */ -const wchar_t _itowa_upper_digits[36] +const wchar_t _itowa_upper_digits[36] attribute_hidden = L"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; diff --git a/sysdeps/generic/wordexp.c b/sysdeps/generic/wordexp.c index 75a1d26c91..e3e31451c1 100644 --- a/sysdeps/generic/wordexp.c +++ b/sysdeps/generic/wordexp.c @@ -1,5 +1,5 @@ /* POSIX.2 wordexp implementation. - Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Tim Waugh . @@ -56,8 +56,8 @@ */ /* These variables are defined and initialized in the startup code. */ -extern int __libc_argc; -extern char **__libc_argv; +extern int __libc_argc attribute_hidden; +extern char **__libc_argv attribute_hidden; /* Some forward declarations */ static int parse_dollars (char **word, size_t *word_length, size_t *max_length, diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c index ad32b30af0..56db837842 100644 --- a/sysdeps/mach/hurd/i386/init-first.c +++ b/sysdeps/mach/hurd/i386/init-first.c @@ -47,8 +47,8 @@ int __libc_enable_secure; #endif int __libc_multiple_libcs = 1; -extern int __libc_argc; -extern char **__libc_argv; +extern int __libc_argc attribute_hidden; +extern char **__libc_argv attribute_hidden; extern char **_dl_argv; void *(*_cthread_init_routine) (void); /* Returns new SP to use. */ diff --git a/sysdeps/mach/hurd/mips/init-first.c b/sysdeps/mach/hurd/mips/init-first.c index 07b8e9e38c..dbcad4b481 100644 --- a/sysdeps/mach/hurd/mips/init-first.c +++ b/sysdeps/mach/hurd/mips/init-first.c @@ -31,7 +31,7 @@ extern void __init_misc (int, char **, char **); #ifdef USE_NONOPTION_FLAGS extern void __getopt_clean_environment (char **); #endif -#ifndef SHARED +#ifndef SHARED extern void _dl_non_dynamic_init (void) internal_function; #endif extern void __libc_global_ctors (void); @@ -42,8 +42,8 @@ unsigned long int __hurd_threadvar_stack_mask; int __libc_multiple_libcs = 1; -int __libc_argc; -char **__libc_argv; +int __libc_argc attribute_hidden; +char **__libc_argv attribute_hidden; void *(*_cthread_init_routine) (void); /* Returns new SP to use. */ void (*_cthread_exit_routine) (int status) __attribute__ ((__noreturn__)); diff --git a/sysdeps/mach/hurd/powerpc/init-first.c b/sysdeps/mach/hurd/powerpc/init-first.c index 18e824a487..80aa61524e 100644 --- a/sysdeps/mach/hurd/powerpc/init-first.c +++ b/sysdeps/mach/hurd/powerpc/init-first.c @@ -33,7 +33,7 @@ extern void __init_misc (int, char **, char **); #ifdef USE_NONOPTION_FLAGS extern void __getopt_clean_environment (char **); #endif -#ifndef SHARED +#ifndef SHARED extern void _dl_non_dynamic_init (void) internal_function; #endif extern void __libc_global_ctors (void); @@ -47,8 +47,8 @@ int __libc_enable_secure; #endif int __libc_multiple_libcs = 1; -extern int __libc_argc; -extern char **__libc_argv; +extern int __libc_argc attribute_hidden; +extern char **__libc_argv attribute_hidden; extern char **_dl_argv; void *(*_cthread_init_routine) (void); /* Returns new SP to use. */ diff --git a/sysdeps/unix/sysv/aix/init-first.c b/sysdeps/unix/sysv/aix/init-first.c index 2a60a927fc..7b4773b633 100644 --- a/sysdeps/unix/sysv/aix/init-first.c +++ b/sysdeps/unix/sysv/aix/init-first.c @@ -46,8 +46,8 @@ int __libc_multiple_libcs = 1; /* Remember the command line argument and enviroment contents for later calls of initializers for dynamic libraries. */ -int __libc_argc; -char **__libc_argv; +int __libc_argc attribute_hidden; +char **__libc_argv attribute_hidden; static void diff --git a/sysdeps/unix/sysv/linux/init-first.c b/sysdeps/unix/sysv/linux/init-first.c index 3a7f4ffba7..9dbf2062ab 100644 --- a/sysdeps/unix/sysv/linux/init-first.c +++ b/sysdeps/unix/sysv/linux/init-first.c @@ -45,8 +45,8 @@ int __libc_multiple_libcs = 1; /* Remember the command line argument and enviroment contents for later calls of initializers for dynamic libraries. */ -int __libc_argc; -char **__libc_argv; +int __libc_argc attribute_hidden; +char **__libc_argv attribute_hidden; static void