Sun Feb 19 17:46:13 1995 Roland McGrath <roland@duality.gnu.ai.mit.edu>

* 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.
This commit is contained in:
Roland McGrath 1995-02-20 01:08:14 +00:00
parent 50de467103
commit 5f9e57babe
14 changed files with 69 additions and 47 deletions

View File

@ -1,9 +1,50 @@
Sun Feb 19 17:46:13 1995 Roland McGrath <roland@duality.gnu.ai.mit.edu>
* 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 <roland@duality.gnu.ai.mit.edu> Fri Feb 17 12:16:27 1995 Roland McGrath <roland@duality.gnu.ai.mit.edu>
* 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 * sysdeps/mach/hurd/Makefile (errlist.c, errnos.h): Do cvs commit
if there is a CVS directory. if there is a CVS directory.
* sysdeps/sparc/Makefile (divrem output): Likewise. * sysdeps/sparc/Makefile (divrem output): Likewise.
* sysdeps/alpha/Makefile (divrem output): Likewise. * sysdeps/alpha/Makefile (divrem output): Likewise.
* Makerules ($(gpl2lgpl)): Likewise.
* Makerules (rule to install lib%.a from $(install-lib)): Fix * Makerules (rule to install lib%.a from $(install-lib)): Fix
patsubst to elide ranlib for $(non-lib.a). patsubst to elide ranlib for $(non-lib.a).
@ -189,8 +230,7 @@ Tue Feb 7 12:17:58 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* mach/mig_strncpy.c: Include string.h. * mach/mig_strncpy.c: Include string.h.
* sysdeps/mach/sysdep.h: Don't #include <mach/mig_support.h>. Its * sysdeps/mach/sysdep.h: Don't #include <mach/mig_support.h>. Its
inlines cause trouble for files defining global register inlines cause trouble for files defining global register variables.
variables.
* stdio/vfprintf.c: Use _strerror_internal for %m. * stdio/vfprintf.c: Use _strerror_internal for %m.
@ -323,8 +363,7 @@ Thu Feb 2 20:06:45 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* io/ftw.c (ftw, ftw_dir): Treat ENOENT from stat like EACCES. * io/ftw.c (ftw, ftw_dir): Treat ENOENT from stat like EACCES.
* stdio/vfprintf.c: Set PREC to zero for %. without following * stdio/vfprintf.c: Set PREC to zero for %. without following digit.
digit.
Tue Jan 31 13:49:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> Tue Jan 31 13:49:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>

View File

