mirror of git://sourceware.org/git/glibc.git
Mon Jun 10 02:22:24 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/configure.in: New file, start with configure. Add check for installed <linux/version.h> being v2.0 or later. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill): Call __open instead of open. (_dl_sysdep_fatal): Call __write instead of write. (_dl_sysdep_message): Likewise. Sun Jun 9 20:40:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/e_acosl.c: New file. * Makerules (o-objects): New variable. Use it in place of $(objects:.o=$o); it filters out $(elide-routines$o). Use o-iterator for ar and ranlib rules so they use the per-type object list. * sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
This commit is contained in:
parent
6d9756c910
commit
564210fe2f
20
ChangeLog
20
ChangeLog
|
|
@ -1,5 +1,24 @@
|
||||||
|
Mon Jun 10 02:22:24 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/configure.in: New file, start with configure.
|
||||||
|
Add check for installed <linux/version.h> being v2.0 or later.
|
||||||
|
|
||||||
|
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill): Call __open
|
||||||
|
instead of open.
|
||||||
|
(_dl_sysdep_fatal): Call __write instead of write.
|
||||||
|
(_dl_sysdep_message): Likewise.
|
||||||
|
|
||||||
|
Sun Jun 9 20:40:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||||
|
|
||||||
|
* sysdeps/m68k/fpu/e_acosl.c: New file.
|
||||||
|
|
||||||
Sun Jun 9 01:11:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
|
Sun Jun 9 01:11:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
|
||||||
|
|
||||||
|
* Makerules (o-objects): New variable. Use it in place of
|
||||||
|
$(objects:.o=$o); it filters out $(elide-routines$o).
|
||||||
|
Use o-iterator for ar and ranlib rules so they use the per-type object
|
||||||
|
list.
|
||||||
|
|
||||||
* elf/dl-load.c (_dl_map_object_from_fd): Close FD before return.
|
* elf/dl-load.c (_dl_map_object_from_fd): Close FD before return.
|
||||||
|
|
||||||
* sysdeps/mach/mprotect.c: Define with __ name and weak alias.
|
* sysdeps/mach/mprotect.c: Define with __ name and weak alias.
|
||||||
|
|
@ -10,6 +29,7 @@ Sun Jun 9 01:11:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
|
||||||
* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
|
* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
|
||||||
* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
|
* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
|
||||||
* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
|
* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
|
||||||
|
* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
|
||||||
|
|
||||||
* Make-dist ($(tardir).tar): Use sed to check for file names longer
|
* Make-dist ($(tardir).tar): Use sed to check for file names longer
|
||||||
than 14 chars, instead of doschk which checks for other things we
|
than 14 chars, instead of doschk which checks for other things we
|
||||||
|
|
|
||||||
55
Makerules
55
Makerules
|
|
@ -363,9 +363,15 @@ lib: lib-noranlib $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
|
||||||
# Pattern rule for libraries: depend on the __.SYMDEF member updated by ranlib.
|
# Pattern rule for libraries: depend on the __.SYMDEF member updated by ranlib.
|
||||||
lib%.a: lib%.a($(ar-symtab-name)) ;
|
lib%.a: lib%.a($(ar-symtab-name)) ;
|
||||||
|
|
||||||
|
# For object-suffix $o, the list of objects with that suffix.
|
||||||
|
# Makefiles can define `elide-routines.so = foo' to leave foo.so out.
|
||||||
|
o-objects = $(patsubst %.o,%$o,$(filter-out $(patsubst %,$(objpfx)%.o,\
|
||||||
|
$(elide-routines$o)),\
|
||||||
|
$(objects)))
|
||||||
|
|
||||||
libobjs: $(foreach o,$(object-suffixes),\
|
libobjs: $(foreach o,$(object-suffixes),\
|
||||||
$(common-objpfx)$(patsubst %,$(libtype$o),c)(\
|
$(common-objpfx)$(patsubst %,$(libtype$o),c)(\
|
||||||
$(notdir $(objects:.o=$o))))
|
$(notdir $(o-objects))))
|
||||||
lib-noranlib: libobjs
|
lib-noranlib: libobjs
|
||||||
others: $(addprefix $(objpfx),$(install-lib))
|
others: $(addprefix $(objpfx),$(install-lib))
|
||||||
|
|
||||||
|
|
@ -374,28 +380,33 @@ ifdef objects
|
||||||
# Define a pattern rule that will match many targets libc.a(foo.%), for
|
# Define a pattern rule that will match many targets libc.a(foo.%), for
|
||||||
# each foo.o in $(objects) (% will just happen always to match `o'). This is
|
# each foo.o in $(objects) (% will just happen always to match `o'). This is
|
||||||
# the only way to define a rule that updates many targets at once with one
|
# the only way to define a rule that updates many targets at once with one
|
||||||
# sequence of commands. We in fact define the pattern rule to match
|
# sequence of commands.
|
||||||
# targets libc.a(foo.%), libc_pic.a(foo.%), etc, to avoid repeating the rule.
|
define o-iterator-doit
|
||||||
# Each match will only ever be called upon to make member objects of
|
$(common-objpfx)$(patsubst %,$(libtype$o),c)(\
|
||||||
# the appropriate type in each library (i.e. libc_pic.a(foo.so)).
|
$(addsuffix .%,$(filter-out $(elide-routines$o),$(notdir $(objects:.o=))))): \
|
||||||
$(foreach l,$(libtypes),\
|
|
||||||
$(common-objpfx)$(patsubst %,$l,c)($(notdir $(objects:.o=.%)))): \
|
|
||||||
$(objpfx)stamp.%-$(subdir) ;
|
$(objpfx)stamp.%-$(subdir) ;
|
||||||
|
endef
|
||||||
|
object-suffixes-left := $(object-suffixes)
|
||||||
|
include $(o-iterator)
|
||||||
|
|
||||||
# The pattern rule tells Make to remake $(objpfx)stamp.%-$(subdir) as
|
# The pattern rule tells Make to remake $(objpfx)stamp.%-$(subdir) as
|
||||||
# the way to update all the foo.% object files in $(objects).
|
# the way to update all the foo.% object files in $(objects). Now we
|
||||||
# Now we define a static pattern rule to update each
|
# define explicit rules to update each $(objpfx)stamp.SUFFIX-$(subdir)
|
||||||
# $(objpfx)stamp.SUFFIX-$(subdir) timestamp file;
|
# timestamp file; these rules (one explicit rule is generated for each
|
||||||
# these rules (one explicit rule is generated for each object suffix)
|
# object suffix) will update the parent archive with ar. Use a static
|
||||||
# will update the parent archive with
|
# pattern rule so $* is set to the object type during the commands.
|
||||||
$(foreach o,$(object-suffixes),$(objpfx)stamp$o-$(subdir)): \
|
define o-iterator-doit
|
||||||
$(objpfx)stamp%-$(subdir): $(objects:.o=%)
|
$(objpfx)stamp$o-$(subdir): $(objpfx)stamp%-$(subdir): $(o-objects); $$(do-ar)
|
||||||
$(patsubst %,cd %;,$(objdir)) \
|
endef
|
||||||
$(AR) cru$(verbose) ${O%-lib} \
|
object-suffixes-left := $(object-suffixes)
|
||||||
|
include $(o-iterator)
|
||||||
|
define do-ar
|
||||||
|
$(patsubst %,cd %;,$(objdir)) \
|
||||||
|
$(AR) cru$(verbose) ${O%-lib} \
|
||||||
$(patsubst $(objpfx)%,%,$^)
|
$(patsubst $(objpfx)%,%,$^)
|
||||||
# `touch' won't let me touch a world-writable file I don't own. Sigh.
|
rm -f $@
|
||||||
rm -f $@
|
touch $@
|
||||||
touch $@
|
endef
|
||||||
ifdef subdir
|
ifdef subdir
|
||||||
O%-lib = $(filter ../,$(firstword $(objdir) ../))$(patsubst %,$(libtype$*),c)
|
O%-lib = $(filter ../,$(firstword $(objdir) ../))$(patsubst %,$(libtype$*),c)
|
||||||
else
|
else
|
||||||
|
|
@ -409,7 +420,7 @@ endif
|
||||||
define o-iterator-doit
|
define o-iterator-doit
|
||||||
$(common-objpfx)$(patsubst %,$(libtype$o),c)($(ar-symtab-name)): \
|
$(common-objpfx)$(patsubst %,$(libtype$o),c)($(ar-symtab-name)): \
|
||||||
$(common-objpfx)$(patsubst %,$(libtype$o),c)(\
|
$(common-objpfx)$(patsubst %,$(libtype$o),c)(\
|
||||||
$(patsubst $(objpfx)%.o,%$o,$(objects))) \
|
$(patsubst $(objpfx)%,%,$(o-objects))) \
|
||||||
$(filter subdir_lib,$(firstword $(subdir) subdir_lib)); \
|
$(filter subdir_lib,$(firstword $(subdir) subdir_lib)); \
|
||||||
$$(RANLIB) $$(common-objpfx)$$(patsubst %,$$(libtype$o),c)
|
$$(RANLIB) $$(common-objpfx)$$(patsubst %,$$(libtype$o),c)
|
||||||
endef
|
endef
|
||||||
|
|
@ -419,7 +430,7 @@ include $(o-iterator)
|
||||||
|
|
||||||
# This makes all the object files.
|
# This makes all the object files.
|
||||||
.PHONY: objects objs
|
.PHONY: objects objs
|
||||||
objects objs: $(foreach o,$(object-suffixes),$(objects:.o=$o)) \
|
objects objs: $(foreach o,$(object-suffixes),$(o-objects)) \
|
||||||
$(addprefix $(objpfx),$(extra-objs))
|
$(addprefix $(objpfx),$(extra-objs))
|
||||||
|
|
||||||
# Canned sequence for building an extra library archive.
|
# Canned sequence for building an extra library archive.
|
||||||
|
|
@ -748,7 +759,7 @@ common-mostlyclean:
|
||||||
$(rmobjs)
|
$(rmobjs)
|
||||||
define rmobjs
|
define rmobjs
|
||||||
$(foreach o,$(object-suffixes),
|
$(foreach o,$(object-suffixes),
|
||||||
-rm -f $(addprefix $(objpfx),stamp$o-$(subdir)) $(objects:.o=$o))
|
-rm -f $(addprefix $(objpfx),stamp$o-$(subdir)) $(o-objects))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Also remove the dependencies and generated source files.
|
# Also remove the dependencies and generated source files.
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ _dl_sysdep_start_cleanup (void)
|
||||||
int
|
int
|
||||||
_dl_sysdep_open_zero_fill (void)
|
_dl_sysdep_open_zero_fill (void)
|
||||||
{
|
{
|
||||||
return open ("/dev/zero", O_RDONLY);
|
return __open ("/dev/zero", O_RDONLY);
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
@ -123,7 +123,7 @@ _dl_sysdep_fatal (const char *msg, ...)
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
size_t len = strlen (msg);
|
size_t len = strlen (msg);
|
||||||
write (STDERR_FILENO, msg, len);
|
__write (STDERR_FILENO, msg, len);
|
||||||
msg = va_arg (ap, const char *);
|
msg = va_arg (ap, const char *);
|
||||||
} while (msg);
|
} while (msg);
|
||||||
va_end (ap);
|
va_end (ap);
|
||||||
|
|
@ -141,7 +141,7 @@ _dl_sysdep_message (const char *msg, ...)
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
size_t len = strlen (msg);
|
size_t len = strlen (msg);
|
||||||
write (STDOUT_FILENO, msg, len);
|
__write (STDOUT_FILENO, msg, len);
|
||||||
msg = va_arg (ap, const char *);
|
msg = va_arg (ap, const char *);
|
||||||
} while (msg);
|
} while (msg);
|
||||||
va_end (ap);
|
va_end (ap);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
#ifndef FUNC
|
||||||
|
#define FUNC __ieee754_acosl
|
||||||
|
#endif
|
||||||
|
#define float_type long double
|
||||||
|
#include <e_acos.c>
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Definitions for BSD-style memory management. Ultrix 4 version.
|
/* Definitions for BSD-style memory management. Ultrix 4 version.
|
||||||
Copyright (C) 1994, 1995 Free Software Foundation, Inc.
|
Copyright (C) 1994, 1995, 1996 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
|
||||||
|
|
@ -79,6 +79,7 @@ int munmap __P ((__caddr_t __addr, size_t __len));
|
||||||
/* Change the memory protection of the region starting at ADDR and
|
/* Change the memory protection of the region starting at ADDR and
|
||||||
extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
|
extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
|
||||||
(and sets errno). */
|
(and sets errno). */
|
||||||
|
int __mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
|
||||||
int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
|
int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
|
||||||
|
|
||||||
/* Ultrix 4 does not implement `msync' or `madvise'. */
|
/* Ultrix 4 does not implement `msync' or `madvise'. */
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,44 @@
|
||||||
# On Linux, the default is to use libio instead of stdio.
|
# Local configure fragment for sysdeps/unix/sysv/linux.
|
||||||
|
|
||||||
|
# On Linux, the default is to use libio instead of stdio.
|
||||||
test $stdio = default && stdio=libio
|
test $stdio = default && stdio=libio
|
||||||
|
|
||||||
# Don't bother trying to generate any glue code to be compatible with the
|
# Don't bother trying to generate any glue code to be compatible with the
|
||||||
# existing system library, because we are the only system library.
|
# existing system library, because we are the only system library.
|
||||||
inhibit_glue=yes
|
inhibit_glue=yes
|
||||||
|
|
||||||
|
echo $ac_n "checking installed Linux kernel header files""... $ac_c" 1>&6
|
||||||
|
if eval "test \"`echo '$''{'libc_cv_linux2'+set}'`\" = set"; then
|
||||||
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
else
|
||||||
|
cat > conftest.$ac_ext <<EOF
|
||||||
|
#line 16 "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
#include <linux/version.h>
|
||||||
|
int main() { return 0; }
|
||||||
|
int t() {
|
||||||
|
#if LINUX_VERSION_CODE < (2 *65536+ 0 *256+ 0) /* 2.0.0 */
|
||||||
|
eat flaming death
|
||||||
|
#endif
|
||||||
|
; return 0; }
|
||||||
|
EOF
|
||||||
|
if { (eval echo configure:26: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||||
|
rm -rf conftest*
|
||||||
|
libc_cv_linux2='2.0 or later'
|
||||||
|
else
|
||||||
|
rm -rf conftest*
|
||||||
|
libc_cv_linux2='TOO OLD!'
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$ac_t""$libc_cv_linux2" 1>&6
|
||||||
|
if test "$libc_cv_linux2" != '2.0 or later'; then
|
||||||
|
{ echo "configure: error: GNU libc requires kernel header files from Linux 2.0
|
||||||
|
or later to be installed before configuring. The kernel header files
|
||||||
|
are found usually in /usr/include/asm and /usr/include/linux; make sure
|
||||||
|
these directories use files from Linux 2.0 or later. This check uses
|
||||||
|
<linux/version.h>, so make sure that file was built correctly when
|
||||||
|
installing the kernel header files." 1>&2; exit 1; }
|
||||||
|
fi
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
sinclude(./aclocal.m4)dnl Autoconf lossage
|
||||||
|
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
||||||
|
# Local configure fragment for sysdeps/unix/sysv/linux.
|
||||||
|
|
||||||
|
# On Linux, the default is to use libio instead of stdio.
|
||||||
|
test $stdio = default && stdio=libio
|
||||||
|
|
||||||
|
# Don't bother trying to generate any glue code to be compatible with the
|
||||||
|
# existing system library, because we are the only system library.
|
||||||
|
inhibit_glue=yes
|
||||||
|
|
||||||
|
AC_CACHE_CHECK(installed Linux kernel header files, libc_cv_linux2, [dnl
|
||||||
|
AC_TRY_COMPILE([#include <linux/version.h>],
|
||||||
|
[#if LINUX_VERSION_CODE < (2 *65536+ 0 *256+ 0) /* 2.0.0 */
|
||||||
|
eat flaming death
|
||||||
|
#endif],
|
||||||
|
libc_cv_linux2='2.0 or later', libc_cv_linux2='TOO OLD!')])
|
||||||
|
if test "$libc_cv_linux2" != '2.0 or later'; then
|
||||||
|
AC_MSG_ERROR([GNU libc requires kernel header files from Linux 2.0
|
||||||
|
or later to be installed before configuring. The kernel header files
|
||||||
|
are found usually in /usr/include/asm and /usr/include/linux; make sure
|
||||||
|
these directories use files from Linux 2.0 or later. This check uses
|
||||||
|
<linux/version.h>, so make sure that file was built correctly when
|
||||||
|
installing the kernel header files.])
|
||||||
|
fi
|
||||||
Loading…
Reference in New Issue