aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-03-13 02:17:12 +0000
committerUlrich Drepper <drepper@redhat.com>2002-03-13 02:17:12 +0000
commit100351c3e1a858d32177f004e39a91d9d9a004ef (patch)
tree8766e6e71a3e8e70a282d2e71e2b2aee183faedd
parentaa32f79837bb38f8cea9daa26fd5eb6091861442 (diff)
downloadglibc-100351c3e1a858d32177f004e39a91d9d9a004ef.zip
glibc-100351c3e1a858d32177f004e39a91d9d9a004ef.tar.gz
glibc-100351c3e1a858d32177f004e39a91d9d9a004ef.tar.bz2
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 <malloc.h> 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.
-rw-r--r--ChangeLog43
-rw-r--r--argp/argp-parse.c10
-rw-r--r--elf/dl-open.c4
-rw-r--r--gmon/bb_exit_func.c5
-rw-r--r--gmon/gmon.c3
-rw-r--r--include/libc-symbols.h4
-rw-r--r--include/malloc.h10
-rw-r--r--inet/in6_addr.c2
-rw-r--r--libio/fileops.c2
-rw-r--r--libio/libio.h8
-rw-r--r--libio/libioP.h22
-rw-r--r--libio/stdfiles.c2
-rw-r--r--libio/stdio.c10
-rw-r--r--libio/wfileops.c2
-rw-r--r--malloc/malloc.c2
-rw-r--r--malloc/malloc.h10
-rw-r--r--stdio-common/itowa-digits.c6
-rw-r--r--sysdeps/generic/wordexp.c6
-rw-r--r--sysdeps/mach/hurd/i386/init-first.c4
-rw-r--r--sysdeps/mach/hurd/mips/init-first.c6
-rw-r--r--sysdeps/mach/hurd/powerpc/init-first.c6
-rw-r--r--sysdeps/unix/sysv/aix/init-first.c4
-rw-r--r--sysdeps/unix/sysv/linux/init-first.c4
23 files changed, 117 insertions, 58 deletions
diff --git a/ChangeLog b/ChangeLog
index 4893a8d..3561382 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,48 @@
2002-03-12 Ulrich Drepper <drepper@redhat.com>
+ * 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 <malloc.h> 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 02dbfac..5a5146f 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 <miles@gnu.ai.mit.edu>.
@@ -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 5710ffb..5a7198f 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 ce61c75..f0d1d85 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 3380932..f0188a9 100644
--- a/gmon/gmon.c
+++ b/gmon/gmon.c
@@ -47,7 +47,8 @@
# include <wchar.h>
#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 bc1c240..07badec 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 448e0a8..eb2afb9 100644
--- a/include/malloc.h
+++ b/include/malloc.h
@@ -1 +1,11 @@
+#ifndef _MALLOC_H
#include <malloc/malloc.h>
+
+
+/* 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 5f004fb..0035509 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 dd8960e..eaf5909 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 1bd3189..c8231df 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 <bothner@cygnus.com>.
@@ -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 b40e9e6..f3a2d97 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 dd4be04..cbc1407 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 9a59496..64a8ab2 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 d0259b0..504c799 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 b1ab6e9..7414c70 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 <malloc.h>
#include "thread-m.h"
#ifndef BOUNDED_N
diff --git a/malloc/malloc.h b/malloc/malloc.h
index aaa95b3..5ddd780 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 c6c88e0..ce5b9c3 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 <wchar.h>
/* 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 75a1d26..e3e3145 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 <tim@cyberelk.demon.co.uk>.
@@ -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 ad32b30..56db837 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 07b8e9e..dbcad4b 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 18e824a..80aa615 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 2a60a92..7b4773b 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 3a7f4ff..9dbf206 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