2000-10-28  Jes Sorensen  <jes@linuxcare.com>

	* sysdeps/unix/sysv/linux/ia64/Versions: Export ioperm, iopl, inb,
	inw, inl, _inb, _inw, _inl, outb, outw, outl, _outb, _outw,
	_outl.  Reported by Bill Nottingham.

2000-04-06  Andreas Schwab  <schwab@suse.de>

	* sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Save and
	restore register r8 for functions that return a structure.

2000-10-12  Jakub Jelinek  <jakub@redhat.com>

	* math/libm-test.inc (M_PI_6l, M_E2l, M_E3l, M_2_SQRT_PIl,
	M_SQRT_PIl): Increase precision.
	(cbrt_test): If cbrt is not implemented, don't test it.
	Add L suffix to double constants in results which differ from their
	L suffixed counterparts.
	(exp10_test, fmod_test, frexp_test, hypot_test, sqrt_test): Likewise.

	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.

2000-10-11  Jakub Jelinek  <jakub@redhat.com>

	* inet/rexec.c (rexec_af): Convert rport to host order before
	passing it to snprintf.

2000-10-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/gnu/netinet/tcp.h: Use u_intXX_t types instead of
	uintXX_t since this is what <sys/types.h> defines and we include
	this header.  Reported by Bernhard Rosenkraenzer <bero@redhat.de>.

	* intl/localealias.c (read_alias_file): Update string pointers
	in map[] if realloc() changed the values.
	Patch by Jakub Jelinek <jakub@redhat.com>.

	* manual/stdio.texi: Update printf extension documentation after
	z became a valid modifier.
	Patch by Joseph S. Myers <jsm28@cam.ac.uk>.

	* timezone/africa: Update from tzcode2000g and tzdata2000g.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/iso3166.tab: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.
This commit is contained in:
Ulrich Drepper 2000-10-15 02:17:30 +00:00
parent a133e4fa09
commit 42be70d431
9 changed files with 147 additions and 55 deletions

View File

@ -1,3 +1,54 @@
2000-10-28 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/Versions: Export ioperm, iopl, inb,
inw, inl, _inb, _inw, _inl, outb, outw, outl, _outb, _outw,
_outl. Reported by Bill Nottingham.
2000-04-06 Andreas Schwab <schwab@suse.de>
* sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Save and
restore register r8 for functions that return a structure.
2000-10-12 Jakub Jelinek <jakub@redhat.com>
* math/libm-test.inc (M_PI_6l, M_E2l, M_E3l, M_2_SQRT_PIl,
M_SQRT_PIl): Increase precision.
(cbrt_test): If cbrt is not implemented, don't test it.
Add L suffix to double constants in results which differ from their
L suffixed counterparts.
(exp10_test, fmod_test, frexp_test, hypot_test, sqrt_test): Likewise.
* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.
2000-10-11 Jakub Jelinek <jakub@redhat.com>
* inet/rexec.c (rexec_af): Convert rport to host order before
passing it to snprintf.
2000-10-14 Ulrich Drepper <drepper@redhat.com>
* sysdeps/gnu/netinet/tcp.h: Use u_intXX_t types instead of
uintXX_t since this is what <sys/types.h> defines and we include
this header. Reported by Bernhard Rosenkraenzer <bero@redhat.de>.
* intl/localealias.c (read_alias_file): Update string pointers
in map[] if realloc() changed the values.
Patch by Jakub Jelinek <jakub@redhat.com>.
* manual/stdio.texi: Update printf extension documentation after
z became a valid modifier.
Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
* timezone/africa: Update from tzcode2000g and tzdata2000g.
* timezone/asia: Likewise.
* timezone/australasia: Likewise.
* timezone/backward: Likewise.
* timezone/europe: Likewise.
* timezone/iso3166.tab: Likewise.
* timezone/northamerica: Likewise.
* timezone/southamerica: Likewise.
* timezone/zone.tab: Likewise.
2000-10-14 Geoffrey Keating <geoffk@cygnus.com> 2000-10-14 Geoffrey Keating <geoffk@cygnus.com>
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add fcntl() * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add fcntl()

