Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 15 Oct 2000 02:17:30 +0000 (02:17 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 15 Oct 2000 02:17:30 +0000 (02:17 +0000)
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.

ChangeLog
inet/rexec.c
intl/localealias.c
manual/stdio.texi
math/libm-test.inc
sysdeps/gnu/netinet/tcp.h
sysdeps/ia64/dl-machine.h
sysdeps/sparc/sparc64/fpu/libm-test-ulps
sysdeps/unix/sysv/linux/ia64/Versions

index ce8e48a..a0c8b77 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
 
        * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add fcntl()
index decee94..4eae8f7 100644 (file)
@@ -65,7 +65,7 @@ rexec_af(ahost, rport, name, pass, cmd, fd2p, af)
        int gai;
        char servbuff[NI_MAXSERV];
 
-       snprintf(servbuff, sizeof(servbuff), "%d", rport);
+       snprintf(servbuff, sizeof(servbuff), "%d", ntohs(rport));
        servbuff[sizeof(servbuff) - 1] = '\0';
 
        memset(&hints, 0, sizeof(hints));
index 57c693d..426db49 100644 (file)
@@ -351,6 +351,18 @@ read_alias_file (fname, fname_len)
                      FREE_BLOCKS (block_list);
                      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_max = new_size;
                }
index 5c37698..e3e3918 100644 (file)
@@ -2098,11 +2098,13 @@ The function to register a new output conversion is
 @comment GNU
 @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}.
-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
 characters like @samp{#} and type modifiers like @samp{l} can never be
 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
 friends when this conversion appears in a template string.
index 9f882d3..f4df889 100644 (file)
 #define IGNORE_ZERO_INF_SIGN           0x10
 
 /* Various constants (we must supply them precalculated for accuracy).  */
-#define M_PI_6l                        .52359877559829887308L
-#define M_E2l                  7.389056098930650227230L
-#define M_E3l                  20.08553692318766774093L
-#define M_2_SQRT_PIl           3.5449077018110320545963L       /* 2 sqrt (M_PIl)  */
-#define M_SQRT_PIl             1.77245385090551602729817L      /* sqrt (M_PIl)  */
+#define M_PI_6l                        .52359877559829887307710723054658383L
+#define M_E2l                  7.389056098930650227230427460575008L
+#define M_E3l                  20.085536923187667740928529654581719L
+#define M_2_SQRT_PIl           3.5449077018110320545963349666822903L   /* 2 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_2_SQRT_PIl       1.265512123484645396489L        /* log(2*sqrt(M_PIl))  */
 #define M_PI_34l               (M_PIl - M_PI_4l)               /* 3*pi/4 */
@@ -1429,6 +1429,12 @@ catanh_test (void)
 static void
 cbrt_test (void)
 {
+  errno = 0;
+  FUNC(cbrt) (8);
+  if (errno == ENOSYS)
+    /* Function not implemented.  */
+    return;
+
   START (cbrt);
 
   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, 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, -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);
 
   END (cbrt);
@@ -2385,7 +2391,7 @@ exp10_test (void)
   TEST_f_f (exp10, minus_infty, 0);
   TEST_f_f (exp10, nan_value, nan_value);
   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, 0);
   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, 6.5, 2.3, 1.9);
-  TEST_ff_f (fmod, -6.5, 2.3, -1.9);
-  TEST_ff_f (fmod, 6.5, -2.3, 1.9);
-  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.9L);
+  TEST_ff_f (fmod, 6.5, -2.3, 1.9L);
+  TEST_ff_f (fmod, -6.5, -2.3, -1.9L);
 
   END (fmod);
 }
@@ -2687,8 +2693,8 @@ frexp_test (void)
   TEST_fI_f1 (frexp, 0.0, 0.0, 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, -27.34, -0.854375, 5);
+  TEST_fI_f1 (frexp, 12.8, 0.8L, 4);
+  TEST_fI_f1 (frexp, -27.34, -0.854375L, 5);
 
   END (frexp);
 }
@@ -2756,9 +2762,9 @@ hypot_test (void)
   TEST_ff_f (hypot, -12.4, -0.7, 12.41974234837422060118L);
 
   /*  hypot (x,0) == fabs (x)  */
-  TEST_ff_f (hypot, 0.7, 0, 0.7);
-  TEST_ff_f (hypot, -0.7, 0, 0.7);
-  TEST_ff_f (hypot, -5.7e7, 0, 5.7e7);
+  TEST_ff_f (hypot, 0.7, 0, 0.7L);
+  TEST_ff_f (hypot, -0.7, 0, 0.7L);
+  TEST_ff_f (hypot, -5.7e7, 0, 5.7e7L);
 
   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, 0.25, 0.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);
 
   END (sqrt);
