mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-18 08:51:06 +00:00
Update.
1998-11-20 Ulrich Drepper <drepper@cygnus.com> * aclocal.m4 (LIBC_PROG_BINUTILS): Also add AR and RANLIB using the same method. * configure.in: Don't define AR and RANLIB here. * inet/gethstbyad_r.c: Define NEED__RES_HCONV and POSTPROCESS for host name res_hconf code. * inet/gethstbynm_r.c: Likewise. * nss/getXXbyYY_r.c: Include resolv/res_hconf.h if NEED__RES_HCONF is defined. Call res_hconf_init if necessary. If POSTPROCESS is defined execute the code. * resolv/Makefile (routines): Add res_hconf. (headers): Add res_hconf.h. * resolv/res_hconf.c: Pretty print. * resolv/res_hconf.h: Likewise. 1998-11-20 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/bits/byteswap.h: Fix typos in non-GCC definitions. Reported by Scott Bambrough <scottb@corelcomputer.com>. 1998-11-20 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * math/libm-test.c: Raise some epsilons a bit. 1998-11-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * Makeconfig ($(common-objpfx)sysd-sorted): Fix portability problems. 1998-11-20 Ulrich Drepper <drepper@cygnus.com> * Makefile (distribute): Add scripts/gen-sorted.awk.
This commit is contained in:
parent
bece5ca7c1
commit
5edb938769
34
ChangeLog
34
ChangeLog
@ -1,3 +1,37 @@
|
||||
1998-11-20 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* aclocal.m4 (LIBC_PROG_BINUTILS): Also add AR and RANLIB using the
|
||||
same method.
|
||||
* configure.in: Don't define AR and RANLIB here.
|
||||
|
||||
* inet/gethstbyad_r.c: Define NEED__RES_HCONV and POSTPROCESS for
|
||||
host name res_hconf code.
|
||||
* inet/gethstbynm_r.c: Likewise.
|
||||
* nss/getXXbyYY_r.c: Include resolv/res_hconf.h if NEED__RES_HCONF
|
||||
is defined. Call res_hconf_init if necessary. If POSTPROCESS is
|
||||
defined execute the code.
|
||||
* resolv/Makefile (routines): Add res_hconf.
|
||||
(headers): Add res_hconf.h.
|
||||
* resolv/res_hconf.c: Pretty print.
|
||||
* resolv/res_hconf.h: Likewise.
|
||||
|
||||
1998-11-20 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/generic/bits/byteswap.h: Fix typos in non-GCC
|
||||
definitions. Reported by Scott Bambrough <scottb@corelcomputer.com>.
|
||||
|
||||
1998-11-20 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||
|
||||
* math/libm-test.c: Raise some epsilons a bit.
|
||||
|
||||
1998-11-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||
|
||||
* Makeconfig ($(common-objpfx)sysd-sorted): Fix portability problems.
|
||||
|
||||
1998-11-20 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* Makefile (distribute): Add scripts/gen-sorted.awk.
|
||||
|
||||
1998-11-19 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* posix/regex.c (regex_compile): Handle extra long class names
|
||||
|
195
FAQ
195
FAQ
@ -22,9 +22,9 @@ please let me know.
|
||||
1.2. What compiler do I need to build GNU libc?
|
||||
1.3. When I try to compile glibc I get only error messages.
|
||||
What's wrong?
|
||||
1.4. Do I need a special linker or archiver?
|
||||
1.4. Do I need a special linker or assembler?
|
||||
1.5. Which compiler should I use for powerpc?
|
||||
1.6. Do I need some more things to compile GNU C Library?
|
||||
1.6. Do I need some more things to compile the GNU C Library?
|
||||
1.7. What version of the Linux kernel headers should be used?
|
||||
1.8. The compiler hangs while building iconvdata modules. What's
|
||||
wrong?
|
||||
@ -58,38 +58,41 @@ please let me know.
|
||||
functions `stat', `lstat', `fstat', and `mknod' and while
|
||||
linking on my Linux system I get error messages. How is
|
||||
this supposed to work?
|
||||
2.8. How can I compile gcc 2.7.2.1 from the gcc source code using
|
||||
2.8. When I run an executable on one system which I compiled on
|
||||
another, I get dynamic linker errors. Both systems have the same
|
||||
version of glibc installed. What's wrong?
|
||||
2.9. How can I compile gcc 2.7.2.1 from the gcc source code using
|
||||
glibc 2.x?
|
||||
2.9. The `gencat' utility cannot process the catalog sources which
|
||||
2.10. The `gencat' utility cannot process the catalog sources which
|
||||
were used on my Linux libc5 based system. Why?
|
||||
2.10. Programs using libc have their messages translated, but other
|
||||
2.11. Programs using libc have their messages translated, but other
|
||||
behavior is not localized (e.g. collating order); why?
|
||||
2.11. I have set up /etc/nis.conf, and the Linux libc 5 with NYS
|
||||
2.12. I have set up /etc/nis.conf, and the Linux libc 5 with NYS
|
||||
works great. But the glibc NIS+ doesn't seem to work.
|
||||
2.12. I have killed ypbind to stop using NIS, but glibc
|
||||
2.13. I have killed ypbind to stop using NIS, but glibc
|
||||
continues using NIS.
|
||||
2.13. Under Linux/Alpha, I always get "do_ypcall: clnt_call:
|
||||
2.14. Under Linux/Alpha, I always get "do_ypcall: clnt_call:
|
||||
RPC: Unable to receive; errno = Connection refused" when using NIS.
|
||||
2.14. After installing glibc name resolving doesn't work properly.
|
||||
2.15. How do I create the databases for NSS?
|
||||
2.16. I have /usr/include/net and /usr/include/scsi as symlinks
|
||||
2.15. After installing glibc name resolving doesn't work properly.
|
||||
2.16. How do I create the databases for NSS?
|
||||
2.17. I have /usr/include/net and /usr/include/scsi as symlinks
|
||||
into my Linux source tree. Is that wrong?
|
||||
2.17. Programs like `logname', `top', `uptime' `users', `w' and
|
||||
2.18. Programs like `logname', `top', `uptime' `users', `w' and
|
||||
`who', show incorrect information about the (number of)
|
||||
users on my system. Why?
|
||||
2.18. After upgrading to glibc 2.1 with symbol versioning I get
|
||||
2.19. After upgrading to glibc 2.1 with symbol versioning I get
|
||||
errors about undefined symbols. What went wrong?
|
||||
2.19. When I start the program XXX after upgrading the library
|
||||
2.20. When I start the program XXX after upgrading the library
|
||||
I get
|
||||
XXX: Symbol `_sys_errlist' has different size in shared
|
||||
object, consider re-linking
|
||||
Why? What should I do?
|
||||
2.20. What do I need for C++ development?
|
||||
2.21. Even statically linked programs need some shared libraries
|
||||
2.21. What do I need for C++ development?
|
||||
2.22. Even statically linked programs need some shared libraries
|
||||
which is not acceptable for me. What can I do?
|
||||
2.22. I just upgraded my Linux system to glibc and now I get
|
||||
2.23. I just upgraded my Linux system to glibc and now I get
|
||||
errors whenever I try to link any program.
|
||||
2.23. When I use nscd the machine freezes.
|
||||
2.24. When I use nscd the machine freezes.
|
||||
|
||||
3. Source and binary incompatibilities, and what to do about them
|
||||
|
||||
@ -188,6 +191,9 @@ may not have all the features GNU libc requires. The current releases of
|
||||
egcs (1.0.3 and 1.1) and GNU CC (2.8.1) should work with the GNU C library
|
||||
(for powerpc see question question 1.5).
|
||||
|
||||
{ZW} You may have problems if you try to mix code compiled with
|
||||
EGCS and with GCC 2.8.1. See question 2.8 for details.
|
||||
|
||||
|
||||
1.3. When I try to compile glibc I get only error messages.
|
||||
What's wrong?
|
||||
@ -195,32 +201,27 @@ egcs (1.0.3 and 1.1) and GNU CC (2.8.1) should work with the GNU C library
|
||||
{UD} You definitely need GNU make to translate GNU libc. No other make
|
||||
program has the needed functionality.
|
||||
|
||||
We recommend version GNU make version 3.75. Versions 3.76 and 3.76.1 have
|
||||
bugs which appear when building big projects like GNU libc. Versions before
|
||||
3.74 have bugs and/or are missing features.
|
||||
We recommend version GNU make version 3.75 or 3.77. Versions before 3.75
|
||||
have bugs and/or are missing features. Version 3.76 has bugs which
|
||||
appear when building big projects like GNU libc. 3.76.1 appears to work but
|
||||
some people have reported problems.
|
||||
|
||||
|
||||
1.4. Do I need a special linker or archiver?
|
||||
1.4. Do I need a special linker or assembler?
|
||||
|
||||
{UD} You may be able to use your system linker, but GNU libc works best with
|
||||
GNU binutils.
|
||||
{ZW} If you want a shared library, you need a linker and assembler that
|
||||
understand all the features of ELF, including weak and versioned symbols.
|
||||
The static library can be compiled with less featureful tools, but lacks key
|
||||
features such as NSS.
|
||||
|
||||
On systems where the native linker does not support weak symbols you will
|
||||
not get a fully ISO C compliant C library. Generally speaking you should
|
||||
use the GNU binutils if they provide at least the same functionality as your
|
||||
system's tools.
|
||||
For Linux or Hurd, you want binutils 2.8.1.0.23, 2.9.1, or 2.9.1.0.15 or
|
||||
higher. These are the only versions we've tested and found reliable. Other
|
||||
versions after 2.8.1.0.23 may work but we don't recommend them, especially
|
||||
not when C++ is involved. Earlier versions do not work at all.
|
||||
|
||||
Always get the newest release of GNU binutils available. Older releases are
|
||||
known to have bugs that prevent a successful compilation.
|
||||
|
||||
{AJ} Please don't use binutils 2.7. That release contains some bugs which
|
||||
might make it necessary that you've got to recompile all your glibc2
|
||||
binaries when upgrading the GNU C library.
|
||||
|
||||
{ZW} As of release 2.1 a linker supporting symbol versions is required. For
|
||||
Linux, get binutils-2.8.1.0.23 or later. Other systems may have native
|
||||
linker support, but it's moot right now, because glibc has not been ported
|
||||
to them.
|
||||
Other operating systems may come with system tools that have all the
|
||||
necessary features, but this is moot because glibc hasn't been ported to
|
||||
them.
|
||||
|
||||
|
||||
1.5. Which compiler should I use for powerpc?
|
||||
@ -237,7 +238,7 @@ variables. There is a temporary patch at:
|
||||
Later versions of egcs may fix this problem.
|
||||
|
||||
|
||||
1.6. Do I need some more things to compile GNU C Library?
|
||||
1.6. Do I need some more things to compile the GNU C Library?
|
||||
|
||||
{UD} Yes, there are some more :-).
|
||||
|
||||
@ -247,15 +248,15 @@ Later versions of egcs may fix this problem.
|
||||
site. (We distribute compiled message catalogs, but they may not be
|
||||
updated in patches.)
|
||||
|
||||
* Some files depend on special tools. E.g., files ending in .gperf
|
||||
need a `gperf' program. The GNU version (part of libg++) is known
|
||||
to work while some vendor versions do not.
|
||||
* Some files are built with special tools. E.g., files ending in .gperf
|
||||
need a `gperf' program. The GNU version (now available in a separate
|
||||
package, formerly only as part of libg++) is known to work while some
|
||||
vendor versions do not.
|
||||
|
||||
You should not need these tools unless you change the source files.
|
||||
|
||||
* Some scripts need perl5 - but at the moment those scripts are not
|
||||
vital for building and installing GNU libc (some data files will not
|
||||
be created).
|
||||
* Perl 5 is needed if you wish to test an installation of GNU libc
|
||||
as the primary C library.
|
||||
|
||||
* When compiling for Linux, the header files of the Linux kernel must
|
||||
be available to the compiler as <linux/*.h> and <asm/*.h>.
|
||||
@ -298,7 +299,7 @@ recompile libc if you ever upgrade to kernel 2.1 or 2.2. To tell libc which
|
||||
headers to use, give configure the --with-headers switch
|
||||
(e.g. --with-headers=/usr/src/linux-2.1.107/include).
|
||||
|
||||
Note that you must configure the 2.1 kernel if you do this; otherwise libc
|
||||
Note that you must configure the 2.1 kernel if you do this, otherwise libc
|
||||
will be unable to find <linux/version.h>. Just copy .config from your 2.0
|
||||
kernel sources to the 2.1 tree, do `make oldconfig', and say no to all the
|
||||
new options.
|
||||
@ -307,8 +308,9 @@ new options.
|
||||
1.8. The compiler hangs while building iconvdata modules. What's
|
||||
wrong?
|
||||
|
||||
{ZW} This is a problem of older GCC. Initialization of large static arrays
|
||||
is very slow. The compiler will eventually finish; give it time.
|
||||
{ZW} This is a problem with old versions of GCC. Initialization of large
|
||||
static arrays is very slow. The compiler will eventually finish; give it
|
||||
time.
|
||||
|
||||
The problem is fixed in egcs 1.1 but not in earlier releases.
|
||||
|
||||
@ -675,7 +677,36 @@ not a symlink to libc.so.6. It should look something like this:
|
||||
GROUP ( libc.so.6 libc_nonshared.a )
|
||||
|
||||
|
||||
2.8. How can I compile gcc 2.7.2.1 from the gcc source code using
|
||||
2.8. When I run an executable on one system which I compiled on
|
||||
another, I get dynamic linker errors. Both systems have the same
|
||||
version of glibc installed. What's wrong?
|
||||
|
||||
{ZW} Glibc on one of these systems was compiled with gcc 2.7 or 2.8, the
|
||||
other with egcs (any version). Egcs has functions in its internal
|
||||
`libgcc.a' to support exception handling with C++. They are linked into
|
||||
any program or dynamic library compiled with egcs, whether it needs them or
|
||||
not. Dynamic libraries then turn around and export those functions again
|
||||
unless special steps are taken to prevent them.
|
||||
|
||||
When you link your program, it resolves its references to the exception
|
||||
functions to the ones exported accidentally by libc.so. That works fine as
|
||||
long as libc has those functions. On the other system, libc doesn't have
|
||||
those functions because it was compiled by gcc 2.8, and you get undefined
|
||||
symbol errors. The symbols in question are named things like
|
||||
`__register_frame_info'.
|
||||
|
||||
For glibc 2.0, the workaround is to not compile libc with egcs. We've also
|
||||
incorporated a patch which should prevent the EH functions sneaking into
|
||||
libc. It doesn't matter what compiler you use to compile your program.
|
||||
|
||||
For glibc 2.1, we've chosen to do it the other way around: libc.so
|
||||
explicitly provides the EH functions. This is to prevent other shared
|
||||
libraries from doing it. You must therefore compile glibc 2.1 with EGCS
|
||||
unless you don't care about ever importing binaries from other systems.
|
||||
Again, it doesn't matter what compiler you use for your programs.
|
||||
|
||||
|
||||
2.9. How can I compile gcc 2.7.2.1 from the gcc source code using
|
||||
glibc 2.x?
|
||||
|
||||
{AJ} There's only correct support for glibc 2.0.x in gcc 2.7.2.3 or later.
|
||||
@ -683,7 +714,7 @@ But you should get at least gcc 2.8.1 or egcs 1.0.2 (or later versions)
|
||||
instead.
|
||||
|
||||
|
||||
2.9. The `gencat' utility cannot process the catalog sources which
|
||||
2.10. The `gencat' utility cannot process the catalog sources which
|
||||
were used on my Linux libc5 based system. Why?
|
||||
|
||||
{UD} The `gencat' utility provided with glibc complies to the XPG standard.
|
||||
@ -718,7 +749,7 @@ files to the XPG4 form:
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
|
||||
2.10. Programs using libc have their messages translated, but other
|
||||
2.11. Programs using libc have their messages translated, but other
|
||||
behavior is not localized (e.g. collating order); why?
|
||||
|
||||
{ZW} Translated messages are automatically installed, but the locale
|
||||
@ -731,7 +762,7 @@ set up the French Canadian locale, simply issue the command
|
||||
Please see localedata/README in the source tree for further details.
|
||||
|
||||
|
||||
2.11. I have set up /etc/nis.conf, and the Linux libc 5 with NYS
|
||||
2.12. I have set up /etc/nis.conf, and the Linux libc 5 with NYS
|
||||
works great. But the glibc NIS+ doesn't seem to work.
|
||||
|
||||
{TK} The glibc NIS+ implementation uses a /var/nis/NIS_COLD_START file for
|
||||
@ -744,7 +775,7 @@ package; available at
|
||||
http://www-vt.uni-paderborn.de/~kukuk/linux/nisplus.html
|
||||
|
||||
|
||||
2.12. I have killed ypbind to stop using NIS, but glibc
|
||||
2.13. I have killed ypbind to stop using NIS, but glibc
|
||||
continues using NIS.
|
||||
|
||||
{TK} For faster NIS lookups, glibc uses the /var/yp/binding/ files from
|
||||
@ -755,7 +786,7 @@ Until ypbind 3.4 is released, you can find a patch at
|
||||
ftp://ftp.kernel.org/pub/linux/utils/net/NIS/ypbind-3.3-glibc4.diff.gz
|
||||
|
||||
|
||||
2.13. Under Linux/Alpha, I always get "do_ypcall: clnt_call:
|
||||
2.14. Under Linux/Alpha, I always get "do_ypcall: clnt_call:
|
||||
RPC: Unable to receive; errno = Connection refused" when using NIS.
|
||||
|
||||
{TK} You need a ypbind version which is 64bit clean. Some versions are not
|
||||
@ -764,14 +795,14 @@ you need the patch from ftp.kernel.org (See the previous question). I don't
|
||||
know about other versions.
|
||||
|
||||
|
||||
2.14. After installing glibc name resolving doesn't work properly.
|
||||
2.15. After installing glibc name resolving doesn't work properly.
|
||||
|
||||
{AJ} You probably should read the manual section describing nsswitch.conf
|
||||
(just type `info libc "NSS Configuration File"'). The NSS configuration
|
||||
file is usually the culprit.
|
||||
|
||||
|
||||
2.15. How do I create the databases for NSS?
|
||||
2.16. How do I create the databases for NSS?
|
||||
|
||||
{AJ} If you have an entry "db" in /etc/nsswitch.conf you should also create
|
||||
the database files. The glibc sources contain a Makefile which does the
|
||||
@ -782,7 +813,7 @@ database. Currently passwd, group, ethers, protocol, rpc, services shadow
|
||||
and netgroup are implemented.
|
||||
|
||||
|
||||
2.16. I have /usr/include/net and /usr/include/scsi as symlinks
|
||||
2.17. I have /usr/include/net and /usr/include/scsi as symlinks
|
||||
into my Linux source tree. Is that wrong?
|
||||
|
||||
{PB} This was necessary for libc5, but is not correct when using glibc.
|
||||
@ -793,14 +824,14 @@ in place before you install glibc. However, /usr/include/asm and
|
||||
/usr/include/linux should remain as they were.
|
||||
|
||||
|
||||
2.17. Programs like `logname', `top', `uptime' `users', `w' and
|
||||
2.18. Programs like `logname', `top', `uptime' `users', `w' and
|
||||
`who', show incorrect information about the (number of)
|
||||
users on my system. Why?
|
||||
|
||||
{MK} See question 3.2.
|
||||
|
||||
|
||||
2.18. After upgrading to glibc 2.1 with symbol versioning I get
|
||||
2.19. After upgrading to glibc 2.1 with symbol versioning I get
|
||||
errors about undefined symbols. What went wrong?
|
||||
|
||||
{AJ} The problem is caused either by wrong program code or tools. In the
|
||||
@ -814,7 +845,7 @@ price you might have to pay once for quite a number of advantages with
|
||||
symbol versioning.
|
||||
|
||||
|
||||
2.19. When I start the program XXX after upgrading the library
|
||||
2.20. When I start the program XXX after upgrading the library
|
||||
I get
|
||||
XXX: Symbol `_sys_errlist' has different size in shared
|
||||
object, consider re-linking
|
||||
@ -836,26 +867,26 @@ be possible that a symbol changed size when that should not have happened.
|
||||
So in case of doubt report such a warning message as a problem.
|
||||
|
||||
|
||||
2.20. What do I need for C++ development?
|
||||
2.21. What do I need for C++ development?
|
||||
|
||||
{HJ,AJ} You need either egcs 1.1 which comes directly with libstdc++ or
|
||||
gcc-2.8.1 together with libstdc++ 2.8.1.1. egcs 1.1 has the better C++
|
||||
support and works directly with glibc 2.1. If you use gcc-2.8.1 with
|
||||
libstdc++ 2.8.1.1, you need to modify libstdc++ a bit. A patch is available
|
||||
as:
|
||||
ftp://alpha.gnu.org/gnu/libstdc++-2.8.1.1-glibc2.1-diff.gz
|
||||
|
||||
Please note that libg++ 2.7.2 (and the Linux Versions 2.7.2.x) doesn't work
|
||||
very well with the GNU C library due to vtable thunks. If you're upgrading
|
||||
from glibc 2.0.x to 2.1 you have to recompile libstdc++ since the library
|
||||
compiled for 2.0 is not compatible due to the new Large File Support (LFS)
|
||||
in version 2.1.
|
||||
{HJ,AJ} You need either egcs 1.1 which comes directly with libstdc++ or
|
||||
gcc-2.8.1 together with libstdc++ 2.8.1.1. egcs 1.1 has the better C++
|
||||
support and works directly with glibc 2.1. If you use gcc-2.8.1 with
|
||||
libstdc++ 2.8.1.1, you need to modify libstdc++ a bit. A patch is available
|
||||
as:
|
||||
ftp://alpha.gnu.org/gnu/libstdc++-2.8.1.1-glibc2.1-diff.gz
|
||||
|
||||
Please note that libg++ 2.7.2 (and the Linux Versions 2.7.2.x) doesn't work
|
||||
very well with the GNU C library due to vtable thunks. If you're upgrading
|
||||
from glibc 2.0.x to 2.1 you have to recompile libstdc++ since the library
|
||||
compiled for 2.0 is not compatible due to the new Large File Support (LFS)
|
||||
in version 2.1.
|
||||
|
||||
{UD} But since in the case of a shared libstdc++ the version numbers should
|
||||
be different existing programs will continue to work.
|
||||
|
||||
|
||||
2.21. Even statically linked programs need some shared libraries
|
||||
2.22. Even statically linked programs need some shared libraries
|
||||
which is not acceptable for me. What can I do?
|
||||
|
||||
{AJ} NSS (for details just type `info libc "Name Service Switch"') won't
|
||||
@ -882,7 +913,7 @@ option is using NSS. There is no switch anymore. Therefore it is
|
||||
the behaviour of the programs on the system inconsistent.
|
||||
|
||||
|
||||
2.22. I just upgraded my Linux system to glibc and now I get
|
||||
2.23. I just upgraded my Linux system to glibc and now I get
|
||||
errors whenever I try to link any program.
|
||||
|
||||
{ZW} This happens when you have installed glibc as the primary C library but
|
||||
@ -901,15 +932,13 @@ detect these situations. If the script reports problems, something is
|
||||
really screwed up.
|
||||
|
||||
|
||||
2.23. When I use nscd the machine freezes.
|
||||
2.24. When I use nscd the machine freezes.
|
||||
|
||||
{UD} It is well known that you cannot use nscd with Linux 2.0.*. There
|
||||
is functionality missing in the kernel and work-arounds are not suitable.
|
||||
Beside this some parts of the kernel are too buggy when it comes to using
|
||||
threads.
|
||||
{UD} You cannot use nscd with Linux 2.0.*. There is functionality missing
|
||||
in the kernel and work-arounds are not suitable. Besides, some parts of the
|
||||
kernel are too buggy when it comes to using threads.
|
||||
|
||||
So you have the possibilities to run Linux 2.0.* or update to a higher
|
||||
version and start using nscd.
|
||||
If you need nscd, you have to use a 2.1 kernel.
|
||||
|
||||
Note that I have at this point no information about any other platform.
|
||||
|
||||
|
15
Makeconfig
15
Makeconfig
@ -789,14 +789,13 @@ $(common-objpfx)sysd-dirs: $(common-objpfx)config.make $(all-Subdirs-files)
|
||||
all-Depend-files = $(wildcard $(..)*/Depend)
|
||||
$(common-objpfx)sysd-sorted: $(..)scripts/gen-sorted.awk $(all-Depend-files) \
|
||||
$(common-objpfx)sysd-dirs $(..)Makeconfig
|
||||
(if test "$(all-Depend-files)"; then \
|
||||
for f in $(all-Depend-files); do \
|
||||
dir=$${f%%/*}; \
|
||||
while read on; do \
|
||||
echo "depend $$dir $$on"; \
|
||||
done < $$f; \
|
||||
done; \
|
||||
fi; \
|
||||
(files="$(all-Depend-files)"; \
|
||||
for f in $$files; do \
|
||||
dir=`echo $$f | sed 's/^$(..)\(.*\)\/[^/]*$$/\1/'`; \
|
||||
while read on; do \
|
||||
echo "depend $$dir $$on"; \
|
||||
done < $$f; \
|
||||
done; \
|
||||
for f in $(all-subdirs); do \
|
||||
echo $$f; \
|
||||
done \
|
||||
|
3
Makefile
3
Makefile
@ -253,7 +253,8 @@ distribute := README README.libm INSTALL FAQ FAQ.in NOTES NEWS BUGS \
|
||||
$(addprefix scripts/, \
|
||||
rellns-sh config.sub config.guess \
|
||||
mkinstalldirs move-if-change install-sh \
|
||||
test-installation.pl gen-FAQ.pl versions.awk)
|
||||
test-installation.pl gen-FAQ.pl versions.awk\
|
||||
gen-sorted.awk)
|
||||
|
||||
distribute := $(strip $(distribute))
|
||||
generated := $(generated) stubs.h
|
||||
|
11
aclocal.m4
vendored
11
aclocal.m4
vendored
@ -116,6 +116,17 @@ if test -n "$path_binutils"; then
|
||||
fi
|
||||
AS=`$CC -print-prog-name=as`
|
||||
LD=`$CC -print-prog-name=ld`
|
||||
AR=`$CC -print-prog-name=ar`
|
||||
AC_SUBST(AR)
|
||||
|
||||
# ranlib has to be treated a bit differently since it might not exist at all.
|
||||
RANLIB=`$CC -print-prog-name=ranlib`
|
||||
if test $RANLIB = ranlib; then
|
||||
# This extra check has to happen since gcc simply echos the parameter in
|
||||
# case it cannot find the value in its own directories.
|
||||
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
||||
fi
|
||||
AC_SUBST(RANLIB)
|
||||
|
||||
# Determine whether we are using GNU binutils.
|
||||
AC_CACHE_CHECK(whether $AS is GNU as, libc_cv_prog_as_gnu,
|
||||
|
@ -29,9 +29,9 @@
|
||||
((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)); }))
|
||||
#else
|
||||
static __inline unsigned short int
|
||||
__bswap16 (unsigned short int x)
|
||||
__bswap_16 (unsigned short int __bsx)
|
||||
{
|
||||
return ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8));
|
||||
return ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8));
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -44,7 +44,7 @@ __bswap16 (unsigned short int x)
|
||||
(((__bsx) & 0x0000ff00) << 8) | (((__bsx) & 0x000000ff) << 24)); }))
|
||||
#else
|
||||
static __inline unsigned int
|
||||
__bswap32 (unsigned int x)
|
||||
__bswap_32 (unsigned int __bsx)
|
||||
{
|
||||
return ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >> 8) |
|
||||
(((__bsx) & 0x0000ff00) << 8) | (((__bsx) & 0x000000ff) << 24));
|
||||
|
229
configure
vendored
229
configure
vendored
@ -1655,80 +1655,18 @@ if test -n "$path_binutils"; then
|
||||
fi
|
||||
AS=`$CC -print-prog-name=as`
|
||||
LD=`$CC -print-prog-name=ld`
|
||||
|
||||
# Determine whether we are using GNU binutils.
|
||||
echo $ac_n "checking whether $AS is GNU as""... $ac_c" 1>&6
|
||||
echo "configure:1662: checking whether $AS is GNU as" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_prog_as_gnu'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
# Most GNU programs take a -v and spit out some text including
|
||||
# the word 'GNU'. Some try to read stdin, so give them /dev/null.
|
||||
if $AS -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then
|
||||
libc_cv_prog_as_gnu=yes
|
||||
else
|
||||
libc_cv_prog_as_gnu=no
|
||||
fi
|
||||
rm -fr contest*
|
||||
fi
|
||||
|
||||
echo "$ac_t""$libc_cv_prog_as_gnu" 1>&6
|
||||
rm -f a.out
|
||||
gnu_as=$libc_cv_prog_as_gnu
|
||||
|
||||
echo $ac_n "checking whether $LD is GNU ld""... $ac_c" 1>&6
|
||||
echo "configure:1681: checking whether $LD is GNU ld" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_prog_ld_gnu'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
# Most GNU programs take a -v and spit out some text including
|
||||
# the word 'GNU'. Some try to read stdin, so give them /dev/null.
|
||||
if $LD -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then
|
||||
libc_cv_prog_ld_gnu=yes
|
||||
else
|
||||
libc_cv_prog_ld_gnu=no
|
||||
fi
|
||||
rm -fr contest*
|
||||
fi
|
||||
|
||||
echo "$ac_t""$libc_cv_prog_ld_gnu" 1>&6
|
||||
gnu_ld=$libc_cv_prog_ld_gnu
|
||||
|
||||
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}ar; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1701: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
if test -n "$AR"; then
|
||||
ac_cv_prog_AR="$AR" # Let the user override the test.
|
||||
else
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
ac_cv_prog_AR="${ac_tool_prefix}ar"
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
|
||||
fi
|
||||
fi
|
||||
AR="$ac_cv_prog_AR"
|
||||
if test -n "$AR"; then
|
||||
echo "$ac_t""$AR" 1>&6
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
|
||||
AR=`$CC -print-prog-name=ar`
|
||||
|
||||
|
||||
# ranlib has to be treated a bit differently since it might not exist at all.
|
||||
RANLIB=`$CC -print-prog-name=ranlib`
|
||||
if test $RANLIB = ranlib; then
|
||||
# This extra check has to happen since gcc simply echos the parameter in
|
||||
# case it cannot find the value in its own directories.
|
||||
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1732: checking for $ac_word" >&5
|
||||
echo "configure:1670: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1759,7 +1697,7 @@ if test -n "$ac_tool_prefix"; then
|
||||
# Extract the first word of "ranlib", so it can be a program name with args.
|
||||
set dummy ranlib; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1763: checking for $ac_word" >&5
|
||||
echo "configure:1701: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1790,10 +1728,51 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# Determine whether we are using GNU binutils.
|
||||
echo $ac_n "checking whether $AS is GNU as""... $ac_c" 1>&6
|
||||
echo "configure:1737: checking whether $AS is GNU as" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_prog_as_gnu'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
# Most GNU programs take a -v and spit out some text including
|
||||
# the word 'GNU'. Some try to read stdin, so give them /dev/null.
|
||||
if $AS -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then
|
||||
libc_cv_prog_as_gnu=yes
|
||||
else
|
||||
libc_cv_prog_as_gnu=no
|
||||
fi
|
||||
rm -fr contest*
|
||||
fi
|
||||
|
||||
echo "$ac_t""$libc_cv_prog_as_gnu" 1>&6
|
||||
rm -f a.out
|
||||
gnu_as=$libc_cv_prog_as_gnu
|
||||
|
||||
echo $ac_n "checking whether $LD is GNU ld""... $ac_c" 1>&6
|
||||
echo "configure:1756: checking whether $LD is GNU ld" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_prog_ld_gnu'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
# Most GNU programs take a -v and spit out some text including
|
||||
# the word 'GNU'. Some try to read stdin, so give them /dev/null.
|
||||
if $LD -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then
|
||||
libc_cv_prog_ld_gnu=yes
|
||||
else
|
||||
libc_cv_prog_ld_gnu=no
|
||||
fi
|
||||
rm -fr contest*
|
||||
fi
|
||||
|
||||
echo "$ac_t""$libc_cv_prog_ld_gnu" 1>&6
|
||||
gnu_ld=$libc_cv_prog_ld_gnu
|
||||
|
||||
# Extract the first word of "${ac_tool_prefix}mig", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}mig; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1797: checking for $ac_word" >&5
|
||||
echo "configure:1776: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MIG'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1833,7 +1812,7 @@ fi
|
||||
|
||||
# check if ranlib is necessary
|
||||
echo $ac_n "checking whether ranlib is necessary""... $ac_c" 1>&6
|
||||
echo "configure:1837: checking whether ranlib is necessary" >&5
|
||||
echo "configure:1816: checking whether ranlib is necessary" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ranlib_necessary'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1867,7 +1846,7 @@ fi
|
||||
# - two terminals occur directly after each other
|
||||
# - the path contains an element with a dot in it
|
||||
echo $ac_n "checking LD_LIBRARY_PATH variable""... $ac_c" 1>&6
|
||||
echo "configure:1871: checking LD_LIBRARY_PATH variable" >&5
|
||||
echo "configure:1850: checking LD_LIBRARY_PATH variable" >&5
|
||||
case ${LD_LIBRARY_PATH} in
|
||||
[:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
|
||||
ld_library_path_setting="contains current directory"
|
||||
@ -1887,7 +1866,7 @@ fi
|
||||
# Extract the first word of "bash", so it can be a program name with args.
|
||||
set dummy bash; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1891: checking for $ac_word" >&5
|
||||
echo "configure:1870: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1929,7 +1908,7 @@ if test "$BASH" = no; then
|
||||
# Extract the first word of "ksh", so it can be a program name with args.
|
||||
set dummy ksh; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1933: checking for $ac_word" >&5
|
||||
echo "configure:1912: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -1975,7 +1954,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1979: checking for $ac_word" >&5
|
||||
echo "configure:1958: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2006,7 +1985,7 @@ done
|
||||
# Extract the first word of "perl", so it can be a program name with args.
|
||||
set dummy perl; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2010: checking for $ac_word" >&5
|
||||
echo "configure:1989: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2040,7 +2019,7 @@ install_info_path=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
|
||||
# Extract the first word of "install-info", so it can be a program name with args.
|
||||
set dummy install-info; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2044: checking for $ac_word" >&5
|
||||
echo "configure:2023: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_INSTALL_INFO'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2072,7 +2051,7 @@ fi
|
||||
|
||||
if test "$INSTALL_INFO" != "no"; then
|
||||
echo $ac_n "checking for old Debian install-info""... $ac_c" 1>&6
|
||||
echo "configure:2076: checking for old Debian install-info" >&5
|
||||
echo "configure:2055: checking for old Debian install-info" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_old_debian_install_info'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2105,7 +2084,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
|
||||
echo "configure:2109: checking for signed size_t type" >&5
|
||||
echo "configure:2088: checking for signed size_t type" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2129,12 +2108,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
|
||||
echo "configure:2133: checking for libc-friendly stddef.h" >&5
|
||||
echo "configure:2112: checking for libc-friendly stddef.h" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2138 "configure"
|
||||
#line 2117 "configure"
|
||||
#include "confdefs.h"
|
||||
#define __need_size_t
|
||||
#define __need_wchar_t
|
||||
@ -2149,7 +2128,7 @@ size_t size; wchar_t wchar;
|
||||
if (&size == NULL || &wchar == NULL) abort ();
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2153: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2132: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_friendly_stddef=yes
|
||||
else
|
||||
@ -2168,7 +2147,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
|
||||
echo "configure:2172: checking whether we need to use -P to assemble .S files" >&5
|
||||
echo "configure:2151: checking whether we need to use -P to assemble .S files" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2191,7 +2170,7 @@ asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
|
||||
echo "configure:2195: checking for assembler global-symbol directive" >&5
|
||||
echo "configure:2174: checking for assembler global-symbol directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2221,7 +2200,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2225: checking for .set assembler directive" >&5
|
||||
echo "configure:2204: checking for .set assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2255,7 +2234,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2259: checking for .symver assembler directive" >&5
|
||||
echo "configure:2238: checking for .symver assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2274,7 +2253,7 @@ fi
|
||||
|
||||
echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
|
||||
echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
|
||||
echo "configure:2278: checking for ld --version-script" >&5
|
||||
echo "configure:2257: checking for ld --version-script" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2297,7 +2276,7 @@ EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--version-script,conftest.map
|
||||
1>&5'; { (eval echo configure:2301: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
1>&5'; { (eval echo configure:2280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
then
|
||||
libc_cv_ld_version_script_option=yes
|
||||
else
|
||||
@ -2335,7 +2314,7 @@ if test $VERSIONING = no; then
|
||||
fi
|
||||
if test $elf = yes; then
|
||||
echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2339: checking for .previous assembler directive" >&5
|
||||
echo "configure:2318: checking for .previous assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2343,7 +2322,7 @@ else
|
||||
.section foo_section
|
||||
.previous
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2347: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2326: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_previous_directive=yes
|
||||
else
|
||||
libc_cv_asm_previous_directive=no
|
||||
@ -2359,7 +2338,7 @@ EOF
|
||||
|
||||
else
|
||||
echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2363: checking for .popsection assembler directive" >&5
|
||||
echo "configure:2342: checking for .popsection assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2367,7 +2346,7 @@ else
|
||||
.pushsection foo_section
|
||||
.popsection
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2350: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_popsection_directive=yes
|
||||
else
|
||||
libc_cv_asm_popsection_directive=no
|
||||
@ -2387,12 +2366,12 @@ fi
|
||||
|
||||
if test $elf != yes; then
|
||||
echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
|
||||
echo "configure:2391: checking for .init and .fini sections" >&5
|
||||
echo "configure:2370: checking for .init and .fini sections" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2396 "configure"
|
||||
#line 2375 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
@ -2401,7 +2380,7 @@ asm (".section .init");
|
||||
asm (".text");
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2384: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_have_initfini=yes
|
||||
else
|
||||
@ -2429,19 +2408,19 @@ if test $elf = yes; then
|
||||
else
|
||||
if test $ac_cv_prog_cc_works = yes; then
|
||||
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
|
||||
echo "configure:2433: checking for _ prefix on C symbol names" >&5
|
||||
echo "configure:2412: checking for _ prefix on C symbol names" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2438 "configure"
|
||||
#line 2417 "configure"
|
||||
#include "confdefs.h"
|
||||
asm ("_glibc_foobar:");
|
||||
int main() {
|
||||
glibc_foobar ();
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
if { (eval echo configure:2424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
rm -rf conftest*
|
||||
libc_cv_asm_underscores=yes
|
||||
else
|
||||
@ -2456,17 +2435,17 @@ fi
|
||||
echo "$ac_t""$libc_cv_asm_underscores" 1>&6
|
||||
else
|
||||
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
|
||||
echo "configure:2460: checking for _ prefix on C symbol names" >&5
|
||||
echo "configure:2439: checking for _ prefix on C symbol names" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2465 "configure"
|
||||
#line 2444 "configure"
|
||||
#include "confdefs.h"
|
||||
void underscore_test(void) {
|
||||
return; }
|
||||
EOF
|
||||
if { (eval echo configure:2470: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if grep _underscore_test conftest* >/dev/null; then
|
||||
rm -f conftest*
|
||||
libc_cv_asm_underscores=yes
|
||||
@ -2498,7 +2477,7 @@ if test $elf = yes; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
|
||||
echo "configure:2502: checking for assembler .weak directive" >&5
|
||||
echo "configure:2481: checking for assembler .weak directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2521,7 +2500,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
|
||||
|
||||
if test $libc_cv_asm_weak_directive = no; then
|
||||
echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
|
||||
echo "configure:2525: checking for assembler .weakext directive" >&5
|
||||
echo "configure:2504: checking for assembler .weakext directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2559,7 +2538,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
|
||||
echo "configure:2563: checking for ld --no-whole-archive" >&5
|
||||
echo "configure:2542: checking for ld --no-whole-archive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2570,7 +2549,7 @@ __throw () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS
|
||||
-nostdlib -nostartfiles -Wl,--no-whole-archive
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:2574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:2553: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_ld_no_whole_archive=yes
|
||||
else
|
||||
libc_cv_ld_no_whole_archive=no
|
||||
@ -2584,7 +2563,7 @@ if test $libc_cv_ld_no_whole_archive = yes; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for gcc -fexceptions""... $ac_c" 1>&6
|
||||
echo "configure:2588: checking for gcc -fexceptions" >&5
|
||||
echo "configure:2567: checking for gcc -fexceptions" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_exceptions'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2595,7 +2574,7 @@ __throw () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS
|
||||
-nostdlib -nostartfiles -fexceptions
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:2599: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:2578: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_exceptions=yes
|
||||
else
|
||||
libc_cv_gcc_exceptions=no
|
||||
@ -2610,14 +2589,14 @@ fi
|
||||
|
||||
if test "$base_machine" = alpha ; then
|
||||
echo $ac_n "checking for function ..ng prefix""... $ac_c" 1>&6
|
||||
echo "configure:2614: checking for function ..ng prefix" >&5
|
||||
echo "configure:2593: checking for function ..ng prefix" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_alpha_ng_prefix'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<\EOF
|
||||
foo () { }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:2621: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:2600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
then
|
||||
libc_cv_gcc_alpha_ng_prefix=yes
|
||||
else
|
||||
@ -2644,19 +2623,19 @@ if test "$host_cpu" = powerpc ; then
|
||||
# Check for a bug present in at least versions 2.8.x of GCC
|
||||
# and versions 1.0.x of EGCS.
|
||||
echo $ac_n "checking whether clobbering cr0 causes problems""... $ac_c" 1>&6
|
||||
echo "configure:2648: checking whether clobbering cr0 causes problems" >&5
|
||||
echo "configure:2627: checking whether clobbering cr0 causes problems" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_c_asmcr0_bug'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2653 "configure"
|
||||
#line 2632 "configure"
|
||||
#include "confdefs.h"
|
||||
int tester(int x) { asm ("" : : : "cc"); return x & 123; }
|
||||
int main() {
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2639: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_c_asmcr0_bug='no'
|
||||
else
|
||||
@ -2678,12 +2657,12 @@ fi
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6
|
||||
echo "configure:2682: checking for DWARF2 unwind info support" >&5
|
||||
echo "configure:2661: checking for DWARF2 unwind info support" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
#line 2687 "configure"
|
||||
#line 2666 "configure"
|
||||
static char __EH_FRAME_BEGIN__;
|
||||
_start ()
|
||||
{
|
||||
@ -2710,7 +2689,7 @@ __bzero () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame_info
|
||||
-nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:2714: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:2693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_dwarf2_unwind_info=static
|
||||
else
|
||||
libc_cv_gcc_dwarf2_unwind_info=no
|
||||
@ -2718,7 +2697,7 @@ fi
|
||||
if test $libc_cv_gcc_dwarf2_unwind_info = no; then
|
||||
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame
|
||||
-nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:2722: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:2701: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_dwarf2_unwind_info=yes
|
||||
else
|
||||
libc_cv_gcc_dwarf2_unwind_info=no
|
||||
@ -2748,12 +2727,12 @@ EOF
|
||||
esac
|
||||
|
||||
echo $ac_n "checking for __builtin_expect""... $ac_c" 1>&6
|
||||
echo "configure:2752: checking for __builtin_expect" >&5
|
||||
echo "configure:2731: checking for __builtin_expect" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_builtin_expect'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
#line 2757 "configure"
|
||||
#line 2736 "configure"
|
||||
int foo (int a)
|
||||
{
|
||||
a = __builtin_expect (a, 10);
|
||||
@ -2761,7 +2740,7 @@ int foo (int a)
|
||||
}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:2765: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:2744: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_builtin_expect=yes
|
||||
else
|
||||
libc_cv_gcc_builtin_expect=no
|
||||
@ -2822,7 +2801,7 @@ if test "$uname" = "sysdeps/generic"; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
|
||||
echo "configure:2826: checking OS release for uname" >&5
|
||||
echo "configure:2805: checking OS release for uname" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2844,7 +2823,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
|
||||
uname_release="$libc_cv_uname_release"
|
||||
|
||||
echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
|
||||
echo "configure:2848: checking OS version for uname" >&5
|
||||
echo "configure:2827: checking OS version for uname" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -2866,7 +2845,7 @@ else
|
||||
fi
|
||||
|
||||
echo $ac_n "checking stdio selection""... $ac_c" 1>&6
|
||||
echo "configure:2870: checking stdio selection" >&5
|
||||
echo "configure:2849: checking stdio selection" >&5
|
||||
|
||||
case $stdio in
|
||||
libio) cat >> confdefs.h <<\EOF
|
||||
@ -2880,7 +2859,7 @@ echo "$ac_t""$stdio" 1>&6
|
||||
# Test for old glibc 2.0.x headers so that they can be removed properly
|
||||
# Search only in includedir.
|
||||
echo $ac_n "checking for old glibc 2.0.x headers""... $ac_c" 1>&6
|
||||
echo "configure:2884: checking for old glibc 2.0.x headers" >&5
|
||||
echo "configure:2863: checking for old glibc 2.0.x headers" >&5
|
||||
if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
|
||||
then
|
||||
old_glibc_headers=yes
|
||||
@ -2934,7 +2913,7 @@ if test $shared = default; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
|
||||
echo "configure:2938: checking whether -fPIC is default" >&5
|
||||
echo "configure:2917: checking whether -fPIC is default" >&5
|
||||
if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -472,8 +472,6 @@ fi
|
||||
AC_SUBST(cross_compiling)
|
||||
AC_PROG_CPP
|
||||
LIBC_PROG_BINUTILS
|
||||
AC_CHECK_TOOL(AR, ar)
|
||||
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
||||
AC_CHECK_TOOL(MIG, mig)
|
||||
|
||||
# if using special system headers, find out the compiler's sekrit
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
|
||||
@ -27,5 +27,12 @@
|
||||
#define ADD_VARIABLES addr, len, type
|
||||
#define NEED_H_ERRNO 1
|
||||
#define NEED__RES 1
|
||||
#define NEED__RES_HCONF 1
|
||||
#define POSTPROCESS \
|
||||
if (status == NSS_STATUS_SUCCESS) \
|
||||
{ \
|
||||
_res_hconf_reorder_addrs (resbuf); \
|
||||
_res_hconf_trim_domains (resbuf); \
|
||||
}
|
||||
|
||||
#include "../nss/getXXbyYY_r.c"
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
|
||||
@ -32,6 +32,10 @@
|
||||
#define ADD_VARIABLES name
|
||||
#define NEED_H_ERRNO 1
|
||||
#define NEED__RES 1
|
||||
#define NEED__RES_HCONF 1
|
||||
#define POSTPROCESS \
|
||||
if (status == NSS_STATUS_SUCCESS) \
|
||||
_res_hconf_reorder_addrs (resbuf);
|
||||
|
||||
#define HANDLE_DIGITS_DOTS 1
|
||||
#define HAVE_LOOKUP_BUFFER 1
|
||||
|
@ -1020,7 +1020,7 @@ atan2_test (void)
|
||||
check_eps ("atan2 (0.7,1) == 0.61072...", FUNC(atan2) (0.7,1),
|
||||
0.6107259643892086165L, CHOOSE(3e-17L, 0, 0));
|
||||
check_eps ("atan2 (0.4,0.0003) == 1.57004...", FUNC(atan2) (0.4, 0.0003),
|
||||
1.5700463269355215718L, CHOOSE(2e-19L, 0, 0));
|
||||
1.5700463269355215718L, CHOOSE(2e-19L, 0, 1.2e-7));
|
||||
|
||||
}
|
||||
|
||||
@ -1601,7 +1601,8 @@ log_test (void)
|
||||
check_eps ("log (e) == 1", FUNC(log) (M_El), 1, CHOOSE (1e-18L, 0, 9e-8L));
|
||||
check_eps ("log (1/e) == -1", FUNC(log) (1.0 / M_El), -1,
|
||||
CHOOSE (2e-18L, 0, 0));
|
||||
check ("log (2) == M_LN2", FUNC(log) (2), M_LN2l);
|
||||
check_eps ("log (2) == M_LN2", FUNC(log) (2), M_LN2l,
|
||||
CHOOSE (6e-20L, 0, 0));
|
||||
check_eps ("log (10) == M_LN10", FUNC(log) (10), M_LN10l,
|
||||
CHOOSE (1e-18L, 0, 0));
|
||||
check_eps ("log (0.7) == -0.3566749439...", FUNC(log) (0.7),
|
||||
@ -2743,11 +2744,11 @@ cexp_test (void)
|
||||
check_eps ("real(cexp(0.7 + i 1.2)) == 0.72969...", __real__ result,
|
||||
0.7296989091503236012L, CHOOSE(6e-17L, 2e-16, 2e-7));
|
||||
check_eps ("imag(cexp(0.7 + i 1.2)) == 1.87689...", __imag__ result,
|
||||
1.8768962328348102821L, CHOOSE(2e-16L, 0, 3e-7));
|
||||
1.8768962328348102821L, CHOOSE(2e-16L, 2.5e-16, 3e-7));
|
||||
|
||||
result = FUNC(cexp) (BUILD_COMPLEX (-2, -3));
|
||||
check_eps ("real(cexp(-2 - i 3)) == -0.13398...", __real__ result,
|
||||
-0.1339809149295426134L, CHOOSE(6e-20L, 0, 2e-8));
|
||||
-0.1339809149295426134L, CHOOSE(6.8e-20L, 0, 2e-8));
|
||||
check_eps ("imag(cexp(-2 - i 3)) == -0.01909...", __imag__ result,
|
||||
-0.0190985162611351964L, CHOOSE(4e-20L, 0, 2e-9));
|
||||
}
|
||||
@ -3745,13 +3746,13 @@ cacosh_test (void)
|
||||
check_eps ("real(cacosh(0.7 + i 1.2)) == 1.09276...", __real__ result,
|
||||
1.0927647857577371459L, CHOOSE(4e-17L, 3e-16, 2e-7));
|
||||
check_eps ("imag(cacosh(0.7 + i 1.2)) == 1.13518...", __imag__ result,
|
||||
1.1351827477151551089L, CHOOSE(2e-17L, 0, 0));
|
||||
1.1351827477151551089L, CHOOSE(2e-17L, 0, 1.2e-7));
|
||||
|
||||
result = FUNC(cacosh) (BUILD_COMPLEX (-2, -3));
|
||||
check_eps ("real(cacosh(-2 - i 3)) == -1.98338...", __real__ result,
|
||||
-1.9833870299165354323L, CHOOSE (2e-18L, 3e-16, 9e-7));
|
||||
check_eps ("imag(cacosh(-2 - i 3)) == 2.14144...", __imag__ result,
|
||||
2.1414491111159960199L, CHOOSE (3e-19, 5e-16, 1e-6));
|
||||
2.1414491111159960199L, CHOOSE (4.5e-19, 5e-16, 1e-6));
|
||||
}
|
||||
|
||||
|
||||
@ -4041,7 +4042,7 @@ casinh_test (void)
|
||||
check_eps ("real(casinh(-2 - i 3)) == -1.96863...", __real__ result,
|
||||
-1.9686379257930962917L, CHOOSE(7e-19L, 2e-15, 3e-6));
|
||||
check_eps ("imag(casinh(-2 - i 3)) == -0.96465...", __imag__ result,
|
||||
-0.9646585044076027920L, CHOOSE(4e-19L, 2e-15, 4e-7));
|
||||
-0.9646585044076027920L, CHOOSE(4e-19L, 2e-15, 4.5e-7));
|
||||
}
|
||||
|
||||
|
||||
@ -4333,7 +4334,7 @@ catanh_test (void)
|
||||
|
||||
result = FUNC(catanh) (BUILD_COMPLEX (0.7, 1.2));
|
||||
check_eps ("real(catanh(0.7 + i 1.2)) == 0.26007...", __real__ result,
|
||||
0.2600749516525135959L, CHOOSE (2e-18, 6e-17, 0));
|
||||
0.2600749516525135959L, CHOOSE (2e-18, 6e-17, 3e-8));
|
||||
check_eps ("imag(catanh(0.7 + i 1.2)) == 0.97024...", __imag__ result,
|
||||
0.9702403077950989849L, CHOOSE (3e-17, 2e-16, 4e-7));
|
||||
|
||||
@ -4806,7 +4807,7 @@ clog_test (void)
|
||||
check_eps ("real(clog(0.7 + i 1.2)) == 0.32876...", __real__ result,
|
||||
0.3287600014583970919L, CHOOSE(5e-17L, 6e-17, 3e-8));
|
||||
check_eps ("imag(clog(0.7 + i 1.2)) == 1.04272...", __imag__ result,
|
||||
1.0427218783685369524L, CHOOSE(2e-17L, 0, 0));
|
||||
1.0427218783685369524L, CHOOSE(2e-17L, 2.5e-16, 1.2e-7));
|
||||
|
||||
result = FUNC(clog) (BUILD_COMPLEX (-2, -3));
|
||||
check_eps ("real(clog(-2 - i 3)) == 1.28247...", __real__ result,
|
||||
@ -4988,7 +4989,7 @@ clog10_test (void)
|
||||
check_eps ("real(clog10(0.7 + i 1.2)) == 0.14277...", __real__ result,
|
||||
0.1427786545038868803L, CHOOSE(2e-17L, 6e-17, 2e-8));
|
||||
check_eps ("imag(clog10(0.7 + i 1.2)) == 0.45284...", __imag__ result,
|
||||
0.4528483579352493248L, CHOOSE(6e-18, 6e-17, 3e-8));
|
||||
0.4528483579352493248L, CHOOSE(6e-18, 6e-17, 6e-8));
|
||||
|
||||
result = FUNC(clog10) (BUILD_COMPLEX (-2, -3));
|
||||
check_eps ("real(clog10(-2 - i 3)) == 0.55697...", __real__ result,
|
||||
@ -5181,7 +5182,7 @@ cpow_test (void)
|
||||
|
||||
result = FUNC (cpow) (BUILD_COMPLEX (2, 0), BUILD_COMPLEX (10, 0));
|
||||
check_eps ("real(cpow (2 + i0), (10 + i0)) == 1024", __real__ result, 1024,
|
||||
CHOOSE (2e-16L, 0, 0));
|
||||
CHOOSE (6e-16L, 0, 0));
|
||||
check ("imag(cpow (2 + i0), (10 + i0)) == 0", __imag__ result, 0);
|
||||
|
||||
result = FUNC (cpow) (BUILD_COMPLEX (M_El, 0), BUILD_COMPLEX (0, 2 * M_PIl));
|
||||
|
@ -22,6 +22,9 @@
|
||||
#ifdef USE_NSCD
|
||||
# include <nscd/nscd_proto.h>
|
||||
#endif
|
||||
#ifdef NEED__RES_HCONF
|
||||
# include <resolv/res_hconf.h>
|
||||
#endif
|
||||
|
||||
/*******************************************************************\
|
||||
|* Here we assume several symbols to be defined: *|
|
||||
@ -153,6 +156,10 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
|
||||
return -1;
|
||||
}
|
||||
#endif /* need _res */
|
||||
#ifdef NEED__RES_HCONF
|
||||
if (!_res_hconf.initialized)
|
||||
_res_hconf_init ();
|
||||
#endif /* need _res_hconf */
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -186,6 +193,9 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
|
||||
done:
|
||||
#endif
|
||||
*result = status == NSS_STATUS_SUCCESS ? resbuf : NULL;
|
||||
#ifdef POSTPROCESS
|
||||
POSTPROCESS;
|
||||
#endif
|
||||
return status == NSS_STATUS_SUCCESS ? 0 : -1;
|
||||
}
|
||||
|
||||
|
@ -23,9 +23,9 @@ subdir := resolv
|
||||
|
||||
headers := resolv.h netdb.h arpa/nameser.h sys/bitypes.h
|
||||
distribute := ../conf/portability.h mapv4v6addr.h mapv4v6hostent.h \
|
||||
Banner
|
||||
Banner res_hconf.h
|
||||
|
||||
routines := herror inet_addr inet_ntop inet_pton nsap_addr res_init
|
||||
routines := herror inet_addr inet_ntop inet_pton nsap_addr res_init res_hconf
|
||||
|
||||
tests = tst-aton
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
Contributed by David Mosberger (davidm@azstarnet.com).
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -32,6 +32,7 @@ to the original implementation:
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <net/if.h>
|
||||
|
||||
#include "res_hconf.h"
|
||||
|
||||
@ -46,19 +47,21 @@ to the original implementation:
|
||||
#define ENV_MULTI "RESOLV_MULTI"
|
||||
#define ENV_REORDER "RESOLV_REORDER"
|
||||
|
||||
static const char * arg_service_list (const char *, int, const char *,
|
||||
unsigned);
|
||||
static const char * arg_trimdomain_list (const char *, int, const char *,
|
||||
unsigned);
|
||||
static const char * arg_spoof (const char *, int, const char *, unsigned);
|
||||
static const char * arg_bool (const char *, int, const char *, unsigned);
|
||||
static const char *arg_service_list (const char *, int, const char *,
|
||||
unsigned int);
|
||||
static const char *arg_trimdomain_list (const char *, int, const char *,
|
||||
unsigned int);
|
||||
static const char *arg_spoof (const char *, int, const char *, unsigned int);
|
||||
static const char *arg_bool (const char *, int, const char *, unsigned int);
|
||||
|
||||
static struct cmd {
|
||||
const char * name;
|
||||
const char * (*parse_args)(const char * filename, int line_num,
|
||||
const char * args, unsigned arg);
|
||||
unsigned arg;;
|
||||
} cmd[] = {
|
||||
static struct cmd
|
||||
{
|
||||
const char *name;
|
||||
const char *(*parse_args) (const char * filename, int line_num,
|
||||
const char * args, unsigned int arg);
|
||||
unsigned int arg;
|
||||
} cmd[] =
|
||||
{
|
||||
{"order", arg_service_list, 0},
|
||||
{"trim", arg_trimdomain_list, 0},
|
||||
{"spoof", arg_spoof, 0},
|
||||
@ -68,10 +71,12 @@ static struct cmd {
|
||||
{"reorder", arg_bool, HCONF_FLAG_REORDER}
|
||||
};
|
||||
|
||||
/* Structure containing the state. */
|
||||
struct hconf _res_hconf;
|
||||
|
||||
/* Skip white space. */
|
||||
static const char *
|
||||
skip_ws (const char * str)
|
||||
skip_ws (const char *str)
|
||||
{
|
||||
while (isspace (*str)) ++str;
|
||||
return str;
|
||||
@ -80,29 +85,32 @@ skip_ws (const char * str)
|
||||
|
||||
/* Skip until whitespace, comma, end of line, or comment character. */
|
||||
static const char *
|
||||
skip_string (const char * str)
|
||||
skip_string (const char *str)
|
||||
{
|
||||
while (*str && !isspace (*str) && *str != '#' && *str != ',') ++str;
|
||||
while (*str && !isspace (*str) && *str != '#' && *str != ',')
|
||||
++str;
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
arg_service_list (const char * fname, int line_num, const char * args,
|
||||
unsigned arg)
|
||||
arg_service_list (const char *fname, int line_num, const char *args,
|
||||
unsigned int arg)
|
||||
{
|
||||
enum Name_Service service;
|
||||
const char * start;
|
||||
const char *start;
|
||||
size_t len;
|
||||
int i;
|
||||
static struct {
|
||||
const char * name;
|
||||
enum Name_Service service;
|
||||
} svcs[] = {
|
||||
{"bind", SERVICE_BIND},
|
||||
{"hosts", SERVICE_HOSTS},
|
||||
{"nis", SERVICE_NIS},
|
||||
};
|
||||
static struct
|
||||
{
|
||||
const char * name;
|
||||
enum Name_Service service;
|
||||
} svcs[] =
|
||||
{
|
||||
{"bind", SERVICE_BIND},
|
||||
{"hosts", SERVICE_HOSTS},
|
||||
{"nis", SERVICE_NIS},
|
||||
};
|
||||
|
||||
do
|
||||
{
|
||||
@ -113,7 +121,7 @@ arg_service_list (const char * fname, int line_num, const char * args,
|
||||
service = SERVICE_NONE;
|
||||
for (i = 0; i < sizeof (svcs) / sizeof (svcs[0]); ++i)
|
||||
{
|
||||
if (strncasecmp (start, svcs[i].name, len) == 0
|
||||
if (__strncasecmp (start, svcs[i].name, len) == 0
|
||||
&& len == strlen (svcs[i].name))
|
||||
{
|
||||
service = svcs[i].service;
|
||||
@ -137,7 +145,9 @@ arg_service_list (const char * fname, int line_num, const char * args,
|
||||
args = skip_ws (args);
|
||||
switch (*args)
|
||||
{
|
||||
case ',': case ';': case ':':
|
||||
case ',':
|
||||
case ';':
|
||||
case ':':
|
||||
args = skip_ws (++args);
|
||||
if (!*args || *args == '#')
|
||||
{
|
||||
@ -156,8 +166,8 @@ arg_service_list (const char * fname, int line_num, const char * args,
|
||||
|
||||
|
||||
static const char *
|
||||
arg_trimdomain_list (const char * fname, int line_num, const char * args,
|
||||
unsigned flag)
|
||||
arg_trimdomain_list (const char *fname, int line_num, const char *args,
|
||||
unsigned int flag)
|
||||
{
|
||||
const char * start;
|
||||
size_t len;
|
||||
@ -176,7 +186,7 @@ arg_trimdomain_list (const char * fname, int line_num, const char * args,
|
||||
return 0;
|
||||
}
|
||||
_res_hconf.trimdomain[_res_hconf.num_trimdomains++] =
|
||||
strndup (start, len);
|
||||
__strndup (start, len);
|
||||
args = skip_ws (args);
|
||||
switch (*args)
|
||||
{
|
||||
@ -199,21 +209,21 @@ arg_trimdomain_list (const char * fname, int line_num, const char * args,
|
||||
|
||||
|
||||
static const char *
|
||||
arg_spoof (const char * fname, int line_num, const char * args, unsigned flag)
|
||||
arg_spoof (const char *fname, int line_num, const char *args, unsigned flag)
|
||||
{
|
||||
const char * start = args;
|
||||
const char *start = args;
|
||||
size_t len;
|
||||
|
||||
args = skip_string (args);
|
||||
len = args - start;
|
||||
|
||||
if (len == 3 && strncasecmp (start, "off", len) == 0)
|
||||
if (len == 3 && __strncasecmp (start, "off", len) == 0)
|
||||
_res_hconf.flags &= ~(HCONF_FLAG_SPOOF | HCONF_FLAG_SPOOFALERT);
|
||||
else
|
||||
{
|
||||
_res_hconf.flags |= (HCONF_FLAG_SPOOF | HCONF_FLAG_SPOOFALERT);
|
||||
if ((len == 6 && strncasecmp (start, "nowarn", len) == 0)
|
||||
|| !(len == 4 && strncasecmp (start, "warn", len) == 0))
|
||||
if ((len == 6 && __strncasecmp (start, "nowarn", len) == 0)
|
||||
|| !(len == 4 && __strncasecmp (start, "warn", len) == 0))
|
||||
_res_hconf.flags &= ~HCONF_FLAG_SPOOFALERT;
|
||||
}
|
||||
return args;
|
||||
@ -221,14 +231,14 @@ arg_spoof (const char * fname, int line_num, const char * args, unsigned flag)
|
||||
|
||||
|
||||
static const char *
|
||||
arg_bool (const char * fname, int line_num, const char * args, unsigned flag)
|
||||
arg_bool (const char *fname, int line_num, const char *args, unsigned flag)
|
||||
{
|
||||
if (strncasecmp (args, "on", 2) == 0)
|
||||
if (__strncasecmp (args, "on", 2) == 0)
|
||||
{
|
||||
args += 2;
|
||||
_res_hconf.flags |= flag;
|
||||
}
|
||||
else if (strncasecmp (args, "off", 3) == 0)
|
||||
else if (__strncasecmp (args, "off", 3) == 0)
|
||||
{
|
||||
args += 3;
|
||||
_res_hconf.flags &= ~flag;
|
||||
@ -244,10 +254,10 @@ arg_bool (const char * fname, int line_num, const char * args, unsigned flag)
|
||||
|
||||
|
||||
static void
|
||||
parse_line (const char * fname, int line_num, const char * str)
|
||||
parse_line (const char *fname, int line_num, const char *str)
|
||||
{
|
||||
const char * start;
|
||||
struct cmd * c = 0;
|
||||
const char *start;
|
||||
struct cmd *c = 0;
|
||||
size_t len;
|
||||
int i;
|
||||
|
||||
@ -268,7 +278,7 @@ parse_line (const char * fname, int line_num, const char * str)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!c)
|
||||
if (c == NULL)
|
||||
{
|
||||
fprintf (stderr, "%s: line %d: bad command `%s'\n",
|
||||
fname, line_num, start);
|
||||
@ -300,15 +310,18 @@ parse_line (const char * fname, int line_num, const char * str)
|
||||
void
|
||||
_res_hconf_init (void)
|
||||
{
|
||||
const char * hconf_name;
|
||||
const char *hconf_name;
|
||||
int line_num = 0;
|
||||
char buf[256], * end, * envval;
|
||||
FILE * fp;
|
||||
char buf[256], *end, *envval;
|
||||
FILE *fp;
|
||||
|
||||
memset (&_res_hconf, 0, sizeof (_res_hconf));
|
||||
if (_res_hconf.initialized)
|
||||
return;
|
||||
|
||||
memset (&_res_hconf, '\0', sizeof (_res_hconf));
|
||||
|
||||
hconf_name = getenv (ENV_HOSTCONF);
|
||||
if (!hconf_name)
|
||||
if (hconf_name == NULL)
|
||||
hconf_name = _PATH_HOSTCONF;
|
||||
|
||||
fp = fopen (hconf_name, "r");
|
||||
@ -317,7 +330,7 @@ _res_hconf_init (void)
|
||||
_res_hconf.service[_res_hconf.num_services++] = SERVICE_BIND;
|
||||
else
|
||||
{
|
||||
while (fgets (buf, sizeof (buf), fp))
|
||||
while (fgets_unlocked (buf, sizeof (buf), fp))
|
||||
{
|
||||
++line_num;
|
||||
end = strchr (buf, '\n');
|
||||
@ -357,6 +370,8 @@ _res_hconf_init (void)
|
||||
_res_hconf.num_trimdomains = 0;
|
||||
arg_trimdomain_list (ENV_TRIM_OVERR, 1, envval, 0);
|
||||
}
|
||||
|
||||
_res_hconf.initialized = 1;
|
||||
}
|
||||
|
||||
|
||||
@ -365,19 +380,22 @@ _res_hconf_init (void)
|
||||
Otherwise, nothing is changed. */
|
||||
|
||||
void
|
||||
_res_hconf_reorder_addrs (struct hostent * hp)
|
||||
_res_hconf_reorder_addrs (struct hostent *hp)
|
||||
{
|
||||
#if defined (SIOCGIFCONF) && defined (SIOCGIFNETMASK)
|
||||
#if defined SIOCGIFCONF && defined SIOCGIFNETMASK
|
||||
static int num_ifs = -1; /* number of interfaces */
|
||||
static struct netaddr {
|
||||
static struct netaddr
|
||||
{
|
||||
int addrtype;
|
||||
union {
|
||||
struct {
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
u_int32_t addr;
|
||||
u_int32_t mask;
|
||||
} ipv4
|
||||
} u;
|
||||
} * ifaddrs;
|
||||
} *ifaddrs;
|
||||
|
||||
if (hp->h_addrtype != AF_INET)
|
||||
return; /* can't deal with anything but IPv4 for now... */
|
||||
@ -385,7 +403,7 @@ _res_hconf_reorder_addrs (struct hostent * hp)
|
||||
if (num_ifs <= 0)
|
||||
{
|
||||
struct ifconf ifs;
|
||||
struct ifreq * ifr;
|
||||
struct ifreq *ifr;
|
||||
size_t size, num;
|
||||
int sd;
|
||||
|
||||
@ -393,7 +411,7 @@ _res_hconf_reorder_addrs (struct hostent * hp)
|
||||
|
||||
num_ifs = 0;
|
||||
|
||||
sd = socket (AF_INET, SOCK_DGRAM, 0);
|
||||
sd = __socket (AF_INET, SOCK_DGRAM, 0);
|
||||
if (sd < 0)
|
||||
return;
|
||||
|
||||
@ -404,18 +422,20 @@ _res_hconf_reorder_addrs (struct hostent * hp)
|
||||
interfaces, not memory */
|
||||
size = 0;
|
||||
ifs.ifc_buf = 0;
|
||||
do {
|
||||
size += 4 * sizeof (struct ifreq);
|
||||
ifs.ifc_buf = realloc (ifs.ifs_buf, size);
|
||||
if (!ifs.ifc_buf)
|
||||
{
|
||||
close (sd);
|
||||
return;
|
||||
}
|
||||
ifs.ifc_len = size;
|
||||
if (ioctl (sd, SIOCGIFCONF, &ifs) < 0)
|
||||
goto cleanup;
|
||||
} while (size - ifs.ifc_len < sizeof (struct ifreq));
|
||||
do
|
||||
{
|
||||
size += 4 * sizeof (struct ifreq);
|
||||
ifs.ifc_buf = realloc (ifs.ifs_buf, size);
|
||||
if (ifs.ifc_buf == NULL)
|
||||
{
|
||||
close (sd);
|
||||
return;
|
||||
}
|
||||
ifs.ifc_len = size;
|
||||
if (__ioctl (sd, SIOCGIFCONF, &ifs) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
while (size - ifs.ifc_len < sizeof (struct ifreq));
|
||||
|
||||
num = ifs.ifc_len / sizeof (struct ifreq);
|
||||
|
||||
@ -424,21 +444,22 @@ _res_hconf_reorder_addrs (struct hostent * hp)
|
||||
goto cleanup;
|
||||
|
||||
ifr = ifs.ifc_req;
|
||||
for (i = 0; i < num; ++i) {
|
||||
if (ifr->ifr_addr.sa_family != AF_INET)
|
||||
continue;
|
||||
ifaddrs[num_ifs].addrtype = AF_INET;
|
||||
for (i = 0; i < num; ++i)
|
||||
{
|
||||
if (ifr->ifr_addr.sa_family != AF_INET)
|
||||
continue;
|
||||
ifaddrs[num_ifs].addrtype = AF_INET;
|
||||
|
||||
memcpy (&ifaddrs[num_ifs].u.ipv4.addr,
|
||||
&((struct sockaddr_in *)ifr->ifr_addr)->sin_addr, 4);
|
||||
memcpy (&ifaddrs[num_ifs].u.ipv4.addr,
|
||||
&((struct sockaddr_in *)ifr->ifr_addr)->sin_addr, 4);
|
||||
|
||||
if (ioctl (sd, SIOCGIFNETMASK, if) < 0)
|
||||
continue;
|
||||
memcpy (&ifaddrs[num_ifs].u.ipv4.mask,
|
||||
((struct sockaddr_in *)ifr->ifr_mask)->sin_addr, 4);
|
||||
if (__ioctl (sd, SIOCGIFNETMASK, if) < 0)
|
||||
continue;
|
||||
memcpy (&ifaddrs[num_ifs].u.ipv4.mask,
|
||||
((struct sockaddr_in *)ifr->ifr_mask)->sin_addr, 4);
|
||||
|
||||
++num_ifs; /* now we're committed to this entry */
|
||||
}
|
||||
++num_ifs; /* now we're committed to this entry */
|
||||
}
|
||||
/* just keep enough memory to hold all the interfaces we want: */
|
||||
ifaddrs = realloc (ifaddrs, num_ifs * sizeof (ifaddrs[0]));
|
||||
|
||||
@ -462,9 +483,9 @@ _res_hconf_reorder_addrs (struct hostent * hp)
|
||||
|
||||
if (((h_addr->s_addr ^ if_addr) & if_netmask) == 0)
|
||||
{
|
||||
void * tmp;
|
||||
void *tmp;
|
||||
|
||||
tmp = hp->h_addr_list[i];
|
||||
tmp = hp->h_addr_list[i];
|
||||
hp->h_addr_list[i] = hp->h_addr_list[0];
|
||||
hp->h_addr_list[0] = tmp;
|
||||
return;
|
||||
@ -481,20 +502,20 @@ _res_hconf_reorder_addrs (struct hostent * hp)
|
||||
same domainname could be trimmed multiple times. I believe this
|
||||
was unintentional. */
|
||||
void
|
||||
_res_hconf_trim_domain (char * hostname)
|
||||
_res_hconf_trim_domain (char *hostname)
|
||||
{
|
||||
size_t hostname_len, trim_len;
|
||||
int i;
|
||||
|
||||
hostname_len = strlen(hostname);
|
||||
hostname_len = strlen (hostname);
|
||||
|
||||
for (i = 0; i < _res_hconf.num_trimdomains; ++i)
|
||||
{
|
||||
const char * trim = _res_hconf.trimdomain[i];
|
||||
const char *trim = _res_hconf.trimdomain[i];
|
||||
|
||||
trim_len = strlen(trim);
|
||||
trim_len = strlen (trim);
|
||||
if (hostname_len > trim_len
|
||||
&& strcasecmp(&hostname[hostname_len - trim_len], trim) == 0)
|
||||
&& __strcasecmp (&hostname[hostname_len - trim_len], trim) == 0)
|
||||
{
|
||||
hostname[hostname_len - trim_len] = '\0';
|
||||
break;
|
||||
@ -506,7 +527,7 @@ _res_hconf_trim_domain (char * hostname)
|
||||
/* Trim all hostnames/aliases in HP according to the trimdomain list.
|
||||
Notice that HP is modified inplace! */
|
||||
void
|
||||
_res_hconf_trim_domains (struct hostent * hp)
|
||||
_res_hconf_trim_domains (struct hostent *hp)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -517,32 +538,3 @@ _res_hconf_trim_domains (struct hostent * hp)
|
||||
for (i = 0; hp->h_aliases[i]; ++i)
|
||||
_res_hconf_trim_domain (hp->h_aliases[i]);
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
|
||||
struct hostent *
|
||||
_hconf_gethostent (void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
struct hostent *
|
||||
_hconf_gethostbyname (const char * name)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
struct hostent *
|
||||
_hconf_gethostbyaddr (const char * addr, int len, int type)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
struct hostent *
|
||||
_hconf_gethtbyname (const char * name)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
Contributed by David Mosberger (davidm@azstarnet.com).
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -23,28 +23,32 @@
|
||||
|
||||
#define TRIMDOMAINS_MAX 4
|
||||
|
||||
enum Name_Service {
|
||||
enum Name_Service
|
||||
{
|
||||
SERVICE_NONE = 0,
|
||||
SERVICE_BIND, SERVICE_HOSTS, SERVICE_NIS,
|
||||
SERVICE_MAX
|
||||
};
|
||||
|
||||
struct hconf {
|
||||
int num_services;
|
||||
enum Name_Service service[SERVICE_MAX];
|
||||
int num_trimdomains;
|
||||
const char * trimdomain[TRIMDOMAINS_MAX];
|
||||
unsigned flags;
|
||||
struct hconf
|
||||
{
|
||||
int initialized;
|
||||
int num_services;
|
||||
enum Name_Service service[SERVICE_MAX];
|
||||
int num_trimdomains;
|
||||
const char *trimdomain[TRIMDOMAINS_MAX];
|
||||
unsigned int flags;
|
||||
# define HCONF_FLAG_INITED (1 << 0) /* initialized? */
|
||||
# define HCONF_FLAG_SPOOF (1 << 1) /* refuse spoofed addresses */
|
||||
# define HCONF_FLAG_SPOOFALERT (1 << 2) /* syslog warning of spoofed */
|
||||
# define HCONF_FLAG_REORDER (1 << 3) /* list best address first */
|
||||
# define HCONF_FLAG_MULTI (1 << 4) /* see comments for gethtbyname() */
|
||||
} _res_hconf;
|
||||
};
|
||||
extern struct hconf _res_hconf;
|
||||
|
||||
extern void _res_hconf_init (void);
|
||||
extern void _res_hconf_trim_domain (char * domain);
|
||||
extern void _res_hconf_trim_domains (struct hostent * hp);
|
||||
extern void _res_hconf_reorder_addrs (struct hostent * hp);
|
||||
extern void _res_hconf_init (void);
|
||||
extern void _res_hconf_trim_domain (char *domain);
|
||||
extern void _res_hconf_trim_domains (struct hostent *hp);
|
||||
extern void _res_hconf_reorder_addrs (struct hostent *hp);
|
||||
|
||||
#endif /* _RES_HCONF_H_ */
|
||||
|
@ -29,9 +29,9 @@
|
||||
((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)); }))
|
||||
#else
|
||||
static __inline unsigned short int
|
||||
__bswap16 (unsigned short int x)
|
||||
__bswap_16 (unsigned short int __bsx)
|
||||
{
|
||||
return ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8));
|
||||
return ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8));
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -44,7 +44,7 @@ __bswap16 (unsigned short int x)
|
||||
(((__bsx) & 0x0000ff00) << 8) | (((__bsx) & 0x000000ff) << 24)); }))
|
||||
#else
|
||||
static __inline unsigned int
|
||||
__bswap32 (unsigned int x)
|
||||
__bswap_32 (unsigned int __bsx)
|
||||
{
|
||||
return ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >> 8) |
|
||||
(((__bsx) & 0x0000ff00) << 8) | (((__bsx) & 0x000000ff) << 24));
|
||||
|
2
sysdeps/generic/configure
vendored
2
sysdeps/generic/configure
vendored
@ -32,7 +32,7 @@ $ac_func();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:36: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:36: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
6
sysdeps/unix/common/configure
vendored
6
sysdeps/unix/common/configure
vendored
@ -15,7 +15,7 @@ int main() {
|
||||
extern char *sys_siglist[]; puts(*sys_siglist);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:19: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:19: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
rm -rf conftest*
|
||||
ac_cv_check_symbol_sys_siglist=yes
|
||||
else
|
||||
@ -48,7 +48,7 @@ int main() {
|
||||
extern char *_sys_siglist[]; puts(*_sys_siglist);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:52: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:52: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
rm -rf conftest*
|
||||
ac_cv_check_symbol__sys_siglist=yes
|
||||
else
|
||||
@ -85,7 +85,7 @@ int main() {
|
||||
$ctype[13];
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:89: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:89: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
rm -rf conftest*
|
||||
libc_cv_ctype_glue="$ctype"; break
|
||||
else
|
||||
|
2
sysdeps/unix/configure
vendored
2
sysdeps/unix/configure
vendored
@ -33,7 +33,7 @@ $ac_func();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:37: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:37: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user