View File

@ -65,7 +65,7 @@ rexec_af(ahost, rport, name, pass, cmd, fd2p, af)
int gai; int gai;
char servbuff[NI_MAXSERV]; char servbuff[NI_MAXSERV];
snprintf(servbuff, sizeof(servbuff), "%d", rport); snprintf(servbuff, sizeof(servbuff), "%d", ntohs(rport));
servbuff[sizeof(servbuff) - 1] = '\0'; servbuff[sizeof(servbuff) - 1] = '\0';
memset(&hints, 0, sizeof(hints)); memset(&hints, 0, sizeof(hints));

View File

@ -351,6 +351,18 @@ read_alias_file (fname, fname_len)
FREE_BLOCKS (block_list); FREE_BLOCKS (block_list);
return added; return added;
} }
if (__builtin_expect (string_space != new_pool, 0))
{
size_t i;
for (i = 0; i < nmap; i++)
{
map[i].alias += new_pool - string_space;
map[i].value += new_pool - string_space;
}
}
string_space = new_pool; string_space = new_pool;
string_space_max = new_size; string_space_max = new_size;
} }

View File

@ -2098,11 +2098,13 @@ The function to register a new output conversion is
@comment GNU @comment GNU
@deftypefun int register_printf_function (int @var{spec}, printf_function @var{handler-function}, printf_arginfo_function @var{arginfo-function}) @deftypefun int register_printf_function (int @var{spec}, printf_function @var{handler-function}, printf_arginfo_function @var{arginfo-function})
This function defines the conversion specifier character @var{spec}. This function defines the conversion specifier character @var{spec}.
Thus, if @var{spec} is @code{'z'}, it defines the conversion @samp{%z}. Thus, if @var{spec} is @code{'Y'}, it defines the conversion @samp{%Y}.
You can redefine the built-in conversions like @samp{%s}, but flag You can redefine the built-in conversions like @samp{%s}, but flag
characters like @samp{#} and type modifiers like @samp{l} can never be characters like @samp{#} and type modifiers like @samp{l} can never be
used as conversions; calling @code{register_printf_function} for those used as conversions; calling @code{register_printf_function} for those
characters has no effect. characters has no effect. It is advisable not to use lowercase letters,
since the ISO C standard warns that additional lowercase letters may be
standardized in future editions of the standard.
The @var{handler-function} is the function called by @code{printf} and The @var{handler-function} is the function called by @code{printf} and
friends when this conversion appears in a template string. friends when this conversion appears in a template string.

View File

@ -134,11 +134,11 @@
#define IGNORE_ZERO_INF_SIGN 0x10 #define IGNORE_ZERO_INF_SIGN 0x10
/* Various constants (we must supply them precalculated for accuracy). */ /* Various constants (we must supply them precalculated for accuracy). */
#define M_PI_6l .52359877559829887308L #define M_PI_6l .52359877559829887307710723054658383L
#define M_E2l 7.389056098930650227230L #define M_E2l 7.389056098930650227230427460575008L
#define M_E3l 20.08553692318766774093L #define M_E3l 20.085536923187667740928529654581719L
#define M_2_SQRT_PIl 3.5449077018110320545963L /* 2 sqrt (M_PIl) */ #define M_2_SQRT_PIl 3.5449077018110320545963349666822903L /* 2 sqrt (M_PIl) */
#define M_SQRT_PIl 1.77245385090551602729817L /* sqrt (M_PIl) */ #define M_SQRT_PIl 1.7724538509055160272981674833411451L /* sqrt (M_PIl) */
#define M_LOG_SQRT_PIl 0.572364942924700087072L /* log(sqrt(M_PIl)) */ #define M_LOG_SQRT_PIl 0.572364942924700087072L /* log(sqrt(M_PIl)) */
#define M_LOG_2_SQRT_PIl 1.265512123484645396489L /* log(2*sqrt(M_PIl)) */ #define M_LOG_2_SQRT_PIl 1.265512123484645396489L /* log(2*sqrt(M_PIl)) */
#define M_PI_34l (M_PIl - M_PI_4l) /* 3*pi/4 */ #define M_PI_34l (M_PIl - M_PI_4l) /* 3*pi/4 */
@ -1429,6 +1429,12 @@ catanh_test (void)
static void static void
cbrt_test (void) cbrt_test (void)
{ {
errno = 0;
FUNC(cbrt) (8);
if (errno == ENOSYS)
/* Function not implemented. */
return;
START (cbrt); START (cbrt);
TEST_f_f (cbrt, 0.0, 0.0); TEST_f_f (cbrt, 0.0, 0.0);
@ -1438,10 +1444,10 @@ cbrt_test (void)
TEST_f_f (cbrt, minus_infty, minus_infty); TEST_f_f (cbrt, minus_infty, minus_infty);
TEST_f_f (cbrt, nan_value, nan_value); TEST_f_f (cbrt, nan_value, nan_value);
TEST_f_f (cbrt, -0.001, -0.1); TEST_f_f (cbrt, -0.001, -0.1L);
TEST_f_f (cbrt, 8, 2); TEST_f_f (cbrt, 8, 2);
TEST_f_f (cbrt, -27.0, -3.0); TEST_f_f (cbrt, -27.0, -3.0);
TEST_f_f (cbrt, 0.970299, 0.99); TEST_f_f (cbrt, 0.970299, 0.99L);
TEST_f_f (cbrt, 0.7, 0.8879040017426007084L); TEST_f_f (cbrt, 0.7, 0.8879040017426007084L);
END (cbrt); END (cbrt);
@ -2385,7 +2391,7 @@ exp10_test (void)
TEST_f_f (exp10, minus_infty, 0); TEST_f_f (exp10, minus_infty, 0);
TEST_f_f (exp10, nan_value, nan_value); TEST_f_f (exp10, nan_value, nan_value);
TEST_f_f (exp10, 3, 1000); TEST_f_f (exp10, 3, 1000);
TEST_f_f (exp10, -1, 0.1); TEST_f_f (exp10, -1, 0.1L);
TEST_f_f (exp10, 1e6, plus_infty); TEST_f_f (exp10, 1e6, plus_infty);
TEST_f_f (exp10, -1e6, 0); TEST_f_f (exp10, -1e6, 0);
TEST_f_f (exp10, 0.7, 5.0118723362727228500L); TEST_f_f (exp10, 0.7, 5.0118723362727228500L);
@ -2649,10 +2655,10 @@ fmod_test (void)
TEST_ff_f (fmod, nan_value, nan_value, nan_value); TEST_ff_f (fmod, nan_value, nan_value, nan_value);
TEST_ff_f (fmod, 6.5, 2.3, 1.9); TEST_ff_f (fmod, 6.5, 2.3, 1.9L);
TEST_ff_f (fmod, -6.5, 2.3, -1.9); TEST_ff_f (fmod, -6.5, 2.3, -1.9L);
TEST_ff_f (fmod, 6.5, -2.3, 1.9); TEST_ff_f (fmod, 6.5, -2.3, 1.9L);
TEST_ff_f (fmod, -6.5, -2.3, -1.9); TEST_ff_f (fmod, -6.5, -2.3, -1.9L);
END (fmod); END (fmod);
} }
@ -2687,8 +2693,8 @@ frexp_test (void)
TEST_fI_f1 (frexp, 0.0, 0.0, 0.0); TEST_fI_f1 (frexp, 0.0, 0.0, 0.0);
TEST_fI_f1 (frexp, minus_zero, minus_zero, 0.0); TEST_fI_f1 (frexp, minus_zero, minus_zero, 0.0);
TEST_fI_f1 (frexp, 12.8, 0.8, 4); TEST_fI_f1 (frexp, 12.8, 0.8L, 4);
TEST_fI_f1 (frexp, -27.34, -0.854375, 5); TEST_fI_f1 (frexp, -27.34, -0.854375L, 5);
END (frexp); END (frexp);
} }
@ -2756,9 +2762,9 @@ hypot_test (void)
TEST_ff_f (hypot, -12.4, -0.7, 12.41974234837422060118L); TEST_ff_f (hypot, -12.4, -0.7, 12.41974234837422060118L);
/* hypot (x,0) == fabs (x) */ /* hypot (x,0) == fabs (x) */
TEST_ff_f (hypot, 0.7, 0, 0.7); TEST_ff_f (hypot, 0.7, 0, 0.7L);
TEST_ff_f (hypot, -0.7, 0, 0.7); TEST_ff_f (hypot, -0.7, 0, 0.7L);
TEST_ff_f (hypot, -5.7e7, 0, 5.7e7); TEST_ff_f (hypot, -5.7e7, 0, 5.7e7L);
TEST_ff_f (hypot, 0.7, 1.2, 1.3892443989449804508L); TEST_ff_f (hypot, 0.7, 1.2, 1.3892443989449804508L);
@ -3869,7 +3875,7 @@ sqrt_test (void)
TEST_f_f (sqrt, 2, M_SQRT2l); TEST_f_f (sqrt, 2, M_SQRT2l);
TEST_f_f (sqrt, 0.25, 0.5); TEST_f_f (sqrt, 0.25, 0.5);
TEST_f_f (sqrt, 6642.25, 81.5); TEST_f_f (sqrt, 6642.25, 81.5);
TEST_f_f (sqrt, 15239.9025, 123.45); TEST_f_f (sqrt, 15239.9025, 123.45L);
TEST_f_f (sqrt, 0.7, 0.83666002653407554798L); TEST_f_f (sqrt, 0.7, 0.83666002653407554798L);
END (sqrt); END (sqrt);

