+1999-08-10 H.J. Lu <hjl@gnu.org>
+
+ * resolv/nss_dns/dns-host.c (getanswer_r): Cleanup out-of-
+ buffer handling.
+
+1999-08-15 Ulrich Drepper <drepper@cygnus.com>
+
+ * elf/elf.h: Define ElfXX_Versym.
+ * elf/link.h (struct link_map): Use ElfXX_Versym for l_versyms
+ definition.
+
+ * stdio-common/vfprintf.c (process_string_arg): Handle precisions
+ for string output correctly in the wide character case.
+ Patch by Akira YOSHIYAMA <yosshy@tkf.att.ne.jp>.
+
+ * intl/locale.alias: Add catalan.
+
+1999-08-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * manual/install.texi (Configuring and compiling): Mention
+ CFLAGS.
+
+1999-08-15 Ulrich Drepper <drepper@cygnus.com>
+
+ * po/pt_BR.po: New file.
+
+1999-08-13 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * math/libm-test.c (yn_test): Adjust deltas for i386.
+ (ccosh_test): Likewise.
+ (jn_test): Likewise.
+
+1999-08-15 Ulrich Drepper <drepper@cygnus.com>
+
+ * sysdeps/generic/_G_config.h: Get definition of mbstate_t.
+
1999-08-13 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/tstscanf.c: Add test for hexadecimal float parsing
given with no list, it enables all the add-on packages it finds.
If you do not wish to use some add-on package that you have
present in your source tree, give this option a list of the
- add-ons that you *do* want used, like this:
+ add-ons that you _do_ want used, like this:
`--enable-add-ons=crypt,linuxthreads'
`--with-binutils=DIRECTORY'
is. This is most useful to change the CPU submodel. For example,
if configure guesses your machine as `i586-pc-linux-gnu' but you
want to compile a library optimized for 386es, give
- `--host=i386-pc-linux-gnu' or just `--host=i386-linux'. (A
- library compiled for a Pentium (`i586') will still work on a 386,
- but it may be slower.)
+ `--host=i386-pc-linux-gnu' or just `--host=i386-linux' and add the
+ appropriate compiler flags (`-mcpu=i386' will do the trick) to
+ CFLAGS. (A library compiled for a Pentium (`i586') will still work
+ on a 386, but it may be slower.)
If you give just `--build', configure will get confused.
Perl is not required, but it is used if present to test the
installation. We may decide to use it elsewhere in the future.
+
If you change any of the `configure.in' files you will also need
* GNU `autoconf' 2.12 or higher
Each case of `iX86' can be `i386', `i486', `i586', or `i686'. All
of those configurations produce a library that can run on any of these
-processors. The library will be optimized for the specified processor,
-but will not use instructions not available on all of them. If you
-want the library to use instructions only available on newer
-processors, give GCC the appropriate `-m' switches via CFLAGS.
+processors if the compiler is configured correctly. The GCC compiler
+by default generates code that's optimized for the machine it's
+configured for and will use the instructions available on that machine.
+For example if your GCC is configured for `i686', gcc will optimize
+for `i686' and might issue some `i686' specific instructions. To
+generate code for other models you should give GCC the appropriate
+`-march=' and `-mcpu=' compiler switches via CFLAGS.
Specific advice for Linux systems
=================================
library on your system against the new library for the sake of new code,
but keep the old libraries around for old binaries to use. This is
complicated and difficult. Consult the Glibc2 HOWTO at
-`http://www.imaxx.net/~thrytis/glibc' for details.
+<http://www.imaxx.net/~thrytis/glibc> for details.
You cannot use `nscd' with 2.0 kernels, due to bugs in the
kernel-side thread support. `nscd' happens to hit these bugs
It is a good idea to check first that the problem was not reported
before. Bugs are documented in two places: The file `BUGS' describes a
number of well known bugs and the bug tracking system has a WWW
-interface at `http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl'. The
+interface at <http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl>. The
WWW interface gives you access to open and closed reports. The closed
reports normally include a patch or a hint on solving the problem.
typedef uint16_t Elf32_Section;
typedef uint16_t Elf64_Section;
+/* Type for version symbol information. */
+typedef Elf32_Half Elf32_Versym;
+typedef Elf64_Half Elf64_Versym;
+
/* The ELF file header. This appears at the start of every ELF file. */
ElfW(Addr) *l_reloc_result;
/* Pointer to the version information if available. */
- ElfW(Half) *l_versyms;
+ ElfW(Versym) *l_versyms;
/* String specifying the path where this object was found. */
const char *l_origin;
type = T_AAAA;
break;
default:
- *h_errnop = NETDB_INTERNAL;
+ *h_errnop = NO_DATA;
*errnop = EAFNOSUPPORT;
return NSS_STATUS_UNAVAIL;
}
}
+enum nss_status
+_nss_dns_getipnodebyname (const char *name, int af, struct hostent *result,
+ char *buffer, size_t buflen, int *errnop,
+ int *h_errnop)
+{
+}
+
+
enum nss_status
_nss_dns_gethostbyaddr_r (const char *addr, size_t len, int af,
struct hostent *result, char *buffer, size_t buflen,
if (n != -1 && __ns_name_ntop (packtmp, bp, linebuflen) == -1)
{
if (errno == EMSGSIZE)
- {
- *errnop = ERANGE;
- *h_errnop = NETDB_INTERNAL;
- return NSS_STATUS_TRYAGAIN;
- }
+ goto too_small;
n = -1;
}
linebuflen -= n;
/* Get canonical name. */
n = strlen (tbuf) + 1; /* For the \0. */
- if ((size_t) n > buflen || n >= MAXHOSTNAMELEN)
+ if (n > linebuflen)
+ goto too_small;
+ if (n >= MAXHOSTNAMELEN)
{
++had_error;
continue;
cp += n;
/* Get canonical name. */
n = strlen (tbuf) + 1; /* For the \0. */
- if ((size_t) n > buflen || n >= MAXHOSTNAMELEN)
+ if (n > linebuflen)
+ goto too_small;
+ if (n >= MAXHOSTNAMELEN)
{
++had_error;
continue;
if (n != -1 && __ns_name_ntop (packtmp, bp, linebuflen) == -1)
{
if (errno == EMSGSIZE)
- {
- *errnop = ERANGE;
- *h_errnop = NETDB_INTERNAL;
- return NSS_STATUS_TRYAGAIN;
- }
+ goto too_small;
n = -1;
}
linebuflen -= sizeof (align) - ((u_long) bp % sizeof (align));
bp += sizeof (align) - ((u_long) bp % sizeof (align));
- if (n >= linebuflen)
- {
- ++had_error;
- continue;
- }
+ if (n > linebuflen)
+ goto too_small;
if (hap >= &host_data->h_addr_ptrs[MAX_NR_ADDRS-1])
{
cp += n;
{
n = strlen (qname) + 1; /* For the \0. */
if (n > linebuflen)
- {
- *errnop = ERANGE;
- *h_errnop = NETDB_INTERNAL;
- return NSS_STATUS_TRYAGAIN;
- }
+ goto too_small;
if (n >= MAXHOSTNAMELEN)
goto no_recovery;
result->h_name = bp;
assert (__mbsinit (&mbstate)); \
s2 = (const wchar_t *) string; \
string = alloca (len + 1); \
- (void) __wcsrtombs (string, &s2, len + 1, &mbstate); \
if (prec > 0 && prec < len) \
- len = prec; \
+ len = __wcsrtombs (string, &s2, prec, &mbstate); \
+ else \
+ (void) __wcsrtombs (string, &s2, len + 1, &mbstate); \
} \
\
if ((width -= len) < 0) \