Wed Mar 20 11:28:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>

* stdio-common/printf.h, stdio-common/printf_fp.c,
	stdio-common/vfprintf.c: Place const in parameter list at
	correct place.

Wed Mar 20 23:58.12 1996  Ulrich Drepper <drepper@gnu.ai.mit.edu>

	* sysdeps/i386/ldbl2mpn.c: Copy of former version of
	sysdeps/ieee754/ldbl2mpn.c.
	* sysdeps/ieee754/ldbl2mpn.c: Remove i386 specific unification.
	Reported by Andreas Schwab.

Wed Mar 20 19:58:43 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>

	* version.c: Include version.h to define RELEASE and VERSION macros.
	(__libc_release, __libc_version): Use them.
	* locale/SYS_libc.c (_libc_intl_domainname): Include ../version.h and
	use VERSION to define domainname as `SYS_GNU_libc-VERSION'.
	* Make-dist (rel+vers): Snarf the macro values from version.h.

	* MakeTAGS (extract): Pass $(XGETTEXTFLAGS-$(@F)).
	(XGETTEXTFLAGS-siglist.pot, XGETTEXTFLAGS-errlist.pot): New variables;
	pass -a for these files.

	* Makerules (po/%.pot): Depend on FORCE target so recursive make is
	always run.
This commit is contained in:
Roland McGrath 1996-03-21 15:20:37 +00:00
parent 38bb44bc19
commit ce563359af
13 changed files with 165 additions and 32 deletions

View File

@ -1,3 +1,31 @@
Wed Mar 20 11:28:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/printf.h, stdio-common/printf_fp.c,
stdio-common/vfprintf.c: Place const in parameter list at
correct place.
Wed Mar 20 23:58.12 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* sysdeps/i386/ldbl2mpn.c: Copy of former version of
sysdeps/ieee754/ldbl2mpn.c.
* sysdeps/ieee754/ldbl2mpn.c: Remove i386 specific unification.
Reported by Andreas Schwab.
Wed Mar 20 19:58:43 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* version.c: Include version.h to define RELEASE and VERSION macros.
(__libc_release, __libc_version): Use them.
* locale/SYS_libc.c (_libc_intl_domainname): Include ../version.h and
use VERSION to define domainname as `SYS_GNU_libc-VERSION'.
* Make-dist (rel+vers): Snarf the macro values from version.h.
* MakeTAGS (extract): Pass $(XGETTEXTFLAGS-$(@F)).
(XGETTEXTFLAGS-siglist.pot, XGETTEXTFLAGS-errlist.pot): New variables;
pass -a for these files.
* Makerules (po/%.pot): Depend on FORCE target so recursive make is
always run.
Mon Mar 18 22:54:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/wait3.c: New file.

View File

@ -105,9 +105,9 @@ foo:=$(shell echo '+tsrcs=$(+tsrcs)'>&2)
foo:=$(shell echo foobie, dammit! >&2)
ifndef tardir
rel+vers := $(shell sed -n -e 's/^.*libc_release.*\"\([^"]*\)";$$/\1/p' \
-e 's/^.*libc_version.*\"\([^"]*\)";$$/\1/p' \
< $(..)version.c)
rel+vers := $(shell sed -n -e 's/^.*RELEASE.*\"\([^"]*\)";$$/\1/p' \
-e 's/^.*VERSION.*\"\([^"]*\)";$$/\1/p' \
< $(..)version.h)
release := $(word 1,$(rel+vers))
version := $(word 2,$(rel+vers))
export tardir := glibc-$(version)

View File