View File

@ -183,40 +183,40 @@ enum tcp_ca_state
struct tcp_info struct tcp_info
{ {
uint8_t tcpi_state; u_int8_t tcpi_state;
uint8_t tcpi_ca_state; u_int8_t tcpi_ca_state;
uint8_t tcpi_retransmits; u_int8_t tcpi_retransmits;
uint8_t tcpi_probes; u_int8_t tcpi_probes;
uint8_t tcpi_backoff; u_int8_t tcpi_backoff;
uint8_t tcpi_options; u_int8_t tcpi_options;
uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; u_int8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
uint32_t tcpi_rto; u_int32_t tcpi_rto;
uint32_t tcpi_ato; u_int32_t tcpi_ato;
uint32_t tcpi_snd_mss; u_int32_t tcpi_snd_mss;
uint32_t tcpi_rcv_mss; u_int32_t tcpi_rcv_mss;
uint32_t tcpi_unacked; u_int32_t tcpi_unacked;
uint32_t tcpi_sacked; u_int32_t tcpi_sacked;
uint32_t tcpi_lost; u_int32_t tcpi_lost;
uint32_t tcpi_retrans; u_int32_t tcpi_retrans;
uint32_t tcpi_fackets; u_int32_t tcpi_fackets;
/* Times. */ /* Times. */
uint32_t tcpi_last_data_sent; u_int32_t tcpi_last_data_sent;
uint32_t tcpi_last_ack_sent; /* Not remembered, sorry. */ u_int32_t tcpi_last_ack_sent; /* Not remembered, sorry. */
uint32_t tcpi_last_data_recv; u_int32_t tcpi_last_data_recv;
uint32_t tcpi_last_ack_recv; u_int32_t tcpi_last_ack_recv;
/* Metrics. */ /* Metrics. */
uint32_t tcpi_pmtu; u_int32_t tcpi_pmtu;
uint32_t tcpi_rcv_ssthresh; u_int32_t tcpi_rcv_ssthresh;
uint32_t tcpi_rtt; u_int32_t tcpi_rtt;
uint32_t tcpi_rttvar; u_int32_t tcpi_rttvar;
uint32_t tcpi_snd_ssthresh; u_int32_t tcpi_snd_ssthresh;
uint32_t tcpi_snd_cwnd; u_int32_t tcpi_snd_cwnd;
uint32_t tcpi_advmss; u_int32_t tcpi_advmss;
uint32_t tcpi_reordering; u_int32_t tcpi_reordering;
}; };
__END_DECLS __END_DECLS

