mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
update from main archive 960829
Fri Aug 30 01:26:44 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/i386/Dist: Add close.S. * sysdeps/unix/sysv/linux/m68k/Dist: Likewise. * sysdeps/unix/sysv/linux/alpha/Dist: Likewise. * version.c: Add comment about where to report bugs to. * catgets/gencat.c (usage): Likewise. * db/makedb.c (usage): Likewise. * locale/programs/locale.c (usage): Likewise. * locale/programs/localedef.c (usage): Likewise. * manual/socket.texi: A little bit better wording. Thu Aug 29 18:03:06 1996 Ulrich Drepper <drepper@cygnus.com> * Makerules: Make sure directory exists before generating stamp file. (BUILD_CFLAGS): Always refer to using $(..). * manual/Makefile: Make sure directory exists before generating stamp file. (make-target-directory): Add macro definition. * sysdeps/generic/Makefile: Make sure directory exists before generating stamp file. * Makefile (distribute): Add autolock.sh. Reported by Fila Kolodny. Tue Aug 27 10:06:22 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> When compiling in separate directory put objects into subdirectories matching the source layout. * Makeconfig (objpfx) [ifdef objdir]: Append $(subdir). When looking for configparms try in $(common-objpfx). Use $(common-objpfx)SUBDIR to find objects from other subdirectory builds. * Makerules: Add $(objpfx) to vpath list. (make-dummy-dep): Use $(common-objpfx) to avoid creating dummy.d more than once. All uses in dependency lists changed. (+make-deps): Make target directory. (sed-remove-objpfx): Substitute $(common-objpfx). (do-ar, build-extra-lib, $(common-objpfx)stub-$(subdir)): Use $(objpfx) instead of $(objdir) for cd command. (O%-lib): Always find libc relative to $(..). (subdir-stamps): Collect stamp files from subdirs. (common-mostlyclean): Remove stub file in $(common-objpfx). * MakeTAGS ($P/siglist.pot): Find siglist.c in stdio-common. * Rules (dep-dummy-lib): Use $(common-objpfx) to avoid creating to more than once. ($(objpfx)dummy.c, $(objpfx)empty.c): Change target name to use $(common-objfpx). All uses in dependency lists changed. (generated): Prepend $(..) to names. * bare/Makefile ($(objpfx)lib$(config-vendor).a): Remove $(objpfx) from $@. * nss/Makefile ($(objpfx)libnss_dns.so, $(objpfx)libnss_db.so): Use $(common-objpfx) instead of $(..) in dependencies. * sysdeps/mach/Makefile (mach-objpfx): Unconditionally use $(common-objpfx) instead of $(..) and (objpfx). * sysdeps/mach/hurd/Makefile (hurd-objpfx): Likewise. (rpath-link): Likewise. (rpcuserlibs): Likewise. * sysdeps/unix/Makefile [$(subdir) = stdio-common]: Check for errlist.c in $(objpfx), not $(common-objpfx). ($(common-objpfx)s-proto.d): Special rule not covered by pattern rule. * sysdeps/unix/make-syscalls.sh: Make syscall rules depending on s-proto.d in $(common-objpfx), not $(objpfx). Thu Aug 29 17:45:49 1996 Ulrich Drepper <drepper@cygnus.com> * nss/nsswitch.c (nss_dlerror_run): Free returned error string. Thu Aug 29 15:53:33 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/libm-ieee754/e_acoshl.c: New file. `long double' implementation. * sysdeps/libm-ieee754/e_atanhl.c: Likewise. * sysdeps/libm-ieee754/e_remainderl.c: Likewise. * sysdeps/libm-ieee754/e_scalbl.c: Likewise. * sysdeps/libm-ieee754/s_asinhl.c: Likewise. * sysdeps/libm-ieee754/s_cosl.c: Likewise. * sysdeps/libm-ieee754/s_sinl.c: Likewise. * sysdeps/libm-ieee754/s_tanhl.c: Likewise. * sysdeps/libm-ieee754/s_tanl.c: Likewise. * stdio-common/printf_fp.c (__printf_fp): Use default value '.' if
This commit is contained in:
parent
747e2b4361
commit
6e953631df
86
ChangeLog
86
ChangeLog
@ -1,3 +1,87 @@
|
||||
Fri Aug 30 01:26:44 1996 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/Dist: Add close.S.
|
||||
* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
|
||||
* sysdeps/unix/sysv/linux/alpha/Dist: Likewise.
|
||||
|
||||
* version.c: Add comment about where to report bugs to.
|
||||
* catgets/gencat.c (usage): Likewise.
|
||||
* db/makedb.c (usage): Likewise.
|
||||
* locale/programs/locale.c (usage): Likewise.
|
||||
* locale/programs/localedef.c (usage): Likewise.
|
||||
|
||||
* manual/socket.texi: A little bit better wording.
|
||||
|
||||
Thu Aug 29 18:03:06 1996 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* Makerules: Make sure directory exists before generating stamp file.
|
||||
(BUILD_CFLAGS): Always refer to using $(..).
|
||||
* manual/Makefile: Make sure directory exists before generating
|
||||
stamp file.
|
||||
(make-target-directory): Add macro definition.
|
||||
* sysdeps/generic/Makefile: Make sure directory exists before
|
||||
generating stamp file.
|
||||
|
||||
* Makefile (distribute): Add autolock.sh. Reported by Fila Kolodny.
|
||||
|
||||
Tue Aug 27 10:06:22 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
When compiling in separate directory put objects into
|
||||
subdirectories matching the source layout.
|
||||
* Makeconfig (objpfx) [ifdef objdir]: Append $(subdir).
|
||||
When looking for configparms try in $(common-objpfx).
|
||||
Use $(common-objpfx)SUBDIR to find objects from other subdirectory
|
||||
builds.
|
||||
* Makerules: Add $(objpfx) to vpath list.
|
||||
(make-dummy-dep): Use $(common-objpfx) to avoid creating dummy.d
|
||||
more than once. All uses in dependency lists changed.
|
||||
(+make-deps): Make target directory.
|
||||
(sed-remove-objpfx): Substitute $(common-objpfx).
|
||||
(do-ar, build-extra-lib, $(common-objpfx)stub-$(subdir)): Use
|
||||
$(objpfx) instead of $(objdir) for cd command.
|
||||
(O%-lib): Always find libc relative to $(..).
|
||||
(subdir-stamps): Collect stamp files from subdirs.
|
||||
(common-mostlyclean): Remove stub file in $(common-objpfx).
|
||||
* MakeTAGS ($P/siglist.pot): Find siglist.c in stdio-common.
|
||||
* Rules (dep-dummy-lib): Use $(common-objpfx) to avoid creating to
|
||||
more than once.
|
||||
($(objpfx)dummy.c, $(objpfx)empty.c): Change target name to use
|
||||
$(common-objfpx). All uses in dependency lists changed.
|
||||
(generated): Prepend $(..) to names.
|
||||
* bare/Makefile ($(objpfx)lib$(config-vendor).a): Remove $(objpfx)
|
||||
from $@.
|
||||
* nss/Makefile ($(objpfx)libnss_dns.so, $(objpfx)libnss_db.so):
|
||||
Use $(common-objpfx) instead of $(..) in dependencies.
|
||||
* sysdeps/mach/Makefile (mach-objpfx): Unconditionally use
|
||||
$(common-objpfx) instead of $(..) and (objpfx).
|
||||
* sysdeps/mach/hurd/Makefile (hurd-objpfx): Likewise.
|
||||
(rpath-link): Likewise.
|
||||
(rpcuserlibs): Likewise.
|
||||
* sysdeps/unix/Makefile [$(subdir) = stdio-common]: Check for
|
||||
errlist.c in $(objpfx), not $(common-objpfx).
|
||||
($(common-objpfx)s-proto.d): Special rule not covered by pattern
|
||||
rule.
|
||||
* sysdeps/unix/make-syscalls.sh: Make syscall rules depending on
|
||||
s-proto.d in $(common-objpfx), not $(objpfx).
|
||||
|
||||
Thu Aug 29 17:45:49 1996 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* nss/nsswitch.c (nss_dlerror_run): Free returned error
|
||||
string.
|
||||
|
||||
Thu Aug 29 15:53:33 1996 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/libm-ieee754/e_acoshl.c: New file. `long double'
|
||||
implementation.
|
||||
* sysdeps/libm-ieee754/e_atanhl.c: Likewise.
|
||||
* sysdeps/libm-ieee754/e_remainderl.c: Likewise.
|
||||
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
|
||||
* sysdeps/libm-ieee754/s_asinhl.c: Likewise.
|
||||
* sysdeps/libm-ieee754/s_cosl.c: Likewise.
|
||||
* sysdeps/libm-ieee754/s_sinl.c: Likewise.
|
||||
* sysdeps/libm-ieee754/s_tanhl.c: Likewise.
|
||||
* sysdeps/libm-ieee754/s_tanl.c: Likewise.
|
||||
|
||||
Thu Aug 29 12:00:30 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
|
||||
|
||||
* sysdeps/mach/hurd/setitimer.c (setitimer_locked): Correct
|
||||
@ -16,7 +100,7 @@ Thu Aug 29 12:00:30 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
|
||||
|
||||
Thu Aug 29 00:28:08 1996 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* stdio-common/printf_fp.c (__printf_fp): Use default value `.` if
|
||||
* stdio-common/printf_fp.c (__printf_fp): Use default value '.' if
|
||||
`decimal' char is 0.
|
||||
|
||||
* C-numeric.c (not_available): New constant.
|
||||
|
2
MakeTAGS
2
MakeTAGS
@ -145,7 +145,7 @@ else
|
||||
$(extract)
|
||||
endif
|
||||
|
||||
$P/siglist.pot: $(common-objpfx)siglist.c; $(extract)
|
||||
$P/siglist.pot: $(common-objpfx)stdio-common/siglist.c; $(extract)
|
||||
|
||||
# Extract all strings from this file; its strings are not marked.
|
||||
# Their surroundings are also not interesting.
|
||||
|
19
Makeconfig
19
Makeconfig
@ -59,8 +59,8 @@ endif
|
||||
# $(common-objdir) is the place to put objects and
|
||||
# such that are not specific to a single subdir.
|
||||
ifdef objdir
|
||||
objpfx = $(objdir)/
|
||||
common-objpfx = $(objpfx)
|
||||
objpfx := $(patsubst %//,%/,$(objdir)/$(subdir)/)
|
||||
common-objpfx = $(objdir)/
|
||||
common-objdir = $(objdir)
|
||||
else
|
||||
objpfx :=
|
||||
@ -110,8 +110,8 @@ ifneq ($(wildcard $(..)configparms),)
|
||||
include $(..)configparms
|
||||
endif
|
||||
ifneq ($(objpfx),)
|
||||
ifneq ($(wildcard $(objpfx)configparms),)
|
||||
include $(objpfx)configparms
|
||||
ifneq ($(wildcard $(common-objpfx)configparms),)
|
||||
include $(common-objpfx)configparms
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -325,7 +325,7 @@ default-rpath = $(libdir)
|
||||
endif
|
||||
# This is how to find at build-time things that will be installed there.
|
||||
rpath-link = $(common-objdir):$(elfobjdir):$(nssobjdir)
|
||||
nssobjdir := $(firstword $(objdir) $(patsubst ../$(subdir),.,$(..)nss))
|
||||
nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
|
||||
else
|
||||
link-libc = $(common-objpfx)libc.a $(gnulib) $(common-objpfx)libc.a
|
||||
endif
|
||||
@ -337,13 +337,8 @@ ifeq ($(elf),yes)
|
||||
+preinit = $(addprefix $(csu-objpfx),crti.o)
|
||||
+postinit = $(addprefix $(csu-objpfx),crtn.o)
|
||||
endif
|
||||
ifdef objpfx
|
||||
csu-objpfx = $(objpfx)
|
||||
elf-objpfx = $(objpfx)
|
||||
else
|
||||
csu-objpfx = $(..)csu/
|
||||
elf-objpfx = $(..)elf/
|
||||
endif
|
||||
csu-objpfx = $(common-objpfx)csu/
|
||||
elf-objpfx = $(common-objpfx)elf/
|
||||
|
||||
ifeq (yes,$(build-shared))
|
||||
# The name under which the run-time dynamic linker is installed.
|
||||
|
2
Makefile
2
Makefile
@ -231,7 +231,7 @@ distribute := README INSTALL FAQ NOTES NEWS PROJECTS \
|
||||
ansidecl.h mkinstalldirs move-if-change install-sh \
|
||||
configure configure.in aclocal.m4 config.sub config.guess\
|
||||
config.h.in config.make.in config-name.in Makefile.in \
|
||||
munch-tmpl.c munch.awk \
|
||||
autolock.sh munch-tmpl.c munch.awk \
|
||||
sysdep.h set-hooks.h libc-symbols.h version.h shlib-versions \
|
||||
rpm/Makefile rpm/template rpm/rpmrc
|
||||
|
||||
|
42
Makerules
42
Makerules
@ -85,7 +85,7 @@ endif
|
||||
# This is here so things in sysdep Makefiles can easily depend on foo.h as
|
||||
# appropriate and not worry about where foo.h comes from, which may be
|
||||
# system dependent and not known by that Makefile.
|
||||
vpath %.h $(subst $(empty) ,:,$(strip $(common-objpfx) \
|
||||
vpath %.h $(subst $(empty) ,:,$(strip $(common-objpfx) $(objpfx) \
|
||||
$(addprefix $(sysdep_dir)/,$(sysdirs)) \
|
||||
$(..)))
|
||||
|
||||
@ -150,9 +150,9 @@ endif
|
||||
# have source in .s files, and thus do not in fact need a .d file.
|
||||
# So we must define rules to make .d files for .s files.
|
||||
define make-dummy-dep
|
||||
$(addprefix ln $(objpfx)dummy.d ,$(filter-out $(wildcard $@),$@))
|
||||
$(addprefix ln $(common-objpfx)dummy.d ,$(filter-out $(wildcard $@),$@))
|
||||
endef
|
||||
$(objpfx)dummy.d:
|
||||
$(common-objpfx)dummy.d:
|
||||
echo '# .s files cannot contain includes, so they need no deps.' > $@
|
||||
|
||||
# It matters that this set of rules, for compiling from sources in
|
||||
@ -169,7 +169,7 @@ $(objpfx)%.o: %.s $(before-compile); $(compile-command.s)
|
||||
$(objpfx)%.so: %.s $(before-compile); $(compile-command.s)
|
||||
$(objpfx)%.po: %.s $(before-compile); $(compile-command.s)
|
||||
$(objpfx)%.go: %.s $(before-compile); $(compile-command.s)
|
||||
$(objpfx)%.d: %.s $(objpfx)dummy.d; $(make-dummy-dep)
|
||||
$(objpfx)%.d: %.s $(common-objpfx)dummy.d; $(make-dummy-dep)
|
||||
$(objpfx)%.o: %.c $(before-compile); $(compile-command.c)
|
||||
$(objpfx)%.so: %.c $(before-compile); $(compile-command.c)
|
||||
$(objpfx)%.po: %.c $(before-compile); $(compile-command.c)
|
||||
@ -190,7 +190,7 @@ $(objpfx)%.o: $(objpfx)%.s $(before-compile); $(compile-command.s)
|
||||
$(objpfx)%.so: $(objpfx)%.s $(before-compile); $(compile-command.s)
|
||||
$(objpfx)%.po: $(objpfx)%.s $(before-compile); $(compile-command.s)
|
||||
$(objpfx)%.go: $(objpfx)%.s $(before-compile); $(compile-command.s)
|
||||
$(objpfx)%.d: $(objpfx)%.s $(objpfx)dummy.d; $(make-dummy-dep)
|
||||
$(objpfx)%.d: $(objpfx)%.s $(common-objpfx)dummy.d; $(make-dummy-dep)
|
||||
$(objpfx)%.o: $(objpfx)%.c $(before-compile); $(compile-command.c)
|
||||
$(objpfx)%.so: $(objpfx)%.c $(before-compile); $(compile-command.c)
|
||||
$(objpfx)%.po: $(objpfx)%.c $(before-compile); $(compile-command.c)
|
||||
@ -239,7 +239,7 @@ $(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \
|
||||
\$$(compile-command.c)"; \
|
||||
done; \
|
||||
$(open-check-inhibit-asm) \
|
||||
echo "\$$(objpfx)%.d: $$dir/%.s \$$(objpfx)dummy.d; \
|
||||
echo "\$$(objpfx)%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \
|
||||
\$$(make-dummy-dep)"; \
|
||||
echo "\$$(objpfx)%.d: $$dir/%.S \$$(before-compile); \
|
||||
\$$(+make-deps)"; \
|
||||
@ -279,6 +279,7 @@ OUTPUT_OPTION = -o $@
|
||||
|
||||
S-CPPFLAGS = $(asm-CPPFLAGS)
|
||||
define +make-deps
|
||||
$(make-target-directory)
|
||||
-@rm -f $@
|
||||
$(+mkdep) $< $(CPPFLAGS) $($(<:$*.%=%)-CPPFLAGS) | \
|
||||
sed -e 's,$(subst .,\.,$*)\.o,$(foreach o,$(object-suffixes),$(@:.d=$o)) $@,' \
|
||||
@ -289,7 +290,9 @@ ifneq (,$(objpfx))
|
||||
# Continuation lines here are dangerous because they introduce spaces!
|
||||
define sed-remove-objpfx
|
||||
-e 's@ $(subst .,\.,$(subst @,\@,$(objpfx)))@ $$(objpfx)@g' \
|
||||
-e 's@^$(subst .,\.,$(subst @,\@,$(objpfx)))@$$(objpfx)@g'
|
||||
-e 's@^$(subst .,\.,$(subst @,\@,$(objpfx)))@$$(objpfx)@g' \
|
||||
-e 's@ $(subst .,\.,$(subst @,\@,$(common-objpfx)))@ $$(common-objpfx)@g' \
|
||||
-e 's@^$(subst .,\.,$(subst @,\@,$(common-objpfx)))@$$(common-objpfx)@g'
|
||||
endef
|
||||
endif
|
||||
|
||||
@ -327,7 +330,7 @@ LDFLAGS-c.so = -nostdlib -nostartfiles
|
||||
# Give libc.so an entry point and make it directly runnable itself.
|
||||
LDFLAGS-c.so += -e __libc_main
|
||||
# Use our own special initializer and finalizer files for libc.so.
|
||||
elfobjdir := $(firstword $(objdir) $(patsubst ../$(subdir),.,$(..)elf))
|
||||
elfobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)elf)
|
||||
$(common-objpfx)libc.so: $(elfobjdir)/soinit.so \
|
||||
$(common-objpfx)libc_pic.a \
|
||||
$(elfobjdir)/sofini.so $(elfobjdir)/ld.so
|
||||
@ -443,6 +446,7 @@ ifndef objects
|
||||
# Create the stamp$o files to keep the parent makefile happy.
|
||||
subdir_lib: $(foreach o,$(object-suffixes),$(objpfx)stamp$o-$(subdir))
|
||||
$(foreach o,$(object-suffixes),$(objpfx)stamp$o-$(subdir)):
|
||||
$(make-target-directory)
|
||||
rm -f $@; > $@
|
||||
else
|
||||
|
||||
@ -471,17 +475,13 @@ object-suffixes-left := $(object-suffixes)
|
||||
include $(o-iterator)
|
||||
define do-ar
|
||||
topdir=`cd $(..).; pwd`; \
|
||||
$(patsubst %,cd %;,$(objdir)) \
|
||||
$(patsubst %/,cd %;,$(objpfx)) \
|
||||
$$topdir/autolock.sh ${O%-lib}.lck $(AR) cru$(verbose) ${O%-lib} \
|
||||
$(patsubst $(objpfx)%,%,$^)
|
||||
rm -f $@
|
||||
touch $@
|
||||
endef
|
||||
ifdef subdir
|
||||
O%-lib = $(filter ../,$(firstword $(objdir) ../))$(patsubst %,$(libtype$*),c)
|
||||
else
|
||||
O%-lib = $(patsubst %,$(libtype$*),c)
|
||||
endif
|
||||
O%-lib = $(..)$(patsubst %,$(libtype$*),c)
|
||||
|
||||
endif
|
||||
|
||||
@ -496,8 +496,7 @@ $(common-objpfx)$(patsubst %,$(libtype$o),c)($(ar-symtab-name)): \
|
||||
$$(RANLIB) $$(common-objpfx)$$(patsubst %,$$(libtype$o),c)
|
||||
endef
|
||||
ifndef subdir
|
||||
subdirs-stamps := $(foreach d,$(subdirs),\
|
||||
$(firstword $(objdir) $(subdir))/stamp%-$d)
|
||||
subdirs-stamps := $(foreach d,$(subdirs),$(common-objpfx)$d/stamp%-$d)
|
||||
subdirs-stamp-o = $(subst %,$o,$(subdirs-stamps))
|
||||
$(subdirs-stamps): subdir_lib;
|
||||
endif
|
||||
@ -512,7 +511,7 @@ objects objs: $(foreach o,$(object-suffixes),$(o-objects)) \
|
||||
|
||||
# Canned sequence for building an extra library archive.
|
||||
define build-extra-lib
|
||||
$(patsubst %,cd %;,$(objdir)) \
|
||||
$(patsubst %/,cd %;,$(objpfx)) \
|
||||
$(AR) cru$(verbose) $(@:$(objpfx)%=%) \
|
||||
$(patsubst $(objpfx)%,%,$^)
|
||||
$(RANLIB) $@
|
||||
@ -736,12 +735,7 @@ cd $(@D); $(BUILD_CC) $(BUILD_CFLAGS) $(<:$(common-objpfx)%=%) -o $(@F)
|
||||
endef
|
||||
|
||||
# We always want to use configuration definitions.
|
||||
ifdef objdir
|
||||
# This is always used in $(common-objdir), so we use no directory name.
|
||||
BUILD_CFLAGS = -include config.h
|
||||
else
|
||||
BUILD_CFLAGS = -include $(..)config.h
|
||||
endif
|
||||
|
||||
# Support the GNU standard name for this target.
|
||||
.PHONY: check
|
||||
@ -773,7 +767,7 @@ common-mostlyclean:
|
||||
$(addsuffix .o,$(tests) $(others)) \
|
||||
$(addsuffix .out,$(tests)))
|
||||
-rm -f $(addprefix $(objpfx),$(extra-objs) $(install-lib))
|
||||
-rm -f core $(objpfx)stub-$(subdir)
|
||||
-rm -f core $(common-objpfx)stub-$(subdir)
|
||||
$(rmobjs)
|
||||
define rmobjs
|
||||
$(foreach o,$(object-suffixes),
|
||||
@ -796,7 +790,7 @@ s = $(sysdep_dir)/stub
|
||||
$(common-objpfx)stub-$(subdir): $(+depfiles)
|
||||
# Use /dev/null since `...` might expand to empty.
|
||||
(s=`cd $s; /bin/pwd`; \
|
||||
$(patsubst %,cd %;,$(objdir)) \
|
||||
$(patsubst %/,cd %;,$(objpfx)) \
|
||||
sed -n 's/^stub_warning *(\([^)]*\).*$$/#define __stub_\1/p' \
|
||||
`sed -n 's@^.*$s/\([a-z0-9_-]*\.c\).*$$@'"$$s"/'\1@p' \
|
||||
$(patsubst $(objpfx)%,%,$^) /dev/null` \
|
||||
|
31
README.libm
Normal file
31
README.libm
Normal file
@ -0,0 +1,31 @@
|
||||
The following functions for the `long double' versions of the libm
|
||||
function have to be written:
|
||||
|
||||
e_acosl.c
|
||||
e_asinl.c
|
||||
e_atan2l.c
|
||||
e_acoshl.c
|
||||
e_expl.c
|
||||
e_fmodl.c
|
||||
e_hypotl.c
|
||||
e_j0l.c
|
||||
e_j1l.c
|
||||
e_jnl.c
|
||||
e_lgammal_r.c
|
||||
e_logl.c
|
||||
e_log10l.c
|
||||
e_powl.c
|
||||
e_rem_pio2l.c
|
||||
e_sinhl.c
|
||||
e_sqrtl.c
|
||||
|
||||
k_cosl.c
|
||||
k_rem_pio2l.c
|
||||
k_sinl.c
|
||||
k_tanl.c
|
||||
|
||||
s_atanl.c
|
||||
s_cbrtl.c
|
||||
s_erfl.c
|
||||
s_expm1l.c
|
||||
s_log1pl.c
|
10
Rules
10
Rules
@ -62,16 +62,16 @@ subdir_lib: lib-noranlib
|
||||
|
||||
# Some subdirs need to install a dummy library.
|
||||
# They can use "$(objpfx)libfnord.a: $(dep-dummy-lib); $(make-dummy-lib)".
|
||||
dep-dummy-lib = $(objpfx)dummy.o
|
||||
dep-dummy-lib = $(common-objpfx)dummy.o
|
||||
define make-dummy-lib
|
||||
$(AR) cr$(verbose) $@ $<
|
||||
endef
|
||||
$(objpfx)dummy.c:
|
||||
$(common-objpfx)dummy.c:
|
||||
rm -f $@
|
||||
echo 'void __dummy__ () { }' > $@
|
||||
$(objpfx)empty.c:
|
||||
$(common-objpfx)empty.c:
|
||||
cp -f /dev/null $@
|
||||
generated := $(generated) dummy.o dummy.c empty.c empty.o
|
||||
generated := $(generated) $(..)dummy.o $(..)dummy.c $(..)empty.c $(..)empty.o
|
||||
|
||||
# This makes all the auxilliary and test programs.
|
||||
|
||||
@ -141,7 +141,7 @@ endif
|
||||
ifdef static-only-routines
|
||||
# These routines are to be omitted from the shared library object,
|
||||
# so we replace the PIC objects for them with the empty object file.
|
||||
$(static-only-routines:%=$(objpfx)%.so): %.so: $(objpfx)empty.o
|
||||
$(static-only-routines:%=$(objpfx)%.so): %.so: $(common-objpfx)empty.o
|
||||
rm -f $@
|
||||
ln $< $@
|
||||
endif
|
||||
|
@ -48,7 +48,7 @@ $(objpfx)lib$(config-vendor).a: $(bare-routines:%=$(objpfx)%.o)
|
||||
# from scratch each time.
|
||||
rm -f $@
|
||||
ifdef objdir
|
||||
cd $(objdir); $(AR) cq$(verbose) $@ $(^:$(objpfx)%=%)
|
||||
cd $(objpfx); $(AR) cq$(verbose) $(@:$(objpfx)%=%) $(^:$(objpfx)%=%)
|
||||
else
|
||||
$(AR) cq$(verbose) $@ $^
|
||||
endif
|
||||
|
@ -212,7 +212,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
|
||||
-o, --output=NAME write output to file NAME\n\
|
||||
-V, --version output version information and exit\n\
|
||||
If INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n\
|
||||
is -, output is written to standard output.\n"),
|
||||
is -, output is written to standard output.\n\
|
||||
Report bugs to <bug-glibc@gnu.ai.mit.edu>.\n"),
|
||||
program_invocation_name, program_invocation_name);
|
||||
|
||||
exit (status);
|
||||
|
@ -207,7 +207,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
|
||||
--quiet don't print messages while building database\n\
|
||||
-u, --undo print content of database file, one entry a line\n\
|
||||
-V, --version output version information and exit\n\
|
||||
If INPUT-FILE is -, input is read from standard input.\n"),
|
||||
If INPUT-FILE is -, input is read from standard input.\n\
|
||||
Report bugs to <bug-glibc@gnu.ai.mit.edu>.\n"),
|
||||
program_invocation_name, program_invocation_name,
|
||||
program_invocation_name);
|
||||
|
||||
|
@ -244,7 +244,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
|
||||
-m, --charmaps write names of available charmaps\n\
|
||||
\n\
|
||||
-c, --category-name write names of selected categories\n\
|
||||
-k, --keyword-name write names of selected keywords\n"),
|
||||
-k, --keyword-name write names of selected keywords\n\
|
||||
Report bugs to <bug-glibc@gnu.ai.mit.edu>."),
|
||||
__progname);
|
||||
|
||||
exit (status);
|
||||
|
@ -396,7 +396,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
|
||||
--posix be strictly POSIX conform\n\
|
||||
\n\
|
||||
System's directory for character maps: %s\n\
|
||||
locale files : %s\n"),
|
||||
locale files : %s\n\
|
||||
Report bugs to <bug-glibc@gnu.ai.mit.edu>."),
|
||||
program_invocation_name, CHARMAP_PATH, LOCALE_PATH);
|
||||
|
||||
exit (status);
|
||||
|
@ -165,8 +165,17 @@ $(glibc-targets):
|
||||
# changed the library.
|
||||
lib: $(foreach o,$(object-suffixes),$(objpfx)stamp$o-$(subdir))
|
||||
stubs: $(common-objpfx)stub-manual
|
||||
$(common-objpfx)stub-manual ../po/manual.pot:; cp /dev/null $@
|
||||
$(objpfx)stamp%-$(subdir):; cp /dev/null $@
|
||||
$(common-objpfx)stub-manual ../po/manual.pot $(objpfx)stamp%-$(subdir):
|
||||
$(make-target-directory)
|
||||
cp /dev/null $@
|
||||
|
||||
|
||||
# Make the target directory if it doesn't exist, using the `mkinstalldirs'
|
||||
# script that does `mkdir -p' even if `mkdir' doesn't support that flag.
|
||||
define make-target-directory
|
||||
$(addprefix $(..)./mkinstalldirs ,\
|
||||
$(filter-out $(wildcard $(@D:%/=%)),$(@D:%/=%)))
|
||||
endef
|
||||
|
||||
# The top-level glibc Makefile expects subdir_install to update the stubs file.
|
||||
subdir_install: stubs
|
||||
|
@ -151,7 +151,7 @@ Use of this style is covered in detail in @ref{Connections}.
|
||||
@comment BSD
|
||||
@deftypevr Macro int SOCK_DGRAM
|
||||
The @code{SOCK_DGRAM} style is used for sending
|
||||
individually-addressed packets, unreliably.
|
||||
individually-addressed packets, unreliably.
|
||||
It is the diametrical opposite of @code{SOCK_STREAM}.
|
||||
|
||||
Each time you write data to a socket of this kind, that data becomes
|
||||
@ -585,7 +585,7 @@ for information about this.
|
||||
* Services Database:: Ports may have symbolic names.
|
||||
* Byte Order:: Different hosts may use different byte
|
||||
ordering conventions; you need to
|
||||
canonicalize host address and port number.
|
||||
canonicalize host address and port number.
|
||||
* Inet Example:: Putting it all together.
|
||||
@end menu
|
||||
|
||||
@ -650,7 +650,7 @@ numeric address it stands for.
|
||||
* Names: Host Names. Translating host names to host numbers.
|
||||
@end menu
|
||||
|
||||
@node Abstract Host Addresses
|
||||
@node Abstract Host Addresses
|
||||
@subsubsection Internet Host Addresses
|
||||
@cindex host address, Internet
|
||||
@cindex Internet host address
|
||||
@ -683,7 +683,7 @@ of an Internet address specifies a network. The remaining bytes of the
|
||||
Internet address specify the address within that network.
|
||||
|
||||
The Class A network 0 is reserved for broadcast to all networks. In
|
||||
addition, the host number 0 within each network is reserved for broadcast
|
||||
addition, the host number 0 within each network is reserved for broadcast
|
||||
to all hosts in that network.
|
||||
|
||||
The Class A network 127 is reserved for loopback; you can always use
|
||||
@ -966,9 +966,9 @@ This condition happens when the name server could not be contacted. If
|
||||
you try again later, you may succeed then.
|
||||
|
||||
@comment netdb.h
|
||||
@comment BSD
|
||||
@item NO_RECOVERY
|
||||
@vindex NO_RECOVERY
|
||||
@comment BSD
|
||||
@item NO_RECOVERY
|
||||
@vindex NO_RECOVERY
|
||||
A non-recoverable error occurred.
|
||||
|
||||
@comment netdb.h
|
||||
@ -1421,7 +1421,7 @@ read and write operations. But, like pipes, sockets do not support file
|
||||
positioning operations.
|
||||
@end deftypefun
|
||||
|
||||
For examples of how to call the @code{socket} function,
|
||||
For examples of how to call the @code{socket} function,
|
||||
see @ref{File Namespace}, or @ref{Inet Example}.
|
||||
|
||||
|
||||
@ -1615,7 +1615,7 @@ error conditions are defined for this function:
|
||||
The socket @var{socket} is not a valid file descriptor.
|
||||
|
||||
@item ENOTSOCK
|
||||
The socket @var{socket} is not a socket.
|
||||
File descriptor @var{socket} is not a socket.
|
||||
|
||||
@item EADDRNOTAVAIL
|
||||
The specified address is not available on the remote machine.
|
||||
@ -2635,7 +2635,7 @@ This option gets or sets the size of the input buffer. The value is a
|
||||
@comment GNU
|
||||
@item SO_STYLE
|
||||
@comment sys/socket.h
|
||||
@comment BSD
|
||||
@comment BSD
|
||||
@itemx SO_TYPE
|
||||
This option can be used with @code{getsockopt} only. It is used to
|
||||
get the socket's communication style. @code{SO_TYPE} is the
|
||||
@ -2644,7 +2644,7 @@ The value has type @code{int} and its value designates a communication
|
||||
style; see @ref{Communication Styles}.
|
||||
|
||||
@comment sys/socket.h
|
||||
@comment BSD
|
||||
@comment BSD
|
||||
@item SO_ERROR
|
||||
@c Extra blank line here makes the table look better.
|
||||
|
||||
@ -2712,7 +2712,7 @@ network.
|
||||
@deftypefun {struct netent *} getnetbyaddr (long @var{net}, int @var{type})
|
||||
The @code{getnetbyaddr} function returns information about the network
|
||||
of type @var{type} with number @var{net}. You should specify a value of
|
||||
@code{AF_INET} for the @var{type} argument for Internet networks.
|
||||
@code{AF_INET} for the @var{type} argument for Internet networks.
|
||||
|
||||
@code{getnetbyaddr} returns a null pointer if there is no such
|
||||
network.
|
||||
|
@ -66,10 +66,9 @@ libnss_db-inhibit-o = $(filter-out .so,$(object-suffixes))
|
||||
include ../Rules
|
||||
|
||||
|
||||
$(objpfx)libnss_dns.so: $(firstword $(objdir) $(..)resolv)/libresolv.so
|
||||
$(objpfx)libnss_dns.so: $(common-objpfx)resolv/libresolv.so
|
||||
|
||||
$(objpfx)libnss_db.so: $(firstword $(objdir) $(..)db)/libdb.so \
|
||||
$(objpfx)libnss_files.so
|
||||
$(objpfx)libnss_db.so: $(common-objpfx)db/libdb.so $(objpfx)libnss_files.so
|
||||
|
||||
$(libnss_db-routines:%=$(objpfx)%.c): $(objpfx)db-%.c: nss_files/files-%.c
|
||||
@rm -f $@.new
|
||||
|
68
nss/db-Makefile
Normal file
68
nss/db-Makefile
Normal file
@ -0,0 +1,68 @@
|
||||
DATABASES = $(wildcard /etc/passwd /etc/group /etc/ethers /etc/protocols \
|
||||
/etc/rpc /etc/services /etc/shadow)
|
||||
|
||||
VAR_DB = /var/db
|
||||
|
||||
AWK = awk
|
||||
MAKEDB = makedb --quiet
|
||||
|
||||
all: $(patsubst %,$(VAR_DB)/%.db,$(notdir $(DATABASES)))
|
||||
|
||||
|
||||
$(VAR_DB)/passwd.db: /etc/passwd
|
||||
@echo -n "$(patsubst %.db,%,$(@F))... "
|
||||
@$(AWK) 'BEGIN { FS=":"; OFS=":" } \
|
||||
/^[^#]/ { printf ".%s ", $$1; print; \
|
||||
printf "=%s ", $$3; print }' $^ | \
|
||||
$(MAKEDB) -o $@ -
|
||||
@echo "done."
|
||||
|
||||
$(VAR_DB)/group.db: /etc/group
|
||||
@echo -n "$(patsubst %.db,%,$(@F))... "
|
||||
@$(AWK) 'BEGIN { FS=":"; OFS=":" } \
|
||||
/^[^#]/ { printf ".%s ", $$1; print; \
|
||||
printf "=%s ", $$3; print }' $^ | \
|
||||
$(MAKEDB) -o $@ -
|
||||
@echo "done."
|
||||
|
||||
$(VAR_DB)/ethers.db: /etc/ethers
|
||||
@echo -n "$(patsubst %.db,%,$(@F))... "
|
||||
@$(AWK) '/^[^#]/ { printf ".%s ", $$1; print; \
|
||||
printf "=%s ", $$2; print }' $^ | \
|
||||
$(MAKEDB) -o $@ -
|
||||
@echo "done."
|
||||
|
||||
$(VAR_DB)/protocols.db: /etc/protocols
|
||||
@echo -n "$(patsubst %.db,%,$(@F))... "
|
||||
@$(AWK) '/^[^#]/ { printf ".%s ", $$1; print; \
|
||||
printf "=%s ", $$2; print; \
|
||||
for (i = 3; i <= NF && !($$i ~ /^#/); ++i) \
|
||||
{ printf ".%s ", $$i; print } }' $^ | \
|
||||
$(MAKEDB) -o $@ -
|
||||
@echo "done."
|
||||
|
||||
$(VAR_DB)/rpc.db: /etc/rpc
|
||||
@echo -n "$(patsubst %.db,%,$(@F))... "
|
||||
@$(AWK) '/^[^#]/ { printf ".%s ", $$1; print; \
|
||||
printf "=%s ", $$2; print; \
|
||||
for (i = 3; i <= NF && !($$i ~ /^#/); ++i) \
|
||||
{ printf ".%s ", $$i; print } }' $^ | \
|
||||
$(MAKEDB) -o $@ -
|
||||
@echo "done."
|
||||
|
||||
$(VAR_DB)/services.db: /etc/services
|
||||
@echo -n "$(patsubst %.db,%,$(@F))... "
|
||||
@$(AWK) 'BEGIN { FS="[ \t/]+" } \
|
||||
/^[^#]/ { printf ".%s/%s ", $$1, $$3; print; \
|
||||
printf "=%s/%s ", $$2, $$3; print; \
|
||||
for (i = 4; i <= NF && !($$i ~ /^#/); ++i) \
|
||||
{ printf ".%s/%s ", $$i, $$3; print } }' $^ | \
|
||||
$(MAKEDB) -o $@ -
|
||||
@echo "done."
|
||||
|
||||
$(VAR_DB)/shadow.db: /etc/shadow
|
||||
@echo -n "$(patsubst %.db,%,$(@F))... "
|
||||
@$(AWK) 'BEGIN { FS=":"; OFS=":" } \
|
||||
/^[^#]/ { printf ".%s ", $$1; print }' $^ | \
|
||||
$(MAKEDB) -o $@ -
|
||||
@echo "done."
|
@ -235,12 +235,17 @@ __nss_configure_lookup (const char *dbname, const char *service_line)
|
||||
static int
|
||||
nss_dlerror_run (void (*operate) (void))
|
||||
{
|
||||
const char *last_errstring = NULL;
|
||||
char *last_errstring = NULL;
|
||||
const char *last_object_name = NULL;
|
||||
int result;
|
||||
|
||||
(void) _dl_catch_error (&last_errstring, &last_object_name, operate);
|
||||
|
||||
return last_errstring != NULL;
|
||||
result = last_errstring != NULL;
|
||||
if (result)
|
||||
free (last_errstring);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
16
nss/nsswitch.conf
Normal file
16
nss/nsswitch.conf
Normal file
@ -0,0 +1,16 @@
|
||||
# /etc/nsswitch.conf
|
||||
#
|
||||
# Example configuration of GNU Name Service Switch functionality.
|
||||
#
|
||||
|
||||
passwd: db files
|
||||
group: db files
|
||||
shadow: db files
|
||||
|
||||
hosts: files dns
|
||||
networks: files dns
|
||||
|
||||
protocols: db files
|
||||
services: db files
|
||||
ethers: db files
|
||||
rpc: db files
|
@ -41,6 +41,7 @@ $(objpfx)siglist.c: $(objpfx)make_siglist
|
||||
mv $@-tmp $@
|
||||
|
||||
$(objpfx)make_siglist: $(sysdep_dir)/generic/make_siglist.c
|
||||
$(make-target-directory)
|
||||
signum_h=`cd $(dir $(firstword $(wildcard \
|
||||
$(+sysdep_dirs:%=%/signum.h)))); pwd`/signum.h; \
|
||||
$(native-compile) \
|
||||
|
72
sysdeps/libm-ieee754/e_acoshl.c
Normal file
72
sysdeps/libm-ieee754/e_acoshl.c
Normal file
@ -0,0 +1,72 @@
|
||||
/* e_acoshl.c -- long double version of e_acosh.c.
|
||||
* Conversion to long double by Ulrich Drepper,
|
||||
* Cygnus Support, drepper@cygnus.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#if defined(LIBM_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$NetBSD: $";
|
||||
#endif
|
||||
|
||||
/* __ieee754_acoshl(x)
|
||||
* Method :
|
||||
* Based on
|
||||
* acoshl(x) = logl [ x + sqrtl(x*x-1) ]
|
||||
* we have
|
||||
* acoshl(x) := logl(x)+ln2, if x is large; else
|
||||
* acoshl(x) := logl(2x-1/(sqrtl(x*x-1)+x)) if x>2; else
|
||||
* acoshl(x) := log1pl(t+sqrtl(2.0*t+t*t)); where t=x-1.
|
||||
*
|
||||
* Special cases:
|
||||
* acoshl(x) is NaN with signal if x<1.
|
||||
* acoshl(NaN) is NaN without signal.
|
||||
*/
|
||||
|
||||
#include "math.h"
|
||||
#include "math_private.h"
|
||||
|
||||
#ifdef __STDC__
|
||||
static const long double
|
||||
#else
|
||||
static long double
|
||||
#endif
|
||||
one = 1.0,
|
||||
ln2 = 6.931471805599453094287e-01L; /* 0x3FFE, 0xB17217F7, 0xD1CF79AC */
|
||||
|
||||
#ifdef __STDC__
|
||||
long double __ieee754_acoshl(long double x)
|
||||
#else
|
||||
long double __ieee754_acoshl(x)
|
||||
long double x;
|
||||
#endif
|
||||
{
|
||||
long double t;
|
||||
u_int32_t se,i0,i1;
|
||||
EXTRACT_LDOUBLE_WORDS(se,i0,i1,x);
|
||||
if(se<0x3fff) { /* x < 1 */
|
||||
return (x-x)/(x-x);
|
||||
} else if(hx >=0x401b) { /* x > 2**28 */
|
||||
if(hx >=0x7fff) { /* x is inf of NaN */
|
||||
return x+x;
|
||||
} else
|
||||
return __ieee754_logl(x)+ln2; /* acoshl(huge)=logl(2x) */
|
||||
} else if(((se-0x3fff)|i0|i1)==0) {
|
||||
return 0.0; /* acosh(1) = 0 */
|
||||
} else if (hx > 0x4000) { /* 2**28 > x > 2 */
|
||||
t=x*x;
|
||||
return __ieee754_logl(2.0*x-one/(x+__ieee754_sqrtl(t-one)));
|
||||
} else { /* 1<x<2 */
|
||||
t = x-one;
|
||||
return __log1pl(t+__sqrtl(2.0*t+t*t));
|
||||
}
|
||||
}
|
79
sysdeps/libm-ieee754/e_atanhl.c
Normal file
79
sysdeps/libm-ieee754/e_atanhl.c
Normal file
@ -0,0 +1,79 @@
|
||||
/* s_atanhl.c -- long double version of s_atan.c.
|
||||
* Conversion to long double by Ulrich Drepper,
|
||||
* Cygnus Support, drepper@cygnus.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#if defined(LIBM_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$NetBSD: $";
|
||||
#endif
|
||||
|
||||
/* __ieee754_atanhl(x)
|
||||
* Method :
|
||||
* 1.Reduced x to positive by atanh(-x) = -atanh(x)
|
||||
* 2.For x>=0.5
|
||||
* 1 2x x
|
||||
* atanhl(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------)
|
||||
* 2 1 - x 1 - x
|
||||
*
|
||||
* For x<0.5
|
||||
* atanhl(x) = 0.5*log1pl(2x+2x*x/(1-x))
|
||||
*
|
||||
* Special cases:
|
||||
* atanhl(x) is NaN if |x| > 1 with signal;
|
||||
* atanhl(NaN) is that NaN with no signal;
|
||||
* atanhl(+-1) is +-INF with signal.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "math.h"
|
||||
#include "math_private.h"
|
||||
|
||||
#ifdef __STDC__
|
||||
static const long double one = 1.0, huge = 1e16380;
|
||||
#else
|
||||
static long double one = 1.0, huge = 1e16380;
|
||||
#endif
|
||||
|
||||
#ifdef __STDC__
|
||||
static const long double zero = 0.0;
|
||||
#else
|
||||
static double long zero = 0.0;
|
||||
#endif
|
||||
|
||||
#ifdef __STDC__
|
||||
long double __ieee754_atanhl(long double x)
|
||||
#else
|
||||
long double __ieee754_atanhl(x)
|
||||
long double x;
|
||||
#endif
|
||||
{
|
||||
long double t;
|
||||
int32_t ix;
|
||||
u_int32_t se,i0,i1;
|
||||
EXTRACT_LDOUBLE_WORDS(se,i0,i1,x);
|
||||
ix = se&0x7fff;
|
||||
if ((ix+((((i0&0x7fffffff)|i1)|(-((i0&0x7fffffff)|i1)))>>31))>0x3fff)
|
||||
/* |x|>1 */
|
||||
return (x-x)/(x-x);
|
||||
if(ix==0x3fff)
|
||||
return x/zero;
|
||||
if(ix<0x3fe3&&(huge+x)>zero) return x; /* x<2**-28 */
|
||||
SET_LDOUBLE_EXP(x,ix);
|
||||
if(ix<0x3ffe) { /* x < 0.5 */
|
||||
t = x+x;
|
||||
t = 0.5*__log1pl(t+t*x/(one-x));
|
||||
} else
|
||||
t = 0.5*__log1pl((x+x)/(one-x));
|
||||
if(se>0x7fff) return t; else return -t;
|
||||
}
|
83
sysdeps/libm-ieee754/e_remainderl.c
Normal file
83
sysdeps/libm-ieee754/e_remainderl.c
Normal file
@ -0,0 +1,83 @@
|
||||
/* e_remainderl.c -- long double version of e_remainder.c.
|
||||
* Conversion to long double by Ulrich Drepper,
|
||||
* Cygnus Support, drepper@cygnus.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#if defined(LIBM_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$NetBSD: $";
|
||||
#endif
|
||||
|
||||
/* __ieee754_remainderl(x,p)
|
||||
* Return :
|
||||
* returns x REM p = x - [x/p]*p as if in infinite
|
||||
* precise arithmetic, where [x/p] is the (infinite bit)
|
||||
* integer nearest x/p (in half way case choose the even one).
|
||||
* Method :
|
||||
* Based on fmod() return x-[x/p]chopped*p exactlp.
|
||||
*/
|
||||
|
||||
#include "math.h"
|
||||
#include "math_private.h"
|
||||
|
||||
#ifdef __STDC__
|
||||
static const long double zero = 0.0;
|
||||
#else
|
||||
static long double zero = 0.0;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __STDC__
|
||||
long double __ieee754_remainderl(long double x, long double p)
|
||||
#else
|
||||
long double __ieee754_remainderl(x,p)
|
||||
long double x,p;
|
||||
#endif
|
||||
{
|
||||
u_int32_t sx,sex,sep,x0,x1,p0,p1;
|
||||
long double p_half;
|
||||
|
||||
EXTRACT_LDOUBLE_WORDS(sex,x0,x1,x);
|
||||
EXTRACT_LDOUBLE_WORDS(sep,p0,p1,p);
|
||||
sx = sex&0x8000;
|
||||
sep &= 0x7fff;
|
||||
sex &= 0x7fff;
|
||||
|
||||
/* purge off exception values */
|
||||
if((sep|p0|p1)==0) return (x*p)/(x*p); /* p = 0 */
|
||||
if((sex==0x7fff)|| /* x not finite */
|
||||
((sep==0x7fff)&& /* p is NaN */
|
||||
((p0|p1)!=0)))
|
||||
return (x*p)/(x*p);
|
||||
|
||||
|
||||
if (sep<0x7ffe) x = __ieee754_fmodl(x,p+p); /* now x < 2p */
|
||||
if (((sex-sep)|(x0-p0)|(x1-p1))==0) return zero*x;
|
||||
x = fabsl(x);
|
||||
p = fabsl(p);
|
||||
if (sep<0x0002) {
|
||||
if(x+x>p) {
|
||||
x-=p;
|
||||
if(x+x>=p) x -= p;
|
||||
}
|
||||
} else {
|
||||
p_half = 0.5*p;
|
||||
if(x>p_half) {
|
||||
x-=p;
|
||||
if(x>=p_half) x -= p;
|
||||
}
|
||||
}
|
||||
GET_LDOUBLE_EXP(sex,x);
|
||||
SET_LDOUBLE_EXP(x,sex^sx);
|
||||
return x;
|
||||
}
|
59
sysdeps/libm-ieee754/e_scalbl.c
Normal file
59
sysdeps/libm-ieee754/e_scalbl.c
Normal file
@ -0,0 +1,59 @@
|
||||
/* e_scalbl.c -- long double version of s_scalb.c.
|
||||
* Conversion to long double by Ulrich Drepper,
|
||||
* Cygnus Support, drepper@cygnus.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#if defined(LIBM_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$NetBSD: $";
|
||||
#endif
|
||||
|
||||
/*
|
||||
* __ieee754_scalbl(x, fn) is provide for
|
||||
* passing various standard test suite. One
|
||||
* should use scalbnl() instead.
|
||||
*/
|
||||
|
||||
#include "math.h"
|
||||
#include "math_private.h"
|
||||
|
||||
#ifdef _SCALB_INT
|
||||
#ifdef __STDC__
|
||||
long double __ieee754_scalbl(long double x, int fn)
|
||||
#else
|
||||
long double __ieee754_scalbl(x,fn)
|
||||
long double x; int fn;
|
||||
#endif
|
||||
#else
|
||||
#ifdef __STDC__
|
||||
long double __ieee754_scalbl(long double x, long double fn)
|
||||
#else
|
||||
long double __ieee754_scalbl(x,fn)
|
||||
long double x, fn;
|
||||
#endif
|
||||
#endif
|
||||
{
|
||||
#ifdef _SCALB_INT
|
||||
return scalbnl(x,fn);
|
||||
#else
|
||||
if (isnanl(x)||isnanl(fn)) return x*fn;
|
||||
if (!finitel(fn)) {
|
||||
if(fn>0.0) return x*fn;
|
||||
else return x/(-fn);
|
||||
}
|
||||
if (rintl(fn)!=fn) return (fn-fn)/(fn-fn);
|
||||
if ( fn > 65000.0) return scalbnl(x, 65000);
|
||||
if (-fn > 65000.0) return scalbnl(x,-65000);
|
||||
return scalbnl(x,(int)fn);
|
||||
#endif
|
||||
}
|
70
sysdeps/libm-ieee754/s_asinhl.c
Normal file
70
sysdeps/libm-ieee754/s_asinhl.c
Normal file
@ -0,0 +1,70 @@
|
||||
/* s_asinhl.c -- long double version of s_asinh.c.
|
||||
* Conversion to long double by Ulrich Drepper,
|
||||
* Cygnus Support, drepper@cygnus.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#if defined(LIBM_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$NetBSD: $";
|
||||
#endif
|
||||
|
||||
/* asinhl(x)
|
||||
* Method :
|
||||
* Based on
|
||||
* asinhl(x) = signl(x) * logl [ |x| + sqrtl(x*x+1) ]
|
||||
* we have
|
||||
* asinhl(x) := x if 1+x*x=1,
|
||||
* := signl(x)*(logl(x)+ln2)) for large |x|, else
|
||||
* := signl(x)*logl(2|x|+1/(|x|+sqrtl(x*x+1))) if|x|>2, else
|
||||
* := signl(x)*log1pl(|x| + x^2/(1 + sqrtl(1+x^2)))
|
||||
*/
|
||||
|
||||
#include "math.h"
|
||||
#include "math_private.h"
|
||||
|
||||
#ifdef __STDC__
|
||||
static const long double
|
||||
#else
|
||||
static long double
|
||||
#endif
|
||||
one = 1.000000000000000000000e+00L, /* 0x3FFF, 0x00000000, 0x00000000 */
|
||||
ln2 = 6.931471805599453094287e-01L, /* 0x3FFE, 0xB17217F7, 0xD1CF79AC */
|
||||
huge= 1.000000000000000000e+16380L;
|
||||
|
||||
#ifdef __STDC__
|
||||
long double __asinhl(long double x)
|
||||
#else
|
||||
long double __asinhl(x)
|
||||
long double x;
|
||||
#endif
|
||||
{
|
||||
long double t,w;
|
||||
int32_t hx,ix;
|
||||
GET_LDOUBLE_EXP(hx,x);
|
||||
ix = hx&0x7fff;
|
||||
if(ix==0x7fff) return x+x; /* x is inf or NaN */
|
||||
if(ix< 0x3fde) { /* |x|<2**-34 */
|
||||
if(huge+x>one) return x; /* return x inexact except 0 */
|
||||
}
|
||||
if(ix>0x4020) { /* |x| > 2**34 */
|
||||
w = __ieee754_logl(fabsl(x))+ln2;
|
||||
} else if (ix>0x4000) { /* 2**34 > |x| > 2.0 */
|
||||
t = fabsl(x);
|
||||
w = __ieee754_logl(2.0*t+one/(__ieee754_sqrtl(x*x+one)+t));
|
||||
} else { /* 2.0 > |x| > 2**-28 */
|
||||
t = x*x;
|
||||
w =__log1pl(fabsl(x)+t/(one+__ieee754_sqrtl(one+t)));
|
||||
}
|
||||
if(hx>0x7fff) return w; else return -w;
|
||||
}
|
||||
weak_alias (__asinhl, asinhl)
|
87
sysdeps/libm-ieee754/s_cosl.c
Normal file
87
sysdeps/libm-ieee754/s_cosl.c
Normal file
@ -0,0 +1,87 @@
|
||||
/* s_cosl.c -- long double version of s_cos.c.
|
||||
* Conversion to long double by Ulrich Drepper,
|
||||
* Cygnus Support, drepper@cygnus.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#if defined(LIBM_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$NetBSD: $";
|
||||
#endif
|
||||
|
||||
/* cosl(x)
|
||||
* Return cosine function of x.
|
||||
*
|
||||
* kernel function:
|
||||
* __kernel_sinl ... sine function on [-pi/4,pi/4]
|
||||
* __kernel_cosl ... cosine function on [-pi/4,pi/4]
|
||||
* __ieee754_rem_pio2l ... argument reduction routine
|
||||
*
|
||||
* Method.
|
||||
* Let S,C and T denote the sin, cos and tan respectively on
|
||||
* [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
|
||||
* in [-pi/4 , +pi/4], and let n = k mod 4.
|
||||
* We have
|
||||
*
|
||||
* n sin(x) cos(x) tan(x)
|
||||
* ----------------------------------------------------------
|
||||
* 0 S C T
|
||||
* 1 C -S -1/T
|
||||
* 2 -S -C T
|
||||
* 3 -C S -1/T
|
||||
* ----------------------------------------------------------
|
||||
*
|
||||
* Special cases:
|
||||
* Let trig be any of sin, cos, or tan.
|
||||
* trig(+-INF) is NaN, with signals;
|
||||
* trig(NaN) is that NaN;
|
||||
*
|
||||
* Accuracy:
|
||||
* TRIG(x) returns trig(x) nearly rounded
|
||||
*/
|
||||
|
||||
#include "math.h"
|
||||
#include "math_private.h"
|
||||
|
||||
#ifdef __STDC__
|
||||
long double __cosl(long double x)
|
||||
#else
|
||||
long double __cosl(x)
|
||||
long double x;
|
||||
#endif
|
||||
{
|
||||
long double y[2],z=0.0;
|
||||
int32_t n, se;
|
||||
|
||||
/* High word of x. */
|
||||
GET_LDOUBLE_EXP(se,x);
|
||||
|
||||
/* |x| ~< pi/4 */
|
||||
se &= 0x7fff;
|
||||
if(ix <= 0x3ffe) return __kernel_cosl(x,z);
|
||||
|
||||
/* cos(Inf or NaN) is NaN */
|
||||
else if (se==0x7fff) return x-x;
|
||||
|
||||
/* argument reduction needed */
|
||||
else {
|
||||
n = __ieee754_rem_pio2l(x,y);
|
||||
switch(n&3) {
|
||||
case 0: return __kernel_cosl(y[0],y[1]);
|
||||
case 1: return -__kernel_sinl(y[0],y[1],1);
|
||||
case 2: return -__kernel_cosl(y[0],y[1]);
|
||||
default:
|
||||
return __kernel_sinl(y[0],y[1],1);
|
||||
}
|
||||
}
|
||||
}
|
||||
weak_alias (__cosl, cosl)
|
87
sysdeps/libm-ieee754/s_sinl.c
Normal file
87
sysdeps/libm-ieee754/s_sinl.c
Normal file
@ -0,0 +1,87 @@
|
||||
/* s_sinl.c -- long double version of s_sin.c.
|
||||
* Conversion to long double by Ulrich Drepper,
|
||||
* Cygnus Support, drepper@cygnus.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#if defined(LIBM_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$NetBSD: $";
|
||||
#endif
|
||||
|
||||
/* sinl(x)
|
||||
* Return sine function of x.
|
||||
*
|
||||
* kernel function:
|
||||
* __kernel_sinl ... sine function on [-pi/4,pi/4]
|
||||
* __kernel_cosl ... cose function on [-pi/4,pi/4]
|
||||
* __ieee754_rem_pio2l ... argument reduction routine
|
||||
*
|
||||
* Method.
|
||||
* Let S,C and T denote the sin, cos and tan respectively on
|
||||
* [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
|
||||
* in [-pi/4 , +pi/4], and let n = k mod 4.
|
||||
* We have
|
||||
*
|
||||
* n sin(x) cos(x) tan(x)
|
||||
* ----------------------------------------------------------
|
||||
* 0 S C T
|
||||
* 1 C -S -1/T
|
||||
* 2 -S -C T
|
||||
* 3 -C S -1/T
|
||||
* ----------------------------------------------------------
|
||||
*
|
||||
* Special cases:
|
||||
* Let trig be any of sin, cos, or tan.
|
||||
* trig(+-INF) is NaN, with signals;
|
||||
* trig(NaN) is that NaN;
|
||||
*
|
||||
* Accuracy:
|
||||
* TRIG(x) returns trig(x) nearly rounded
|
||||
*/
|
||||
|
||||
#include "math.h"
|
||||
#include "math_private.h"
|
||||
|
||||
#ifdef __STDC__
|
||||
long double __sinl(long double x)
|
||||
#else
|
||||
long double __sinl(x)
|
||||
long double x;
|
||||
#endif
|
||||
{
|
||||
long double y[2],z=0.0;
|
||||
int32_t n, se;
|
||||
|
||||
/* High word of x. */
|
||||
GET_LDOUBLE_EXP(se,x);
|
||||
|
||||
/* |x| ~< pi/4 */
|
||||
se &= 0x7fff;
|
||||
if(se <= 0x3ffe) return __kernel_sinl(x,z,0);
|
||||
|
||||
/* sin(Inf or NaN) is NaN */
|
||||
else if (se==0x7fff) return x-x;
|
||||
|
||||
/* argument reduction needed */
|
||||
else {
|
||||
n = __ieee754_rem_pio2l(x,y);
|
||||
switch(n&3) {
|
||||
case 0: return __kernel_sinl(y[0],y[1],1);
|
||||
case 1: return __kernel_cosl(y[0],y[1]);
|
||||
case 2: return -__kernel_sinl(y[0],y[1],1);
|
||||
default:
|
||||
return -__kernel_cosl(y[0],y[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
weak_alias (__sinl, sinl)
|
91
sysdeps/libm-ieee754/s_tanhl.c
Normal file
91
sysdeps/libm-ieee754/s_tanhl.c
Normal file
@ -0,0 +1,91 @@
|
||||
/* s_tanhl.c -- long double version of s_tanh.c.
|
||||
* Conversion to long double by Ulrich Drepper,
|
||||
* Cygnus Support, drepper@cygnus.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#if defined(LIBM_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$NetBSD: $";
|
||||
#endif
|
||||
|
||||
/* tanhl(x)
|
||||
* Return the Hyperbolic Tangent of x
|
||||
*
|
||||
* Method :
|
||||
* x -x
|
||||
* e - e
|
||||
* 0. tanhl(x) is defined to be -----------
|
||||
* x -x
|
||||
* e + e
|
||||
* 1. reduce x to non-negative by tanhl(-x) = -tanhl(x).
|
||||
* 2. 0 <= x <= 2**-55 : tanhl(x) := x*(one+x)
|
||||
* -t
|
||||
* 2**-55 < x <= 1 : tanhl(x) := -----; t = expm1l(-2x)
|
||||
* t + 2
|
||||
* 2
|
||||
* 1 <= x <= 23.0 : tanhl(x) := 1- ----- ; t=expm1l(2x)
|
||||
* t + 2
|
||||
* 23.0 < x <= INF : tanhl(x) := 1.
|
||||
*
|
||||
* Special cases:
|
||||
* tanhl(NaN) is NaN;
|
||||
* only tanhl(0)=0 is exact for finite argument.
|
||||
*/
|
||||
|
||||
#include "math.h"
|
||||
#include "math_private.h"
|
||||
|
||||
#ifdef __STDC__
|
||||
static const long double one=1.0, two=2.0, tiny = 1.0e-16380L;
|
||||
#else
|
||||
static long double one=1.0, two=2.0, tiny = 1.0e-16380L;
|
||||
#endif
|
||||
|
||||
#ifdef __STDC__
|
||||
long double __tanhl(long double x)
|
||||
#else
|
||||
long double __tanhl(x)
|
||||
long double x;
|
||||
#endif
|
||||
{
|
||||
long double t,z;
|
||||
int32_t se,j0,j1,ix;
|
||||
|
||||
/* High word of |x|. */
|
||||
GET_LDOUBLE_WORDS(se,j0,j1,x);
|
||||
ix = se&0x7fff;
|
||||
|
||||
/* x is INF or NaN */
|
||||
if(ix==0x7fff) {
|
||||
if (se>=0x7fff) return one/x+one; /* tanhl(+-inf)=+-1 */
|
||||
else return one/x-one; /* tanhl(NaN) = NaN */
|
||||
}
|
||||
|
||||
/* |x| < 23 */
|
||||
if (ix < 0x4003 || (ix == 0x4003 && j0 < 0xb8000000)) { /* |x|<23 */
|
||||
if (ix<0x3fc8) /* |x|<2**-55 */
|
||||
return x*(one+x); /* tanh(small) = small */
|
||||
if (ix>=0x3fff) { /* |x|>=1 */
|
||||
t = __expm1l(two*fabsl(x));
|
||||
z = one - two/(t+two);
|
||||
} else {
|
||||
t = __expm1l(-two*fabsl(x));
|
||||
z= -t/(t+two);
|
||||
}
|
||||
/* |x| > 23, return +-1 */
|
||||
} else {
|
||||
z = one - tiny; /* raised inexact flag */
|
||||
}
|
||||
return (se>0x7fff)? z: -z;
|
||||
}
|
||||
weak_alias (__tanhl, tanhl)
|
81
sysdeps/libm-ieee754/s_tanl.c
Normal file
81
sysdeps/libm-ieee754/s_tanl.c
Normal file
@ -0,0 +1,81 @@
|
||||
/* s_tanl.c -- long double version of s_tan.c.
|
||||
* Conversion to long double by Ulrich Drepper,
|
||||
* Cygnus Support, drepper@cygnus.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
*
|
||||
* Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
* Permission to use, copy, modify, and distribute this
|
||||
* software is freely granted, provided that this notice
|
||||
* is preserved.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
#if defined(LIBM_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$NetBSD: $";
|
||||
#endif
|
||||
|
||||
/* tanl(x)
|
||||
* Return tangent function of x.
|
||||
*
|
||||
* kernel function:
|
||||
* __kernel_tanl ... tangent function on [-pi/4,pi/4]
|
||||
* __ieee754_rem_pio2l ... argument reduction routine
|
||||
*
|
||||
* Method.
|
||||
* Let S,C and T denote the sin, cos and tan respectively on
|
||||
* [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
|
||||
* in [-pi/4 , +pi/4], and let n = k mod 4.
|
||||
* We have
|
||||
*
|
||||
* n sin(x) cos(x) tan(x)
|
||||
* ----------------------------------------------------------
|
||||
* 0 S C T
|
||||
* 1 C -S -1/T
|
||||
* 2 -S -C T
|
||||
* 3 -C S -1/T
|
||||
* ----------------------------------------------------------
|
||||
*
|
||||
* Special cases:
|
||||
* Let trig be any of sin, cos, or tan.
|
||||
* trig(+-INF) is NaN, with signals;
|
||||
* trig(NaN) is that NaN;
|
||||
*
|
||||
* Accuracy:
|
||||
* TRIG(x) returns trig(x) nearly rounded
|
||||
*/
|
||||
|
||||
#include "math.h"
|
||||
#include "math_private.h"
|
||||
|
||||
#ifdef __STDC__
|
||||
long double __tanl(long double x)
|
||||
#else
|
||||
long double __tanl(x)
|
||||
long double x;
|
||||
#endif
|
||||
{
|
||||
long double y[2],z=0.0;
|
||||
int32_t n, se;
|
||||
|
||||
/* High word of x. */
|
||||
GET_LDOUBLE_EXP(se,x);
|
||||
|
||||
/* |x| ~< pi/4 */
|
||||
se &= 0x7fff;
|
||||
if(ix <= 0x3ffe) return __kernel_tanl(x,z,1);
|
||||
|
||||
/* tan(Inf or NaN) is NaN */
|
||||
else if (se==0x7fff) return x-x; /* NaN */
|
||||
|
||||
/* argument reduction needed */
|
||||
else {
|
||||
n = __ieee754_rem_pio2l(x,y);
|
||||
return __kernel_tanl(y[0],y[1],1-((n&1)<<1)); /* 1 -- n even
|
||||
-1 -- n odd */
|
||||
}
|
||||
}
|
||||
weak_alias (__tanl, tanl)
|
@ -25,11 +25,7 @@ ifneq (mach,$(subdir))
|
||||
# Subdirectories other than mach/ might use the generated Mach headers.
|
||||
# So make sure we get a chance to run in mach/ to make them before all else.
|
||||
|
||||
ifdef objpfx
|
||||
mach-objpfx = $(objpfx)
|
||||
else
|
||||
mach-objpfx = $(..)mach/
|
||||
endif
|
||||
mach-objpfx = $(common-objpfx)mach/
|
||||
|
||||
# These are all the generated files that <mach.h> includes.
|
||||
mach-before-compile := $(mach-objpfx)mach-shortcuts.h \
|
||||
|
@ -41,11 +41,7 @@ ifeq (,$(filter mach hurd,$(subdir)))
|
||||
# (But we don't want to do this in mach/, because hurd/ needs some things
|
||||
# there, and we know mach/ doesn't need anything from hurd/.)
|
||||
|
||||
ifdef objpfx
|
||||
hurd-objpfx = $(objpfx)
|
||||
else
|
||||
hurd-objpfx = $(..)hurd/
|
||||
endif
|
||||
hurd-objpfx = $(common-objpfx)hurd/
|
||||
|
||||
# These are all the generated headers that <hurd.h> includes.
|
||||
before-compile += $(patsubst %,$(hurd-objpfx)hurd/%.h,io fs process)
|
||||
@ -104,12 +100,10 @@ endif
|
||||
|
||||
# For the shared library, we don't need to do the linker script machination.
|
||||
# Instead, we specify the required libraries when building the shared object.
|
||||
rpcuserlibs := $(firstword $(objdir) $(..)mach)/libmachuser.so \
|
||||
$(firstword $(objdir) $(..)hurd)/libhurduser.so
|
||||
rpcuserlibs := $(common-objpfx)mach/libmachuser.so \
|
||||
$(common-objpfx)hurd/libhurduser.so
|
||||
$(common-objpfx)libc.so: $(rpcuserlibs)
|
||||
ifndef objpfx
|
||||
rpath-link += $(..)mach:$(..)hurd
|
||||
endif
|
||||
rpath-link += $(common-objpfx)mach:$(common-objpfx)hurd
|
||||
|
||||
# The RPC stubs from these libraries are needed in building the dynamic
|
||||
# linker, too. It must be self-contained, so we link the needed PIC
|
||||
|
@ -209,7 +209,7 @@ common-generated := $(common-generated) \
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),stdio-common)
|
||||
ifeq (,$(filter-out $(sysdep_dir)/stub/ $(common-objpfx),\
|
||||
ifeq (,$(filter-out $(sysdep_dir)/stub/ $(objpfx),\
|
||||
$(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/errlist.c))))))
|
||||
|
||||
before-compile: $(objpfx)errlist.c
|
||||
@ -302,4 +302,7 @@ ifndef no_deps
|
||||
endif
|
||||
endif
|
||||
|
||||
$(common-objpfx)s-proto.d: $(..)sysdeps/unix/s-proto.S $(before-compile)
|
||||
$(+make-deps)
|
||||
|
||||
endif
|
||||
|
@ -58,7 +58,7 @@ EOF
|
||||
|
||||
# Emit a compilation rule for this syscall.
|
||||
echo "\
|
||||
\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o): \$(objpfx)s-proto.d
|
||||
\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o): \$(common-objpfx)s-proto.d
|
||||
(echo '#include <sysdep.h>'; \\
|
||||
echo 'PSEUDO ($strong, $syscall, $nargs)'; \\
|
||||
echo ' ret'; \\
|
||||
|
@ -1,4 +1,5 @@
|
||||
alpha/ptrace.h alpha/regdef.h
|
||||
alpha/ptrace.halpha/regdef.h
|
||||
ieee_get_fp_control.S ieee_set_fp_control.S
|
||||
ioperm.c
|
||||
init-first.h
|
||||
clone.S
|
||||
|
@ -1,2 +1,3 @@
|
||||
sys/perm.h sys/vm86.h
|
||||
init-first.h
|
||||
close.S
|
||||
|
@ -1 +1,2 @@
|
||||
init-first.h
|
||||
clone.S
|
||||
|
@ -26,7 +26,8 @@ Compiled by GNU CC version "__VERSION__".\n\
|
||||
Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.\n\
|
||||
This is free software; see the source for copying conditions.\n\
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
|
||||
PARTICULAR PURPOSE.\n";
|
||||
PARTICULAR PURPOSE.\n\
|
||||
Report bugs to <bug-glibc@gnu.ai.mit.edu>.";
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user