From 5f9e57babebe38587437ac432f26e5421f5532da Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 20 Feb 1995 01:08:14 +0000 Subject: Sun Feb 19 17:46:13 1995 Roland McGrath * posix/Makefile (aux): Add environ. * posix/environ.c: New file. * sysdeps/unix/sparc/start.c: Remove __environ definition. * sysdeps/unix/start.c: Likewise. * sysdeps/unix/sysv/irix4/start.c: Likewise. * sysdeps/mach/hurd/start.c: Likewise. * sysdeps/mach/start.c: Likewise. * sysdeps/stub/start.c: Likewise. * sysdeps/unix/make_errlist.c: In produced program, test HAVE_WEAK_SYMBOLS instead of HAVE_GNU_LD. * sysdeps/unix/sysv/sysv4/dup2.c: Fix #include of renamed file. Remove extra weak alias. * sysdeps/unix/sysv/sysv4/sigaltstack.S: Fix unsquashed file name in #include. * libc-symbols.h: Put comment around ^L to pacify Solaris as. * sysdeps/posix/Makefile (cded-objdir-includes): New variable replaced cded-objdir-CPPFLAGS; transform $(+includes) instead of $(CPPFLAGS). (mk-stdiolim): Use it instead. * mach/mach_init.c (__vm_page_size): Make it initialized. It does not work to make a weak alias to a bss symbol. * stdio/Makefile (distribute): Remove mpn-copy.mk; add gen-mpn-copy. (tests): Add test-fwrite. * stdio/test-fwrite.c: New file. * stdlib/stdlib.h [__USE_GNU]: Declare strtof, strtold, __strtof, __strtold. * Makefile (autoconf-it): New canned sequence. Do cvs commit if there is a CVS directory. (configure, %/configure): Use $(autoconf-it) for cmds. * Make-dist: Likewise. * Makerules ($(gpl2lgpl)): Likewise. inlines cause trouble for files defining global register variables. * stdio/vfprintf.c: Set PREC to zero for %. without following digit. --- ChangeLog | 47 ++++++++++++++++++++++++++++++++--- libc-symbols.h | 4 +++ posix/Makefile | 2 +- posix/environ.c | 8 ++++++ stdio/.cvsignore | 2 ++ sysdeps/mach/hurd/start.c | 3 --- sysdeps/mach/start.c | 7 +----- sysdeps/stub/start.c | 11 ++++---- sysdeps/unix/make_errlist.c | 2 +- sysdeps/unix/sparc/start.c | 9 ------- sysdeps/unix/start.c | 6 +---- sysdeps/unix/sysv/irix4/start.c | 9 +------ sysdeps/unix/sysv/sysv4/dup2.c | 4 +-- sysdeps/unix/sysv/sysv4/sigaltstack.S | 2 +- 14 files changed, 69 insertions(+), 47 deletions(-) create mode 100644 posix/environ.c diff --git a/ChangeLog b/ChangeLog index f43f045..4ea5a58 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,50 @@ +Sun Feb 19 17:46:13 1995 Roland McGrath + + * posix/Makefile (aux): Add environ. + * posix/environ.c: New file. + * sysdeps/unix/sparc/start.c: Remove __environ definition. + * sysdeps/unix/start.c: Likewise. + * sysdeps/unix/sysv/irix4/start.c: Likewise. + * sysdeps/mach/hurd/start.c: Likewise. + * sysdeps/mach/start.c: Likewise. + * sysdeps/stub/start.c: Likewise. + + * sysdeps/unix/make_errlist.c: In produced program, test + HAVE_WEAK_SYMBOLS instead of HAVE_GNU_LD. + * sysdeps/unix/sysv/sysv4/dup2.c: Fix #include of renamed file. + Remove extra weak alias. + + * sysdeps/unix/sysv/sysv4/sigaltstack.S: Fix unsquashed file name + in #include. + + * libc-symbols.h: Put comment around ^L to pacify Solaris as. + + * sysdeps/posix/Makefile (cded-objdir-includes): New variable + replaced cded-objdir-CPPFLAGS; transform $(+includes) instead of + $(CPPFLAGS). + (mk-stdiolim): Use it instead. + Fri Feb 17 12:16:27 1995 Roland McGrath + * mach/mach_init.c (__vm_page_size): Make it initialized. It does + not work to make a weak alias to a bss symbol. + + * stdio/Makefile (distribute): Remove mpn-copy.mk; add gen-mpn-copy. + (tests): Add test-fwrite. + * stdio/test-fwrite.c: New file. + + * stdlib/stdlib.h [__USE_GNU]: Declare strtof, strtold, __strtof, + __strtold. + + * Makefile (autoconf-it): New canned sequence. Do cvs commit if + there is a CVS directory. + (configure, %/configure): Use $(autoconf-it) for cmds. + * Make-dist: Likewise. * sysdeps/mach/hurd/Makefile (errlist.c, errnos.h): Do cvs commit if there is a CVS directory. * sysdeps/sparc/Makefile (divrem output): Likewise. * sysdeps/alpha/Makefile (divrem output): Likewise. + * Makerules ($(gpl2lgpl)): Likewise. * Makerules (rule to install lib%.a from $(install-lib)): Fix patsubst to elide ranlib for $(non-lib.a). @@ -189,8 +230,7 @@ Tue Feb 7 12:17:58 1995 Roland McGrath * mach/mig_strncpy.c: Include string.h. * sysdeps/mach/sysdep.h: Don't #include . Its - inlines cause trouble for files defining global register - variables. + inlines cause trouble for files defining global register variables. * stdio/vfprintf.c: Use _strerror_internal for %m. @@ -323,8 +363,7 @@ Thu Feb 2 20:06:45 1995 Roland McGrath * io/ftw.c (ftw, ftw_dir): Treat ENOENT from stat like EACCES. - * stdio/vfprintf.c: Set PREC to zero for %. without following - digit. + * stdio/vfprintf.c: Set PREC to zero for %. without following digit. Tue Jan 31 13:49:57 1995 Roland McGrath diff --git a/libc-symbols.h b/libc-symbols.h index d1d9fe4..b41c956 100644 --- a/libc-symbols.h +++ b/libc-symbols.h @@ -128,7 +128,11 @@ Cambridge, MA 02139, USA. */ /* A canned warning for sysdeps/stub functions. */ #define stub_warning(name) \ link_warning ("warning: " #name " is not implemented and will always fail") + +/* +*/ + #ifdef HAVE_GNU_LD /* Symbol set support macros. */ diff --git a/posix/Makefile b/posix/Makefile index b6851b9..ae4c1a5 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -43,7 +43,7 @@ routines := \ glob fnmatch \ confstr \ getopt getopt1 -aux := init-posix +aux := init-posix environ tests := tstgetopt testfnm others := getconf install-bin := getconf diff --git a/posix/environ.c b/posix/environ.c new file mode 100644 index 0000000..3eee48e --- /dev/null +++ b/posix/environ.c @@ -0,0 +1,8 @@ +/* This file just defines the `__environ' variable (and alias `environ'). */ + +#include +#include + +/* This must be initialized; we cannot have a weak alias into bss. */ +char **__environ = NULL; +weak_alias (__environ, environ) diff --git a/stdio/.cvsignore b/stdio/.cvsignore index 1f69fd9..fd9dc4e 100644 --- a/stdio/.cvsignore +++ b/stdio/.cvsignore @@ -2,3 +2,5 @@ =* TODO COPYING* AUTHORS copyr-* copying.* glibc-* + +mpn-copy.mk diff --git a/sysdeps/mach/hurd/start.c b/sysdeps/mach/hurd/start.c index 91be7ea..10d6e72 100644 --- a/sysdeps/mach/hurd/start.c +++ b/sysdeps/mach/hurd/start.c @@ -46,9 +46,6 @@ unsigned long int *__hurd_sigthread_variables; vm_address_t _hurd_stack_base; vm_size_t _hurd_stack_size; -char **__environ; -weak_alias (__environ, environ) - /* Things that want to be run before _hurd_init or much anything else. Importantly, these are called before anything tries to use malloc. */ DEFINE_HOOK (_hurd_preinit_hook, (void)); diff --git a/sysdeps/mach/start.c b/sysdeps/mach/start.c index 26abc23..c2ea3e3 100644 --- a/sysdeps/mach/start.c +++ b/sysdeps/mach/start.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1993, 1994, 1995 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 @@ -31,11 +31,6 @@ int __data_start = 0; volatile int errno; -#ifndef HAVE_GNU_LD -#define __environ environ -#endif -char **__environ; - extern void __mach_init (void); extern void __libc_init (int argc, char **argv, char **envp); extern int main (int argc, char **argv, char **envp); diff --git a/sysdeps/stub/start.c b/sysdeps/stub/start.c index b8bb04b..9d41201 100644 --- a/sysdeps/stub/start.c +++ b/sysdeps/stub/start.c @@ -6,11 +6,10 @@ This file should be prepared to be the first thing in the text section (on Unix systems), or otherwise appropriately special. */ -volatile int errno; - -#ifndef HAVE_GNU_LD -#undef environ -#define __environ environ +/* The first piece of initialized data. */ +int __data_start = 0; +#ifdef HAVE_WEAK_SYMBOLS +weak_alias (__data_start, data_start) #endif -char **__environ; +volatile int errno; diff --git a/sysdeps/unix/make_errlist.c b/sysdeps/unix/make_errlist.c index 40b4f82..705dcfe 100644 --- a/sysdeps/unix/make_errlist.c +++ b/sysdeps/unix/make_errlist.c @@ -31,7 +31,7 @@ main () puts ("#include \"ansidecl.h\"\n#include \n"); puts ("\n/* This is a list of all known `errno' codes. */\n"); - puts ("#ifndef HAVE_GNU_LD"); + puts ("#ifndef HAVE_WEAK_SYMBOLS"); puts ("#define _sys_nerr\tsys_nerr"); puts ("#define _sys_errlist\tsys_errlist"); puts ("#endif"); diff --git a/sysdeps/unix/sparc/start.c b/sysdeps/unix/sparc/start.c index e0f39f5..f8567d2 100644 --- a/sysdeps/unix/sparc/start.c +++ b/sysdeps/unix/sparc/start.c @@ -42,15 +42,6 @@ weak_alias (__data_start, data_start) VOLATILE int errno; -#ifdef HAVE_WEAK_SYMBOLS -weak_alias (__environ, environ) -#else -#undef environ -#define __environ environ -#endif - -char **__environ; - extern void EXFUN(__libc_init, (int argc, char **argv, char **envp)); extern int EXFUN(main, (int argc, char **argv, char **envp)); diff --git a/sysdeps/unix/start.c b/sysdeps/unix/start.c index da7ec71..feb5f44 100644 --- a/sysdeps/unix/start.c +++ b/sysdeps/unix/start.c @@ -37,15 +37,11 @@ weak_alias (__data_start, data_start) VOLATILE int errno; -#ifdef HAVE_WEAK_SYMBOLS -weak_alias (__environ, environ) -#else +#ifndef HAVE_WEAK_SYMBOLS #undef environ #define __environ environ #endif -char **__environ; - extern void EXFUN(__libc_init, (int argc, char **argv, char **envp)); extern int EXFUN(main, (int argc, char **argv, char **envp)); diff --git a/sysdeps/unix/sysv/irix4/start.c b/sysdeps/unix/sysv/irix4/start.c index 4382e6f..cd86f85 100644 --- a/sysdeps/unix/sysv/irix4/start.c +++ b/sysdeps/unix/sysv/irix4/start.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1995 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 @@ -30,13 +30,6 @@ int __data_start = 0; VOLATILE int errno = 0; -#ifndef HAVE_GNU_LD -#undef environ -#define __environ environ -#endif - -char **__environ; - extern void EXFUN(__libc_init, (int argc, char **argv, char **envp)); extern int EXFUN(main, (int argc, char **argv, char **envp)); diff --git a/sysdeps/unix/sysv/sysv4/dup2.c b/sysdeps/unix/sysv/sysv4/dup2.c index c7015fc..7d36e0e 100644 --- a/sysdeps/unix/sysv/sysv4/dup2.c +++ b/sysdeps/unix/sysv/sysv4/dup2.c @@ -1,4 +1,2 @@ /* SVR4 uses the POSIX dup2. */ -#include - -weak_alias (__dup2, dup2) +#include diff --git a/sysdeps/unix/sysv/sysv4/sigaltstack.S b/sysdeps/unix/sysv/sysv4/sigaltstack.S index e7e4060..f7cf0d5 100644 --- a/sysdeps/unix/sysv/sysv4/sigaltstack.S +++ b/sysdeps/unix/sysv/sysv4/sigaltstack.S @@ -1,2 +1,2 @@ /* SVR4 uses the BSD 4.4 sigaltstack syscall. */ -#include +#include -- cgit v1.1