@ -133,15 +133,19 @@ endif
define extract
@rm -f $@.new
$(XGETTEXT) --keyword=_ --keyword=N_ --sort-output -d - \
> $@.new /dev/null $^
$(XGETTEXTFLAGS-$(@F)) > $@.new /dev/null $^
mv -f $@.new $@
endef
$P/$(domain).pot: $(tags_sources); $(extract)
$P/siglist.pot: $(..)sysdeps/generic/signame.c; $(extract)
$P/siglist.pot: $(common-objpfx)siglist.c; $(extract)
$P/errlist.pot: $(..)sysdeps/mach/hurd/errlist.c; $(extract)
# Extract all strings from these files; their strings are not marked.
XGETTEXTFLAGS-siglist.pot = -a
XGETTEXTFLAGS-errlist.pot = -a
all-pot = $P/libc-top.pot $(subdirs:%=$P/%.pot) \
$P/siglist.pot $P/errlist.pot

View File

@ -620,8 +620,9 @@ check: tests
TAGS: distinfo $(..)MakeTAGS
$(MAKE) $(addprefix -f ,$^) $@
$(..)po/%.pot: distinfo $(..)MakeTAGS
$(MAKE) $(addprefix -f ,$^) $@
$(..)po/%.pot: distinfo $(..)MakeTAGS FORCE
$(MAKE) $(addprefix -f ,$(filter-out FORCE,$^)) $@
FORCE:
.PHONY: echo-headers

View File

@ -1,4 +1,6 @@
/* Define a constant for the dgettext domainname for libc internal messages,
so the string constant is not repeated in dozens of object files. */
const char _libc_intl_domainname[] = "SYS_libc";
#include "../version.h"
const char _libc_intl_domainname[] = "SYS_GNU_libc-" VERSION;

View File

@ -306,15 +306,15 @@ msgstr ""
msgid "Unknown signal %d"
msgstr ""
#: getopt.c:668
#: getopt.c:673
msgid "%s: illegal option -- %c\n"
msgstr ""
#: getopt.c:671
#: getopt.c:676
msgid "%s: invalid option -- %c\n"
msgstr ""
#: getopt.c:596
#: getopt.c:597
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr ""
@ -322,23 +322,23 @@ msgstr ""
msgid "%s: option `%s' is ambiguous\n"
msgstr ""
#: getopt.c:611
#: getopt.c:614
msgid "%s: option `%s' requires an argument\n"
msgstr ""
#: getopt.c:591
#: getopt.c:592
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr ""
#: getopt.c:707
#: getopt.c:712
msgid "%s: option requires an argument -- %c\n"
msgstr ""
#: getopt.c:643
#: getopt.c:647
msgid "%s: unrecognized option `%c%s'\n"
msgstr ""
#: getopt.c:639
#: getopt.c:643
msgid "%s: unrecognized option `--%s'\n"
msgstr ""

View File

@ -58,7 +58,7 @@ struct printf_info
typedef int printf_function __P ((FILE *__stream,
__const struct printf_info *__info,
__const void **__const __args));
__const void *__const *__args));
/* Type of a printf specifier-arginfo function.
INFO gives information about the format specification.

View File

@ -133,7 +133,7 @@ static char *group_number (char *buf, char *bufend, unsigned int intdig_no,
int
__printf_fp (FILE *fp,
const struct printf_info *info,
const *const *args)
const void *const *args)
{
/* The floating-point value to output. */
union

View File