View File

@ -163,7 +163,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
.proc " #tramp_name "# .proc " #tramp_name "#
" #tramp_name ": " #tramp_name ":
{ .mmi { .mmi
alloc loc0 = ar.pfs, 8, 2, 3, 0 alloc loc0 = ar.pfs, 8, 3, 3, 0
adds r2 = -144, r12 adds r2 = -144, r12
adds r3 = -128, r12 adds r3 = -128, r12
} }
@ -173,6 +173,11 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
mov out2 = b0 /* needed by fixup_profile */ mov out2 = b0 /* needed by fixup_profile */
;; ;;
} }
{ .mfb
mov loc2 = r8 /* preserve struct value register */
nop.f 0
nop.b 0
}
{ .mmi { .mmi
stf.spill [r2] = f8, 32 stf.spill [r2] = f8, 32
stf.spill [r3] = f9, 32 stf.spill [r3] = f9, 32
@ -226,11 +231,15 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
adds r12 = 160, r12 adds r12 = 160, r12
;; ;;
} }
{ .mii
ld8 gp = [ret0]
mov r8 = loc2 /* restore struct value register */
;;
}
/* An alloc is needed for the break system call to work. /* An alloc is needed for the break system call to work.
We don't care about the old value of the pfs register. */ We don't care about the old value of the pfs register. */
{ .mmb { .mmb
alloc r2 = ar.pfs, 0, 0, 8, 0 alloc r2 = ar.pfs, 0, 0, 8, 0
ld8 gp = [ret0]
br.sptk.many b6 br.sptk.many b6
;; ;;
} }