@ -128,7 +128,11 @@ Cambridge, MA 02139, USA. */
/* A canned warning for sysdeps/stub functions. */ /* A canned warning for sysdeps/stub functions. */
#define stub_warning(name) \ #define stub_warning(name) \
link_warning ("warning: " #name " is not implemented and will always fail") link_warning ("warning: " #name " is not implemented and will always fail")
/*
*/
#ifdef HAVE_GNU_LD #ifdef HAVE_GNU_LD
/* Symbol set support macros. */ /* Symbol set support macros. */

View File

@ -43,7 +43,7 @@ routines := \
glob fnmatch \ glob fnmatch \
confstr \ confstr \
getopt getopt1 getopt getopt1
aux := init-posix aux := init-posix environ
tests := tstgetopt testfnm tests := tstgetopt testfnm
others := getconf others := getconf
install-bin := getconf install-bin := getconf

8
posix/environ.c Normal file
View File

@ -0,0 +1,8 @@
/* This file just defines the `__environ' variable (and alias `environ'). */
#include <unistd.h>
#include <stddef.h>
/* This must be initialized; we cannot have a weak alias into bss. */
char **__environ = NULL;
weak_alias (__environ, environ)

View File

@ -2,3 +2,5 @@
=* =*
TODO COPYING* AUTHORS copyr-* copying.* TODO COPYING* AUTHORS copyr-* copying.*
glibc-* glibc-*
mpn-copy.mk

View File

@ -46,9 +46,6 @@ unsigned long int *__hurd_sigthread_variables;
vm_address_t _hurd_stack_base; vm_address_t _hurd_stack_base;
vm_size_t _hurd_stack_size; 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. /* Things that want to be run before _hurd_init or much anything else.
Importantly, these are called before anything tries to use malloc. */ Importantly, these are called before anything tries to use malloc. */
DEFINE_HOOK (_hurd_preinit_hook, (void)); DEFINE_HOOK (_hurd_preinit_hook, (void));

View File

@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -31,11 +31,6 @@ int __data_start = 0;
volatile int errno; volatile int errno;
#ifndef HAVE_GNU_LD
#define __environ environ
#endif
char **__environ;
extern void __mach_init (void); extern void __mach_init (void);
extern void __libc_init (int argc, char **argv, char **envp); extern void __libc_init (int argc, char **argv, char **envp);
extern int main (int argc, char **argv, char **envp); extern int main (int argc, char **argv, char **envp);

View File

@ -6,11 +6,10 @@
This file should be prepared to be the first thing in the text section (on This file should be prepared to be the first thing in the text section (on
Unix systems), or otherwise appropriately special. */ Unix systems), or otherwise appropriately special. */
volatile int errno; /* The first piece of initialized data. */
int __data_start = 0;
#ifndef HAVE_GNU_LD #ifdef HAVE_WEAK_SYMBOLS
#undef environ weak_alias (__data_start, data_start)
#define __environ environ
#endif #endif
char **__environ; volatile int errno;

View File

@ -31,7 +31,7 @@ main ()
puts ("#include \"ansidecl.h\"\n#include <stddef.h>\n"); puts ("#include \"ansidecl.h\"\n#include <stddef.h>\n");
puts ("\n/* This is a list of all known `errno' codes. */\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_nerr\tsys_nerr");
puts ("#define _sys_errlist\tsys_errlist"); puts ("#define _sys_errlist\tsys_errlist");
puts ("#endif"); puts ("#endif");

View File

@ -42,15 +42,6 @@ weak_alias (__data_start, data_start)
VOLATILE int errno; 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 void EXFUN(__libc_init, (int argc, char **argv, char **envp));
extern int EXFUN(main, (int argc, char **argv, char **envp)); extern int EXFUN(main, (int argc, char **argv, char **envp));

View File

@ -37,15 +37,11 @@ weak_alias (__data_start, data_start)
VOLATILE int errno; VOLATILE int errno;
#ifdef HAVE_WEAK_SYMBOLS #ifndef HAVE_WEAK_SYMBOLS
weak_alias (__environ, environ)
#else
#undef environ #undef environ
#define __environ environ #define __environ environ
#endif #endif
char **__environ;
extern void EXFUN(__libc_init, (int argc, char **argv, char **envp)); extern void EXFUN(__libc_init, (int argc, char **argv, char **envp));
extern int EXFUN(main, (int argc, char **argv, char **envp)); extern int EXFUN(main, (int argc, char **argv, char **envp));

View File

@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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; 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 void EXFUN(__libc_init, (int argc, char **argv, char **envp));
extern int EXFUN(main, (int argc, char **argv, char **envp)); extern int EXFUN(main, (int argc, char **argv, char **envp));

View File

@ -1,4 +1,2 @@
/* SVR4 uses the POSIX dup2. */ /* SVR4 uses the POSIX dup2. */
#include <sysdeps/posix/__dup2.c> #include <sysdeps/posix/dup2.c>
weak_alias (__dup2, dup2)

View File

@ -1,2 +1,2 @@
/* SVR4 uses the BSD 4.4 sigaltstack syscall. */ /* SVR4 uses the BSD 4.4 sigaltstack syscall. */
#include <sysdeps/unix/bsd/bsd4.4/sigaltstk.S> #include <sysdeps/unix/bsd/bsd4.4/sigaltstack.S>