various little patches

This commit is contained in:
David MacKenzie 1995-03-07 00:19:27 +00:00
parent 52521243f1
commit 0f53fcad1b
9 changed files with 138 additions and 121 deletions

View File

@ -90,15 +90,16 @@ all: ${SCRIPTS}
info: autoconf.info @standards_info@ INSTALL
# Use --no-split to avoid creating filenames > 14 chars.
autoconf.info: autoconf.texi install.texi
$(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --output=$@
$(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@
INSTALL: install.texi
$(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \
--no-headers --no-validate
standards.info: standards.texi make-stds.texi
$(MAKEINFO) -I$(srcdir) $(srcdir)/standards.texi --output=$@
$(MAKEINFO) -I$(srcdir) $(srcdir)/standards.texi --no-split --output=$@
dvi: autoconf.dvi @standards_dvi@
@ -142,15 +143,17 @@ install: all $(M4FILES) acconfig.h installdirs install-info
done; \
else :; fi
# Don't cd, to avoid breaking install-sh references.
install-info: info installdirs
-test -f autoconf.info || cd $(srcdir); \
for i in autoconf.info*; do \
$(INSTALL_DATA) $$i $(infodir)/$$i; \
done
-test -f standards.info || cd $(srcdir); \
for i in standards.info*; do \
$(INSTALL_DATA) $$i $(infodir)/$$i; \
done
if test -f autoconf.info; then \
for i in *.info*; do \
$(INSTALL_DATA) $$i $(infodir)/$$i; \
done; \
else \
for i in $(srcdir)/*.info*; do \
$(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
done; \
fi
uninstall:
for p in $(SCRIPTS); do \

9
TODO
View File

@ -300,9 +300,8 @@ The problem occurs with the following libc functions in SunOS 5.4:
It also occurs with a bunch more libposix4 functions that most people
probably aren't worried about yet, e.g. shm_open.
All of these functions fail with errno set to 59. errno 59 is not
documented and is not in /usr/include/sys/errno.h, but perror claims
that it means ``Operation not applicable''.
All these functions fail with errno set to ENOSYS (89)
``Operation not applicable''.
Perhaps autoconf should have a
specific macro for fnmatch, another for glob+globfree, another for
@ -315,6 +314,10 @@ From Paul Eggert.
------------------------------------------------------------------------------
Make easy macros for checking for X functions and libraries.
------------------------------------------------------------------------------
* Test suite: more things to test:
** That the shell scripts produce correct output on some simple data.
** Configuration header files. That autoheader does the right thing,

View File

@ -51,7 +51,7 @@ dnl
divert(-1)dnl Throw away output until AC_INIT is called.
changequote([, ])
define(AC_ACVERSION, 2.1.2)
define(AC_ACVERSION, 2.1.3)
dnl Some old m4's don't support m4exit. But they provide
dnl equivalent functionality by core dumping because of the
@ -889,9 +889,7 @@ fi
dnl AC_CACHE_SAVE()
define(AC_CACHE_SAVE,
[if test -w $cache_file; then
echo "updating cache $cache_file"
cat > $cache_file <<\EOF
[cat > $cache_file.$$ <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
@ -913,11 +911,19 @@ dnl Allow a site initialization script to override cache values.
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
>> $cache_file
>> $cache_file.$$
changequote([, ])dnl
if cmp -s $cache_file $cache_file.$$; then
:
else
echo "not updating unwritable cache $cache_file"
if test -w $cache_file; then
echo "updating cache $cache_file"
cat $cache_file.$$ > $cache_file
else
echo "not updating unwritable cache $cache_file"
fi
fi
rm -f $cache_file.$$
])
dnl The name of shell var CACHE-ID must contain `_cv_' in order to get saved.
@ -1471,9 +1477,12 @@ AC_DEFUN(AC_CHECK_FUNC,
[AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(ac_cv_func_$1,
[AC_TRY_LINK(
[/* This header should be one that does not declare any functions.
Such declarations can conflict with char $1(); below. */
#include <errno.h> /* Arbitrary system header to define __stub macros. */
dnl Don't include <ctype.h> because on OSF/1 3.0 it includes <sys/types.h>
dnl which includes <sys/select.h> which contains a prototype for
dnl select. Similarly for bzero.
[/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $1(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
extern "C"

View File

@ -400,6 +400,9 @@ AC_CACHE_VAL(ac_cv_path_install,
done
IFS="$ac_save_ifs"
# As a last resort, use the slow shell script.
dnl FIXME We probably shouldn't cache a path within a source directory,
dnl because that will break other packages using the cache if
dnl that directory is removed.
test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh"])dnl
INSTALL="$ac_cv_path_install"
fi
@ -925,19 +928,17 @@ AC_DEFUN(AC_FUNC_VFORK,
AC_CHECK_HEADER(vfork.h, AC_DEFINE(HAVE_VFORK_H))
AC_MSG_CHECKING(for working vfork)
AC_CACHE_VAL(ac_cv_func_vfork,
[AC_REQUIRE([AC_TYPE_SIGNAL])
AC_TRY_RUN([/* Thanks to Paul Eggert for this test. */
[AC_TRY_RUN([/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <signal.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_VFORK_H
#include <vfork.h>
#endif
/* On sparc systems, changes by the child to local and incoming
/* On some sparc systems, changes by the child to local and incoming
argument registers are propagated back to the parent.
The compiler is told about this with #include <vfork.h>,
but some compilers (e.g. gcc -O) don't grok <vfork.h>.
@ -962,16 +963,12 @@ sparc_address_test (arg) int arg;
}
}
}
static int signalled;
static RETSIGTYPE catch (s) int s; { signalled = 1; }
main() {
pid_t parent = getpid ();
pid_t child;
sparc_address_test ();
signal (SIGINT, catch);
child = vfork ();
if (child == 0) {
@ -979,7 +976,7 @@ main() {
This test uses lots of local variables, at least
as many local variables as main has allocated so far
including compiler temporaries. 4 locals are enough for
gcc 1.40.3 on a sparc, but we use 8 to be safe.
gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe.
A buggy compiler should reuse the register of parent
for one of the local variables, since it will think that
parent can't possibly be used any more in this routine.
@ -994,12 +991,6 @@ main() {
|| p != p5 || p != p6 || p != p7)
_exit(1);
/* On some systems (e.g. SunOS 5.2), if the parent is catching
a signal, the child ignores the signal before execing,
and the parent later receives that signal, the parent dumps core.
Test for this by ignoring SIGINT in the child. */
signal (SIGINT, SIG_IGN);
/* On some systems (e.g. IRIX 3.3),
vfork doesn't separate parent from child file descriptors.
If the child closes a descriptor before it execs or exits,
@ -1022,10 +1013,6 @@ main() {
/* Did the vfork/compiler bug occur? */
|| parent != getpid()
/* Did the signal handling bug occur? */
|| kill(parent, SIGINT) != 0
|| signalled != 1
/* Did the file descriptor bug occur? */
|| fstat(fileno(stdout), &st) != 0
);

View File

@ -6,9 +6,9 @@
@c @setchapternewpage odd
@c %**end of header
@set EDITION 2.1.2
@set VERSION 2.1.2
@set UPDATED February 1995
@set EDITION 2.1.3
@set VERSION 2.1.3
@set UPDATED March 1995
@iftex
@finalout
@ -240,7 +240,7 @@ Site Configuration
Transforming Program Names When Installing
* Transformation Options:: @code{configure} options to transforme names.
* Transformation Options:: @code{configure} options to transform names.
* Transformation Examples:: Sample uses of transforming names.
* Transformation Rules:: @file{Makefile} uses of transforming names.
@ -1040,7 +1040,8 @@ recompilation. You should include the file @file{stamp-h.in} your
package's distribution, so @code{make} will consider @file{config.h.in}
up to date. On some old BSD systems, @code{touch} or any command that
results in an empty file does not update the timestamps, so use a
command like @code{date} as a workaround.
command like @code{echo} as a workaround.
@c Using @code{date} would cause needless CVS conflicts.
@example
@group
@ -1052,7 +1053,7 @@ $@{srcdir@}/config.h.in: stamp-h.in
$@{srcdir@}/stamp-h.in: configure.in aclocal.m4 acconfig.h \
config.h.top config.h.bot
cd $@{srcdir@} && autoheader
date > $@{srcdir@}/stamp-h.in
echo timestamp > $@{srcdir@}/stamp-h.in
config.h: stamp-h
stamp-h: config.h.in config.status
@ -1066,10 +1067,10 @@ config.status: configure
@end group
@end example
In addition, you should pass @samp{date > stamp-h} in the @var{extra-cmds}
argument to @code{AC_OUTPUT}, so @file{config.status} will ensure that
@file{config.h} is considered up to date. @xref{Output}, for more
information about @code{AC_OUTPUT}.
In addition, you should pass @samp{echo timestamp > stamp-h} in the
@var{extra-cmds} argument to @code{AC_OUTPUT}, so @file{config.status}
will ensure that @file{config.h} is considered up to date.
@xref{Output}, for more information about @code{AC_OUTPUT}.
@xref{Invoking config.status}, for more examples of handling
configuration-related dependencies.
@ -1873,7 +1874,9 @@ If @file{vfork.h} is found, define @code{HAVE_VFORK_H}. If a working
@code{vfork} is not found, define @code{vfork} to be @code{fork}. This
macro checks for several known errors in implementations of @code{vfork}
and considers the system to not have a working @code{vfork} if it
detects any of them.
detects any of them. It is not considered to be an implementation error
if a child's invocation of @code{signal} modifies the parent's signal
handler, since child processes rarely change their signal handlers.
@end defmac
@defmac AC_FUNC_VPRINTF
@ -2517,16 +2520,21 @@ otherwise set it to the empty string.
@ovindex X_LIBS
@ovindex X_EXTRA_LIBS
@ovindex X_PRE_LIBS
An enhanced version of @code{AC_PATH_X}. Add the C compiler flags that
An enhanced version of @code{AC_PATH_X}. It adds the C compiler flags that
X needs to output variable @code{X_CFLAGS}, and the X linker flags to
@code{X_LIBS}. If X is not available, add @samp{-DX_DISPLAY_MISSING} to
@code{X_LIBS}. If X is not available, adds @samp{-DX_DISPLAY_MISSING} to
@code{X_CFLAGS}.
Also check for special libraries that some systems need in order to
compile X programs. Add any that the system needs to output variable
@code{X_EXTRA_LIBS}. And check for special X11R6 libraries that need to
be linked with before @samp{-lX11}, and add any found to the output
variable @code{X_PRE_LIBS}.
This macro also checks for special libraries that some systems need in
order to compile X programs. It adds any that the system needs to
output variable @code{X_EXTRA_LIBS}. And it checks for special X11R6
libraries that need to be linked with before @samp{-lX11}, and adds any
found to the output variable @code{X_PRE_LIBS}.
@c This is an incomplete kludge. Make a real way to do it.
@c If you need to check for other X functions or libraries yourself, then
@c after calling this macro, add the contents of @code{X_EXTRA_LIBS} to
@c @code{LIBS} temporarily, like this:
@end defmac
@defmac AC_SYS_LONG_FILE_NAMES
@ -4044,7 +4052,7 @@ is used as a prefix. Otherwise, no program name transformation is done.
@end defmac
@menu
* Transformation Options:: @code{configure} options to transforme names.
* Transformation Options:: @code{configure} options to transform names.
* Transformation Examples:: Sample uses of transforming names.
* Transformation Rules:: @file{Makefile} uses of transforming names.
@end menu
@ -4456,7 +4464,7 @@ might wrongly assume that all source files are in one big directory
tree, or the Imake configuration might assume one compiler whereas the
package or the installer needs to use another, or there might be a
version mismatch between the Imake expected by the package and the Imake
suported by the host. These problems are much rarer with Autoconf,
supported by the host. These problems are much rarer with Autoconf,
where each package comes with its own independent configuration
processor.
@ -4524,7 +4532,7 @@ in a particular package's source directory), you must rename it to
@file{acsite.m4}. @xref{Invoking autoconf}.
If you distribute @file{install.sh} with your package, rename it to
@file{install-sh} so @code{make} builtin rules won't inadvertantly
@file{install-sh} so @code{make} builtin rules won't inadvertently
create a file called @file{install} from it. @code{AC_PROG_INSTALL}
looks for the script under both names, but it is best to use the new name.

View File

@ -90,15 +90,16 @@ all: ${SCRIPTS}
info: autoconf.info @standards_info@ INSTALL
# Use --no-split to avoid creating filenames > 14 chars.
autoconf.info: autoconf.texi install.texi
$(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --output=$@
$(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@
INSTALL: install.texi
$(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \
--no-headers --no-validate
standards.info: standards.texi make-stds.texi
$(MAKEINFO) -I$(srcdir) $(srcdir)/standards.texi --output=$@
$(MAKEINFO) -I$(srcdir) $(srcdir)/standards.texi --no-split --output=$@
dvi: autoconf.dvi @standards_dvi@
@ -142,15 +143,17 @@ install: all $(M4FILES) acconfig.h installdirs install-info
done; \
else :; fi
# Don't cd, to avoid breaking install-sh references.
install-info: info installdirs
-test -f autoconf.info || cd $(srcdir); \
for i in autoconf.info*; do \
$(INSTALL_DATA) $$i $(infodir)/$$i; \
done
-test -f standards.info || cd $(srcdir); \
for i in standards.info*; do \
$(INSTALL_DATA) $$i $(infodir)/$$i; \
done
if test -f autoconf.info; then \
for i in *.info*; do \
$(INSTALL_DATA) $$i $(infodir)/$$i; \
done; \
else \
for i in $(srcdir)/*.info*; do \
$(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
done; \
fi
uninstall:
for p in $(SCRIPTS); do \

View File

@ -6,9 +6,9 @@
@c @setchapternewpage odd
@c %**end of header
@set EDITION 2.1.2
@set VERSION 2.1.2
@set UPDATED February 1995
@set EDITION 2.1.3
@set VERSION 2.1.3
@set UPDATED March 1995
@iftex
@finalout
@ -240,7 +240,7 @@ Site Configuration
Transforming Program Names When Installing
* Transformation Options:: @code{configure} options to transforme names.
* Transformation Options:: @code{configure} options to transform names.
* Transformation Examples:: Sample uses of transforming names.
* Transformation Rules:: @file{Makefile} uses of transforming names.
@ -1040,7 +1040,8 @@ recompilation. You should include the file @file{stamp-h.in} your
package's distribution, so @code{make} will consider @file{config.h.in}
up to date. On some old BSD systems, @code{touch} or any command that
results in an empty file does not update the timestamps, so use a
command like @code{date} as a workaround.
command like @code{echo} as a workaround.
@c Using @code{date} would cause needless CVS conflicts.
@example
@group
@ -1052,7 +1053,7 @@ $@{srcdir@}/config.h.in: stamp-h.in
$@{srcdir@}/stamp-h.in: configure.in aclocal.m4 acconfig.h \
config.h.top config.h.bot
cd $@{srcdir@} && autoheader
date > $@{srcdir@}/stamp-h.in
echo timestamp > $@{srcdir@}/stamp-h.in
config.h: stamp-h
stamp-h: config.h.in config.status
@ -1066,10 +1067,10 @@ config.status: configure
@end group
@end example
In addition, you should pass @samp{date > stamp-h} in the @var{extra-cmds}
argument to @code{AC_OUTPUT}, so @file{config.status} will ensure that
@file{config.h} is considered up to date. @xref{Output}, for more
information about @code{AC_OUTPUT}.
In addition, you should pass @samp{echo timestamp > stamp-h} in the
@var{extra-cmds} argument to @code{AC_OUTPUT}, so @file{config.status}
will ensure that @file{config.h} is considered up to date.
@xref{Output}, for more information about @code{AC_OUTPUT}.
@xref{Invoking config.status}, for more examples of handling
configuration-related dependencies.
@ -1873,7 +1874,9 @@ If @file{vfork.h} is found, define @code{HAVE_VFORK_H}. If a working
@code{vfork} is not found, define @code{vfork} to be @code{fork}. This
macro checks for several known errors in implementations of @code{vfork}
and considers the system to not have a working @code{vfork} if it
detects any of them.
detects any of them. It is not considered to be an implementation error
if a child's invocation of @code{signal} modifies the parent's signal
handler, since child processes rarely change their signal handlers.
@end defmac
@defmac AC_FUNC_VPRINTF
@ -2517,16 +2520,21 @@ otherwise set it to the empty string.
@ovindex X_LIBS
@ovindex X_EXTRA_LIBS
@ovindex X_PRE_LIBS
An enhanced version of @code{AC_PATH_X}. Add the C compiler flags that
An enhanced version of @code{AC_PATH_X}. It adds the C compiler flags that
X needs to output variable @code{X_CFLAGS}, and the X linker flags to
@code{X_LIBS}. If X is not available, add @samp{-DX_DISPLAY_MISSING} to
@code{X_LIBS}. If X is not available, adds @samp{-DX_DISPLAY_MISSING} to
@code{X_CFLAGS}.
Also check for special libraries that some systems need in order to
compile X programs. Add any that the system needs to output variable
@code{X_EXTRA_LIBS}. And check for special X11R6 libraries that need to
be linked with before @samp{-lX11}, and add any found to the output
variable @code{X_PRE_LIBS}.
This macro also checks for special libraries that some systems need in
order to compile X programs. It adds any that the system needs to
output variable @code{X_EXTRA_LIBS}. And it checks for special X11R6
libraries that need to be linked with before @samp{-lX11}, and adds any
found to the output variable @code{X_PRE_LIBS}.
@c This is an incomplete kludge. Make a real way to do it.
@c If you need to check for other X functions or libraries yourself, then
@c after calling this macro, add the contents of @code{X_EXTRA_LIBS} to
@c @code{LIBS} temporarily, like this:
@end defmac
@defmac AC_SYS_LONG_FILE_NAMES
@ -4044,7 +4052,7 @@ is used as a prefix. Otherwise, no program name transformation is done.
@end defmac
@menu
* Transformation Options:: @code{configure} options to transforme names.
* Transformation Options:: @code{configure} options to transform names.
* Transformation Examples:: Sample uses of transforming names.
* Transformation Rules:: @file{Makefile} uses of transforming names.
@end menu
@ -4456,7 +4464,7 @@ might wrongly assume that all source files are in one big directory
tree, or the Imake configuration might assume one compiler whereas the
package or the installer needs to use another, or there might be a
version mismatch between the Imake expected by the package and the Imake
suported by the host. These problems are much rarer with Autoconf,
supported by the host. These problems are much rarer with Autoconf,
where each package comes with its own independent configuration
processor.
@ -4524,7 +4532,7 @@ in a particular package's source directory), you must rename it to
@file{acsite.m4}. @xref{Invoking autoconf}.
If you distribute @file{install.sh} with your package, rename it to
@file{install-sh} so @code{make} builtin rules won't inadvertantly
@file{install-sh} so @code{make} builtin rules won't inadvertently
create a file called @file{install} from it. @code{AC_PROG_INSTALL}
looks for the script under both names, but it is best to use the new name.

View File

@ -51,7 +51,7 @@ dnl
divert(-1)dnl Throw away output until AC_INIT is called.
changequote([, ])
define(AC_ACVERSION, 2.1.2)
define(AC_ACVERSION, 2.1.3)
dnl Some old m4's don't support m4exit. But they provide
dnl equivalent functionality by core dumping because of the
@ -889,9 +889,7 @@ fi
dnl AC_CACHE_SAVE()
define(AC_CACHE_SAVE,
[if test -w $cache_file; then
echo "updating cache $cache_file"
cat > $cache_file <<\EOF
[cat > $cache_file.$$ <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs. It is not useful on other systems.
@ -913,11 +911,19 @@ dnl Allow a site initialization script to override cache values.
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
>> $cache_file
>> $cache_file.$$
changequote([, ])dnl
if cmp -s $cache_file $cache_file.$$; then
:
else
echo "not updating unwritable cache $cache_file"
if test -w $cache_file; then
echo "updating cache $cache_file"
cat $cache_file.$$ > $cache_file
else
echo "not updating unwritable cache $cache_file"
fi
fi
rm -f $cache_file.$$
])
dnl The name of shell var CACHE-ID must contain `_cv_' in order to get saved.
@ -1471,9 +1477,12 @@ AC_DEFUN(AC_CHECK_FUNC,
[AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(ac_cv_func_$1,
[AC_TRY_LINK(
[/* This header should be one that does not declare any functions.
Such declarations can conflict with char $1(); below. */
#include <errno.h> /* Arbitrary system header to define __stub macros. */
dnl Don't include <ctype.h> because on OSF/1 3.0 it includes <sys/types.h>
dnl which includes <sys/select.h> which contains a prototype for
dnl select. Similarly for bzero.
[/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $1(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
extern "C"

View File

@ -400,6 +400,9 @@ AC_CACHE_VAL(ac_cv_path_install,
done
IFS="$ac_save_ifs"
# As a last resort, use the slow shell script.
dnl FIXME We probably shouldn't cache a path within a source directory,
dnl because that will break other packages using the cache if
dnl that directory is removed.
test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh"])dnl
INSTALL="$ac_cv_path_install"
fi
@ -925,19 +928,17 @@ AC_DEFUN(AC_FUNC_VFORK,
AC_CHECK_HEADER(vfork.h, AC_DEFINE(HAVE_VFORK_H))
AC_MSG_CHECKING(for working vfork)
AC_CACHE_VAL(ac_cv_func_vfork,
[AC_REQUIRE([AC_TYPE_SIGNAL])
AC_TRY_RUN([/* Thanks to Paul Eggert for this test. */
[AC_TRY_RUN([/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <signal.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_VFORK_H
#include <vfork.h>
#endif
/* On sparc systems, changes by the child to local and incoming
/* On some sparc systems, changes by the child to local and incoming
argument registers are propagated back to the parent.
The compiler is told about this with #include <vfork.h>,
but some compilers (e.g. gcc -O) don't grok <vfork.h>.
@ -962,16 +963,12 @@ sparc_address_test (arg) int arg;
}
}
}
static int signalled;
static RETSIGTYPE catch (s) int s; { signalled = 1; }
main() {
pid_t parent = getpid ();
pid_t child;
sparc_address_test ();
signal (SIGINT, catch);
child = vfork ();
if (child == 0) {
@ -979,7 +976,7 @@ main() {
This test uses lots of local variables, at least
as many local variables as main has allocated so far
including compiler temporaries. 4 locals are enough for
gcc 1.40.3 on a sparc, but we use 8 to be safe.
gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe.
A buggy compiler should reuse the register of parent
for one of the local variables, since it will think that
parent can't possibly be used any more in this routine.
@ -994,12 +991,6 @@ main() {
|| p != p5 || p != p6 || p != p7)
_exit(1);
/* On some systems (e.g. SunOS 5.2), if the parent is catching
a signal, the child ignores the signal before execing,
and the parent later receives that signal, the parent dumps core.
Test for this by ignoring SIGINT in the child. */
signal (SIGINT, SIG_IGN);
/* On some systems (e.g. IRIX 3.3),
vfork doesn't separate parent from child file descriptors.
If the child closes a descriptor before it execs or exits,
@ -1022,10 +1013,6 @@ main() {
/* Did the vfork/compiler bug occur? */
|| parent != getpid()
/* Did the signal handling bug occur? */
|| kill(parent, SIGINT) != 0
|| signalled != 1
/* Did the file descriptor bug occur? */
|| fstat(fileno(stdout), &st) != 0
);