View File

@ -279,18 +279,22 @@ double: 1
float: 0.5 float: 0.5
idouble: 1 idouble: 1
ifloat: 0.5 ifloat: 0.5
ildouble: 1
ldouble: 1
Test "cos (M_PI_6l * 4.0) == -0.5": Test "cos (M_PI_6l * 4.0) == -0.5":
double: 2 double: 2
float: 1 float: 1
idouble: 2 idouble: 2
ifloat: 1 ifloat: 1
ildouble: 1
ldouble: 1
Test "cos (pi/2) == 0": Test "cos (pi/2) == 0":
double: 0.2758 double: 0.2758
float: 0.3667 float: 0.3667
idouble: 0.2758 idouble: 0.2758
ifloat: 0.3667 ifloat: 0.3667
ildouble: 0.2251 ildouble: 0.2252
ldouble: 0.2251 ldouble: 0.2252
# cpow # cpow
Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i": Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
@ -607,6 +611,8 @@ double: 1
float: 0.5 float: 0.5
idouble: 1 idouble: 1
ifloat: 0.5 ifloat: 0.5
ildouble: 1
ldouble: 1
Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.866025403784438646764 in sin_res": Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.866025403784438646764 in sin_res":
double: 1 double: 1
float: 1 float: 1
@ -617,8 +623,8 @@ double: 0.2758
float: 0.3667 float: 0.3667
idouble: 0.2758 idouble: 0.2758
ifloat: 0.3667 ifloat: 0.3667
ildouble: 0.2251 ildouble: 0.2252
ldouble: 0.2251 ldouble: 0.2252
Test "sincos (pi/6, &sin_res, &cos_res) puts 0.866025403784438646764 in cos_res": Test "sincos (pi/6, &sin_res, &cos_res) puts 0.866025403784438646764 in cos_res":
float: 1 float: 1
ifloat: 1 ifloat: 1

View File

@ -6,6 +6,12 @@ ld {
} }
libc { libc {
GLIBC_2.2 { GLIBC_2.2 {
ioperm; iopl;
inb; inw; inl;
_inb; _inw; _inl;
outb; outw; _outl;
_outb; _outw; _outl;
# linuxthreads # linuxthreads
__clone2; __clone2;
} }