index 6d98360..ddb1f8b 100644 (file)
@@ -183,40 +183,40 @@ enum tcp_ca_state
 
 struct tcp_info
 {
-  uint8_t      tcpi_state;
-  uint8_t      tcpi_ca_state;
-  uint8_t      tcpi_retransmits;
-  uint8_t      tcpi_probes;
-  uint8_t      tcpi_backoff;
-  uint8_t      tcpi_options;
-  uint8_t      tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
-
-  uint32_t     tcpi_rto;
-  uint32_t     tcpi_ato;
-  uint32_t     tcpi_snd_mss;
-  uint32_t     tcpi_rcv_mss;
-
-  uint32_t     tcpi_unacked;
-  uint32_t     tcpi_sacked;
-  uint32_t     tcpi_lost;
-  uint32_t     tcpi_retrans;
-  uint32_t     tcpi_fackets;
+  u_int8_t     tcpi_state;
+  u_int8_t     tcpi_ca_state;
+  u_int8_t     tcpi_retransmits;
+  u_int8_t     tcpi_probes;
+  u_int8_t     tcpi_backoff;
+  u_int8_t     tcpi_options;
+  u_int8_t     tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
+
+  u_int32_t    tcpi_rto;
+  u_int32_t    tcpi_ato;
+  u_int32_t    tcpi_snd_mss;
+  u_int32_t    tcpi_rcv_mss;
+
+  u_int32_t    tcpi_unacked;
+  u_int32_t    tcpi_sacked;
+  u_int32_t    tcpi_lost;
+  u_int32_t    tcpi_retrans;
+  u_int32_t    tcpi_fackets;
 
   /* Times. */
-  uint32_t     tcpi_last_data_sent;
-  uint32_t     tcpi_last_ack_sent;     /* Not remembered, sorry.  */
-  uint32_t     tcpi_last_data_recv;
-  uint32_t     tcpi_last_ack_recv;
+  u_int32_t    tcpi_last_data_sent;
+  u_int32_t    tcpi_last_ack_sent;     /* Not remembered, sorry.  */
+  u_int32_t    tcpi_last_data_recv;
+  u_int32_t    tcpi_last_ack_recv;
 
   /* Metrics. */
-  uint32_t     tcpi_pmtu;
-  uint32_t     tcpi_rcv_ssthresh;
-  uint32_t     tcpi_rtt;
-  uint32_t     tcpi_rttvar;
-  uint32_t     tcpi_snd_ssthresh;
-  uint32_t     tcpi_snd_cwnd;
-  uint32_t     tcpi_advmss;
-  uint32_t     tcpi_reordering;
+  u_int32_t    tcpi_pmtu;
+  u_int32_t    tcpi_rcv_ssthresh;
+  u_int32_t    tcpi_rtt;
+  u_int32_t    tcpi_rttvar;
+  u_int32_t    tcpi_snd_ssthresh;
+  u_int32_t    tcpi_snd_cwnd;
+  u_int32_t    tcpi_advmss;
+  u_int32_t    tcpi_reordering;
 };
 
 __END_DECLS
index 1c37b24..5c4870d 100644 (file)
@@ -163,7 +163,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
        .proc " #tramp_name "#
 " #tramp_name ":
        { .mmi
-         alloc loc0 = ar.pfs, 8, 2, 3, 0
+         alloc loc0 = ar.pfs, 8, 3, 3, 0
          adds r2 = -144, 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 */
          ;;
        }
+       { .mfb
+         mov loc2 = r8         /* preserve struct value register */
+         nop.f 0
+         nop.b 0
+       }
        { .mmi
          stf.spill [r2] = f8, 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
          ;;
        }
+       { .mii
+         ld8 gp = [ret0]
+         mov r8 = loc2         /* restore struct value register */
+         ;;
+       }
        /* An alloc is needed for the break system call to work.
           We don't care about the old value of the pfs register.  */
        { .mmb
          alloc r2 = ar.pfs, 0, 0, 8, 0
-         ld8 gp = [ret0]
          br.sptk.many b6
          ;;
        }
index 7b594a8..868690e 100644 (file)
@@ -279,18 +279,22 @@ double: 1
 float: 0.5
 idouble: 1
 ifloat: 0.5
+ildouble: 1
+ldouble: 1
 Test "cos (M_PI_6l * 4.0) == -0.5":
 double: 2
 float: 1
 idouble: 2
 ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "cos (pi/2) == 0":
 double: 0.2758
 float: 0.3667
 idouble: 0.2758
 ifloat: 0.3667
-ildouble: 0.2251
-ldouble: 0.2251
+ildouble: 0.2252
+ldouble: 0.2252
 
 # cpow
 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
 idouble: 1
 ifloat: 0.5
+ildouble: 1
+ldouble: 1
 Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.866025403784438646764 in sin_res":
 double: 1
 float: 1
@@ -617,8 +623,8 @@ double: 0.2758
 float: 0.3667
 idouble: 0.2758
 ifloat: 0.3667
-ildouble: 0.2251
-ldouble: 0.2251
+ildouble: 0.2252
+ldouble: 0.2252
 Test "sincos (pi/6, &sin_res, &cos_res) puts 0.866025403784438646764 in cos_res":
 float: 1
 ifloat: 1
index 24ce601..f8a9143 100644 (file)
@@ -6,6 +6,12 @@ ld {
 }
 libc {
   GLIBC_2.2 {
+    ioperm; iopl;
+    inb; inw; inl;
+    _inb; _inw; _inl;
+    outb; outw; _outl;
+    _outb; _outw; _outl;
+
     # linuxthreads
     __clone2;
   }