@ -655,7 +655,7 @@ static int
printf_unknown (s, info, args)
FILE *s;
const struct printf_info *info;
const void **const args;
const void *const *args;
{
int done = 0;
char work[BUFSIZ];

101
sysdeps/i386/ldbl2mpn.c Normal file
View File

@ -0,0 +1,101 @@
/* Copyright (C) 1995, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include "gmp.h"
#include "gmp-impl.h"
#include "longlong.h"
#include "ieee754.h"
#include <float.h>
#include <stdlib.h>
/* Convert a `long double' in IEEE854 standard double-precision format to a
multi-precision integer representing the significand scaled up by its
number of bits (64 for long double) and an integral power of two
(MPN frexpl). */
mp_size_t
__mpn_extract_long_double (mp_ptr res_ptr, mp_size_t size,
int *expt, int *is_neg,
long double value)
{
union ieee854_long_double u;
u.d = value;
*is_neg = u.ieee.negative;
*expt = (int) u.ieee.exponent - IEEE854_LONG_DOUBLE_BIAS;
#if BITS_PER_MP_LIMB == 32
res_ptr[0] = u.ieee.mantissa1; /* Low-order 32 bits of fraction. */
res_ptr[1] = u.ieee.mantissa0; /* High-order 32 bits. */
#define N 2
#elif BITS_PER_MP_LIMB == 64
/* Hopefully the compiler will combine the two bitfield extracts
and this composition into just the original quadword extract. */
res_ptr[0] = ((unsigned long int) u.ieee.mantissa0 << 32) | u.ieee.mantissa1;
#define N 1
#else
#error "mp_limb size " BITS_PER_MP_LIMB "not accounted for"
#endif
if (u.ieee.exponent == 0)
{
/* A biased exponent of zero is a special case.
Either it is a zero or it is a denormal number. */
if (res_ptr[0] == 0 && res_ptr[N - 1] == 0) /* Assumes N<=2. */
/* It's zero. */
*expt = 0;
else
{
/* It is a denormal number, meaning it has no implicit leading
one bit, and its exponent is in fact the format minimum. */
int cnt;
/* One problem with Intel's 80-bit format is that the explicit
leading one in the normalized representation has to be zero
for denormalized number. If it is one, the number is according
to Intel's specification an invalid number. We make the
representation unique by explicitly clearing this bit. */
res_ptr[N - 1] &= ~(1L << ((LDBL_MANT_DIG - 1) % BITS_PER_MP_LIMB));
if (res_ptr[N - 1] != 0)
{
count_leading_zeros (cnt, res_ptr[N - 1]);
if (cnt != 0)
{
#if N == 2
res_ptr[N - 1] = res_ptr[N - 1] << cnt
| (res_ptr[0] >> (BITS_PER_MP_LIMB - cnt));
res_ptr[0] <<= cnt;
#else
res_ptr[N - 1] <<= cnt;
#endif
}
*expt = LDBL_MIN_EXP - 1 - cnt;
}
else
{
count_leading_zeros (cnt, res_ptr[0]);
res_ptr[N - 1] = res_ptr[0] << cnt;
res_ptr[0] = 0;
*expt = LDBL_MIN_EXP - 1 - BITS_PER_MP_LIMB - cnt;
}
}
}
return N;
}

View File

@ -65,13 +65,6 @@ __mpn_extract_long_double (mp_ptr res_ptr, mp_size_t size,
one bit, and its exponent is in fact the format minimum. */
int cnt;
/* One problem with Intel's 80-bit format is that the explicit
leading one in the normalized representation has to be zero
for denormalized number. If it is one, the number is according
to Intel's specification an invalid number. We make the
representation unique by explicitly clearing this bit. */
res_ptr[N - 1] &= ~(1L << ((LDBL_MANT_DIG - 1) % BITS_PER_MP_LIMB));
if (res_ptr[N - 1] != 0)
{
count_leading_zeros (cnt, res_ptr[N - 1]);

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -16,14 +16,14 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <stdio.h>
CONST char __libc_release[] = "alpha";
CONST char __libc_version[] = "1.09.7";
#include "version.h"
const char __libc_release[] = RELEASE;
const char __libc_version[] = VERSION;
void
DEFUN_VOID(__libc_print_version)
__libc_print_version (void)
{
printf ("GNU C Library %s release version %s, by Roland McGrath et al.\n",
__libc_release, __libc_version);
@ -31,7 +31,7 @@ DEFUN_VOID(__libc_print_version)
printf ("Compiled by GNU CC version %s.\n", __VERSION__);
#endif
puts ("\
Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.\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.");

4
version.h Normal file
View File

@ -0,0 +1,4 @@
/* This file just defines the current version number of libc. */
#define RELEASE "alpha"
#define VERSION "1.09.7"