Thread: SunOS patch for memcmp()

SunOS patch for memcmp()

From
Bruce Momjian
Date:
> > SunOS        Tatsuo Ishii
> >               Are we giving up on this one? Still relevant?
>
> What should we do? The only remaining issue is a non-8-bit-clean
> memcmp, which seems pretty easy to fix it.

OK, here is a patch to allow SunOS to pass the regression tests.  One
attachment is the patch, which is quite small except that the line
numbers in configure changed with autoconf, and that bloated the patch.
The second attachment is the file memcmp.c which should be placed in
src/utils.  I got this from NetBSD.

I tested the patch several ways.  First I tested the regression tests
without the new memcmp().  Then I enabled the memcmp().  Thirdly, I had
the memcmp() always return '1' on non-equals rather than +/- 1, and saw
the same failures Tatuso saw.

One interesting item is that I had to compile with
backend/utils/adt/varbit.c with -fno-builtin because my gcc 2.X manual
says:

       -fno-builtin
              Don't  recognize built-in functions that do not be-
              gin with two leading underscores.   Currently,  the
              functions affected include _exit, abort, abs, allo-
              ca, cos, exit, fabs,  labs,  memcmp,  memcpy,  sin,
              sqrt, strcmp, strcpy, and strlen.

So if you don't give that flag on BSD/OS, the memcmp() is inlined and
never called.  Nice feature.  Tatsuo, is there a newer compiler for
SunOS that will do this and bypass the broken libc memcmp() on that
platform?

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.158
diff -c -r1.158 configure.in
*** configure.in    2001/12/13 22:00:22    1.158
--- configure.in    2001/12/17 05:22:05
***************
*** 809,814 ****
--- 809,817 ----
  AC_FUNC_ACCEPT_ARGTYPES
  PGAC_FUNC_GETTIMEOFDAY_1ARG

+ # SunOS doesn't handle negative byte comparisons properly with +/- return
+ PGAC_FUNC_MEMCMP
+
  AC_CHECK_FUNCS([fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen fdatasync])

  dnl Check whether <unistd.h> declares fdatasync().
Index: config/c-library.m4
===================================================================
RCS file: /cvsroot/pgsql/config/c-library.m4,v
retrieving revision 1.9
diff -c -r1.9 c-library.m4
*** config/c-library.m4    2001/09/07 19:52:53    1.9
--- config/c-library.m4    2001/12/17 05:22:05
***************
*** 36,41 ****
--- 36,65 ----
  fi])# PGAC_FUNC_GETTIMEOFDAY_1ARG


+ # PGAC_FUNC_MEMCMP
+ # -----------
+ # Check if memcmp() properly handles negative bytes and returns +/-.
+ # SunOS does not.
+ # AC_FUNC_MEMCMP
+ AC_DEFUN(PGAC_FUNC_MEMCMP,
+ [AC_CACHE_CHECK(for 8-bit clean memcmp, pgac_cv_func_memcmp_clean,
+ [AC_TRY_RUN([
+ main()
+ {
+   char c0 = 0x40, c1 = 0x80, c2 = 0x81;
+   exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
+ }
+ ], pgac_cv_func_memcmp_clean=yes, pgac_cv_func_memcmp_clean=no,
+ pgac_cv_func_memcmp_clean=no)])
+ if test $pgac_cv_func_memcmp_clean = no ; then
+   MEMCMP=memcmp.o
+ else
+   MEMCMP=
+ fi
+ AC_SUBST(MEMCMP)dnl
+ ])
+
+
  # PGAC_UNION_SEMUN
  # ----------------
  # Check if `union semun' exists. Define HAVE_UNION_SEMUN if so.
Index: src/Makefile.global.in
===================================================================
RCS file: /cvsroot/pgsql/src/Makefile.global.in,v
retrieving revision 1.140
diff -c -r1.140 Makefile.global.in
*** src/Makefile.global.in    2001/10/13 15:24:23    1.140
--- src/Makefile.global.in    2001/12/17 05:22:06
***************
*** 328,333 ****
--- 328,334 ----
  STRERROR = @STRERROR@
  SNPRINTF = @SNPRINTF@
  STRDUP = @STRDUP@
+ MEMCMP = @MEMCMP@
  STRTOUL = @STRTOUL@


Index: src/backend/port/Makefile.in
===================================================================
RCS file: /cvsroot/pgsql/src/backend/port/Makefile.in,v
retrieving revision 1.29
diff -c -r1.29 Makefile.in
*** src/backend/port/Makefile.in    2001/05/08 19:38:57    1.29
--- src/backend/port/Makefile.in    2001/12/17 05:22:06
***************
*** 26,32 ****
--- 26,39 ----
  OBJS+= @STRTOL@ @STRTOUL@ @SNPRINTF@
  ifdef STRDUP
  OBJS += $(top_builddir)/src/utils/strdup.o
+ $(top_builddir)/src/utils/strdup.o:
+     $(MAKE) -C $(top_builddir)/src/utils strdup.o
  endif
+ ifdef MEMCMP
+ OBJS += $(top_builddir)/src/utils/memcmp.o
+ $(top_builddir)/src/utils/memcmp.o:
+     $(MAKE) -C $(top_builddir)/src/utils memcmp.o
+ endif
  ifeq ($(PORTNAME), qnx4)
  OBJS += getrusage.o qnx4/SUBSYS.o
  endif
***************
*** 59,68 ****

  tas.o: tas.s
      $(CC) $(CFLAGS) -c $<
-
- $(top_builddir)/src/utils/strdup.o:
-     $(MAKE) -C $(top_builddir)/src/utils strdup.o
-

  distclean clean:
      rm -f SUBSYS.o $(OBJS)
--- 66,71 ----
Index: src/utils/Makefile
===================================================================
RCS file: /cvsroot/pgsql/src/utils/Makefile,v
retrieving revision 1.9
diff -c -r1.9 Makefile
*** src/utils/Makefile    2000/08/31 16:12:35    1.9
--- src/utils/Makefile    2001/12/17 05:22:08
***************
*** 24,30 ****
  all:

  clean distclean maintainer-clean:
!     rm -f dllinit.o getopt.o strdup.o

  depend dep:
      $(CC) $(CFLAGS) -MM *.c >depend
--- 24,30 ----
  all:

  clean distclean maintainer-clean:
!     rm -f dllinit.o getopt.o strdup.o memcmp.o

  depend dep:
      $(CC) $(CFLAGS) -MM *.c >depend
Index: configure
===================================================================
RCS file: /cvsroot/pgsql/configure,v
retrieving revision 1.166
diff -c -r1.166 configure
*** configure    2001/12/13 22:00:22    1.166
--- configure    2001/12/17 05:22:04
***************
*** 6149,6163 ****

  fi

  for ac_func in fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen fdatasync
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:6156: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6161 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 6149,6205 ----

  fi

+ # SunOS doesn't handle negative byte comparisons properly with +/- return
+ echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
+ echo "configure:6155: checking for 8-bit clean memcmp" >&5
+ if eval "test \"`echo '$''{'pgac_cv_func_memcmp_clean'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test "$cross_compiling" = yes; then
+   pgac_cv_func_memcmp_clean=no
+ else
+   cat > conftest.$ac_ext <<EOF
+ #line 6163 "configure"
+ #include "confdefs.h"
+
+ main()
+ {
+   char c0 = 0x40, c1 = 0x80, c2 = 0x81;
+   exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
+ }
+
+ EOF
+ if { (eval echo configure:6173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
+ then
+   pgac_cv_func_memcmp_clean=yes
+ else
+   echo "configure: failed program was:" >&5
+   cat conftest.$ac_ext >&5
+   rm -fr conftest*
+   pgac_cv_func_memcmp_clean=no
+ fi
+ rm -fr conftest*
+ fi
+
+ fi
+
+ echo "$ac_t""$pgac_cv_func_memcmp_clean" 1>&6
+ if test $pgac_cv_func_memcmp_clean = no ; then
+   MEMCMP=memcmp.o
+ else
+   MEMCMP=
+ fi
+
+
  for ac_func in fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen fdatasync
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:6198: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6203 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 6180,6186 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
--- 6222,6228 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
***************
*** 6206,6212 ****


  cat > conftest.$ac_ext <<EOF
! #line 6210 "configure"
  #include "confdefs.h"
  #include <unistd.h>
  EOF
--- 6248,6254 ----


  cat > conftest.$ac_ext <<EOF
! #line 6252 "configure"
  #include "confdefs.h"
  #include <unistd.h>
  EOF
***************
*** 6222,6233 ****


  echo $ac_n "checking for PS_STRINGS""... $ac_c" 1>&6
! echo "configure:6226: checking for PS_STRINGS" >&5
  if eval "test \"`echo '$''{'pgac_cv_var_PS_STRINGS'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6231 "configure"
  #include "confdefs.h"
  #include <machine/vmparam.h>
  #include <sys/exec.h>
--- 6264,6275 ----


  echo $ac_n "checking for PS_STRINGS""... $ac_c" 1>&6
! echo "configure:6268: checking for PS_STRINGS" >&5
  if eval "test \"`echo '$''{'pgac_cv_var_PS_STRINGS'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6273 "configure"
  #include "confdefs.h"
  #include <machine/vmparam.h>
  #include <sys/exec.h>
***************
*** 6237,6243 ****
  PS_STRINGS->ps_argvstr = "foo";
  ; return 0; }
  EOF
! if { (eval echo configure:6241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    pgac_cv_var_PS_STRINGS=yes
  else
--- 6279,6285 ----
  PS_STRINGS->ps_argvstr = "foo";
  ; return 0; }
  EOF
! if { (eval echo configure:6283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    pgac_cv_var_PS_STRINGS=yes
  else
***************
*** 6259,6270 ****

  SNPRINTF=''
  echo $ac_n "checking for snprintf""... $ac_c" 1>&6
! echo "configure:6263: checking for snprintf" >&5
  if eval "test \"`echo '$''{'ac_cv_func_snprintf'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6268 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char snprintf(); below.  */
--- 6301,6312 ----

  SNPRINTF=''
  echo $ac_n "checking for snprintf""... $ac_c" 1>&6
! echo "configure:6305: checking for snprintf" >&5
  if eval "test \"`echo '$''{'ac_cv_func_snprintf'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6310 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char snprintf(); below.  */
***************
*** 6287,6293 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6291: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_snprintf=yes"
  else
--- 6329,6335 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_snprintf=yes"
  else
***************
*** 6311,6322 ****
  fi

  echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6
! echo "configure:6315: checking for vsnprintf" >&5
  if eval "test \"`echo '$''{'ac_cv_func_vsnprintf'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6320 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char vsnprintf(); below.  */
--- 6353,6364 ----
  fi

  echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6
! echo "configure:6357: checking for vsnprintf" >&5
  if eval "test \"`echo '$''{'ac_cv_func_vsnprintf'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6362 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char vsnprintf(); below.  */
***************
*** 6339,6345 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_vsnprintf=yes"
  else
--- 6381,6387 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_vsnprintf=yes"
  else
***************
*** 6364,6370 ****


  cat > conftest.$ac_ext <<EOF
! #line 6368 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  EOF
--- 6406,6412 ----


  cat > conftest.$ac_ext <<EOF
! #line 6410 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  EOF
***************
*** 6379,6385 ****
  rm -f conftest*

  cat > conftest.$ac_ext <<EOF
! #line 6383 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  EOF
--- 6421,6427 ----
  rm -f conftest*

  cat > conftest.$ac_ext <<EOF
! #line 6425 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  EOF
***************
*** 6396,6407 ****

  # do this one the hard way in case isinf() is a macro
  echo $ac_n "checking for isinf""... $ac_c" 1>&6
! echo "configure:6400: checking for isinf" >&5
  if eval "test \"`echo '$''{'ac_cv_func_isinf'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6405 "configure"
  #include "confdefs.h"
  #include <math.h>

--- 6438,6449 ----

  # do this one the hard way in case isinf() is a macro
  echo $ac_n "checking for isinf""... $ac_c" 1>&6
! echo "configure:6442: checking for isinf" >&5
  if eval "test \"`echo '$''{'ac_cv_func_isinf'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6447 "configure"
  #include "confdefs.h"
  #include <math.h>

***************
*** 6409,6415 ****
  double x = 0.0; int res = isinf(x);
  ; return 0; }
  EOF
! if { (eval echo configure:6413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_func_isinf=yes
  else
--- 6451,6457 ----
  double x = 0.0; int res = isinf(x);
  ; return 0; }
  EOF
! if { (eval echo configure:6455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_func_isinf=yes
  else
***************
*** 6435,6446 ****
    for ac_func in fpclass fp_class fp_class_d class
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:6439: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6444 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 6477,6488 ----
    for ac_func in fpclass fp_class fp_class_d class
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:6481: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6486 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 6463,6469 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
--- 6505,6511 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
***************
*** 6491,6502 ****


  echo $ac_n "checking for getrusage""... $ac_c" 1>&6
! echo "configure:6495: checking for getrusage" >&5
  if eval "test \"`echo '$''{'ac_cv_func_getrusage'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6500 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char getrusage(); below.  */
--- 6533,6544 ----


  echo $ac_n "checking for getrusage""... $ac_c" 1>&6
! echo "configure:6537: checking for getrusage" >&5
  if eval "test \"`echo '$''{'ac_cv_func_getrusage'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6542 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char getrusage(); below.  */
***************
*** 6519,6525 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_getrusage=yes"
  else
--- 6561,6567 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_getrusage=yes"
  else
***************
*** 6544,6555 ****


  echo $ac_n "checking for srandom""... $ac_c" 1>&6
! echo "configure:6548: checking for srandom" >&5
  if eval "test \"`echo '$''{'ac_cv_func_srandom'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6553 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char srandom(); below.  */
--- 6586,6597 ----


  echo $ac_n "checking for srandom""... $ac_c" 1>&6
! echo "configure:6590: checking for srandom" >&5
  if eval "test \"`echo '$''{'ac_cv_func_srandom'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6595 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char srandom(); below.  */
***************
*** 6572,6578 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_srandom=yes"
  else
--- 6614,6620 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_srandom=yes"
  else
***************
*** 6597,6608 ****


  echo $ac_n "checking for gethostname""... $ac_c" 1>&6
! echo "configure:6601: checking for gethostname" >&5
  if eval "test \"`echo '$''{'ac_cv_func_gethostname'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6606 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char gethostname(); below.  */
--- 6639,6650 ----


  echo $ac_n "checking for gethostname""... $ac_c" 1>&6
! echo "configure:6643: checking for gethostname" >&5
  if eval "test \"`echo '$''{'ac_cv_func_gethostname'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6648 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char gethostname(); below.  */
***************
*** 6625,6631 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_gethostname=yes"
  else
--- 6667,6673 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_gethostname=yes"
  else
***************
*** 6650,6661 ****


  echo $ac_n "checking for random""... $ac_c" 1>&6
! echo "configure:6654: checking for random" >&5
  if eval "test \"`echo '$''{'ac_cv_func_random'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6659 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char random(); below.  */
--- 6692,6703 ----


  echo $ac_n "checking for random""... $ac_c" 1>&6
! echo "configure:6696: checking for random" >&5
  if eval "test \"`echo '$''{'ac_cv_func_random'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6701 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char random(); below.  */
***************
*** 6678,6684 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_random=yes"
  else
--- 6720,6726 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_random=yes"
  else
***************
*** 6698,6714 ****

  else
    echo "$ac_t""no" 1>&6
! MISSING_RANDOM='random.o'
  fi


  echo $ac_n "checking for inet_aton""... $ac_c" 1>&6
! echo "configure:6707: checking for inet_aton" >&5
  if eval "test \"`echo '$''{'ac_cv_func_inet_aton'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6712 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char inet_aton(); below.  */
--- 6740,6756 ----

  else
    echo "$ac_t""no" 1>&6
! RANDOM='random.o'
  fi


  echo $ac_n "checking for inet_aton""... $ac_c" 1>&6
! echo "configure:6749: checking for inet_aton" >&5
  if eval "test \"`echo '$''{'ac_cv_func_inet_aton'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6754 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char inet_aton(); below.  */
***************
*** 6731,6737 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_inet_aton=yes"
  else
--- 6773,6779 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_inet_aton=yes"
  else
***************
*** 6756,6767 ****


  echo $ac_n "checking for strerror""... $ac_c" 1>&6
! echo "configure:6760: checking for strerror" >&5
  if eval "test \"`echo '$''{'ac_cv_func_strerror'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6765 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char strerror(); below.  */
--- 6798,6809 ----


  echo $ac_n "checking for strerror""... $ac_c" 1>&6
! echo "configure:6802: checking for strerror" >&5
  if eval "test \"`echo '$''{'ac_cv_func_strerror'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6807 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char strerror(); below.  */
***************
*** 6784,6790 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_strerror=yes"
  else
--- 6826,6832 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_strerror=yes"
  else
***************
*** 6809,6820 ****


  echo $ac_n "checking for strdup""... $ac_c" 1>&6
! echo "configure:6813: checking for strdup" >&5
  if eval "test \"`echo '$''{'ac_cv_func_strdup'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6818 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char strdup(); below.  */
--- 6851,6862 ----


  echo $ac_n "checking for strdup""... $ac_c" 1>&6
! echo "configure:6855: checking for strdup" >&5
  if eval "test \"`echo '$''{'ac_cv_func_strdup'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6860 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char strdup(); below.  */
***************
*** 6837,6843 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_strdup=yes"
  else
--- 6879,6885 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_strdup=yes"
  else
***************
*** 6862,6873 ****


  echo $ac_n "checking for strtol""... $ac_c" 1>&6
! echo "configure:6866: checking for strtol" >&5
  if eval "test \"`echo '$''{'ac_cv_func_strtol'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6871 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char strtol(); below.  */
--- 6904,6915 ----


  echo $ac_n "checking for strtol""... $ac_c" 1>&6
! echo "configure:6908: checking for strtol" >&5
  if eval "test \"`echo '$''{'ac_cv_func_strtol'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6913 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char strtol(); below.  */
***************
*** 6890,6896 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_strtol=yes"
  else
--- 6932,6938 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_strtol=yes"
  else
***************
*** 6915,6926 ****


  echo $ac_n "checking for strtoul""... $ac_c" 1>&6
! echo "configure:6919: checking for strtoul" >&5
  if eval "test \"`echo '$''{'ac_cv_func_strtoul'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6924 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char strtoul(); below.  */
--- 6957,6968 ----


  echo $ac_n "checking for strtoul""... $ac_c" 1>&6
! echo "configure:6961: checking for strtoul" >&5
  if eval "test \"`echo '$''{'ac_cv_func_strtoul'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6966 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char strtoul(); below.  */
***************
*** 6943,6949 ****

  ; return 0; }
  EOF
! if { (eval echo configure:6947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_strtoul=yes"
  else
--- 6985,6991 ----

  ; return 0; }
  EOF
! if { (eval echo configure:6989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_strtoul=yes"
  else
***************
*** 6968,6979 ****


  echo $ac_n "checking for strcasecmp""... $ac_c" 1>&6
! echo "configure:6972: checking for strcasecmp" >&5
  if eval "test \"`echo '$''{'ac_cv_func_strcasecmp'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 6977 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char strcasecmp(); below.  */
--- 7010,7021 ----


  echo $ac_n "checking for strcasecmp""... $ac_c" 1>&6
! echo "configure:7014: checking for strcasecmp" >&5
  if eval "test \"`echo '$''{'ac_cv_func_strcasecmp'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7019 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char strcasecmp(); below.  */
***************
*** 6996,7002 ****

  ; return 0; }
  EOF
! if { (eval echo configure:7000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_strcasecmp=yes"
  else
--- 7038,7044 ----

  ; return 0; }
  EOF
! if { (eval echo configure:7042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_strcasecmp=yes"
  else
***************
*** 7021,7032 ****


  echo $ac_n "checking for cbrt""... $ac_c" 1>&6
! echo "configure:7025: checking for cbrt" >&5
  if eval "test \"`echo '$''{'ac_cv_func_cbrt'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7030 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char cbrt(); below.  */
--- 7063,7074 ----


  echo $ac_n "checking for cbrt""... $ac_c" 1>&6
! echo "configure:7067: checking for cbrt" >&5
  if eval "test \"`echo '$''{'ac_cv_func_cbrt'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7072 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char cbrt(); below.  */
***************
*** 7049,7055 ****

  ; return 0; }
  EOF
! if { (eval echo configure:7053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_cbrt=yes"
  else
--- 7091,7097 ----

  ; return 0; }
  EOF
! if { (eval echo configure:7095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_cbrt=yes"
  else
***************
*** 7070,7076 ****
  else
    echo "$ac_t""no" 1>&6
  echo $ac_n "checking for cbrt in -lm""... $ac_c" 1>&6
! echo "configure:7074: checking for cbrt in -lm" >&5
  ac_lib_var=`echo m'_'cbrt | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 7112,7118 ----
  else
    echo "$ac_t""no" 1>&6
  echo $ac_n "checking for cbrt in -lm""... $ac_c" 1>&6
! echo "configure:7116: checking for cbrt in -lm" >&5
  ac_lib_var=`echo m'_'cbrt | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 7078,7084 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lm  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 7082 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 7120,7126 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lm  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 7124 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 7089,7095 ****
  cbrt()
  ; return 0; }
  EOF
! if { (eval echo configure:7093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
--- 7131,7137 ----
  cbrt()
  ; return 0; }
  EOF
! if { (eval echo configure:7135: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
***************
*** 7127,7138 ****


  echo $ac_n "checking for rint""... $ac_c" 1>&6
! echo "configure:7131: checking for rint" >&5
  if eval "test \"`echo '$''{'ac_cv_func_rint'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7136 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char rint(); below.  */
--- 7169,7180 ----


  echo $ac_n "checking for rint""... $ac_c" 1>&6
! echo "configure:7173: checking for rint" >&5
  if eval "test \"`echo '$''{'ac_cv_func_rint'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7178 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char rint(); below.  */
***************
*** 7155,7161 ****

  ; return 0; }
  EOF
! if { (eval echo configure:7159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_rint=yes"
  else
--- 7197,7203 ----

  ; return 0; }
  EOF
! if { (eval echo configure:7201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_rint=yes"
  else
***************
*** 7176,7182 ****
  else
    echo "$ac_t""no" 1>&6
  echo $ac_n "checking for rint in -lm""... $ac_c" 1>&6
! echo "configure:7180: checking for rint in -lm" >&5
  ac_lib_var=`echo m'_'rint | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 7218,7224 ----
  else
    echo "$ac_t""no" 1>&6
  echo $ac_n "checking for rint in -lm""... $ac_c" 1>&6
! echo "configure:7222: checking for rint in -lm" >&5
  ac_lib_var=`echo m'_'rint | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 7184,7190 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lm $HPUXMATHLIB $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 7188 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 7226,7232 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lm $HPUXMATHLIB $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 7230 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 7195,7201 ****
  rint()
  ; return 0; }
  EOF
! if { (eval echo configure:7199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
--- 7237,7243 ----
  rint()
  ; return 0; }
  EOF
! if { (eval echo configure:7241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
***************
*** 7224,7232 ****

  # Readline versions < 2.1 don't have rl_completion_append_character
  echo $ac_n "checking for rl_completion_append_character""... $ac_c" 1>&6
! echo "configure:7228: checking for rl_completion_append_character" >&5
  cat > conftest.$ac_ext <<EOF
! #line 7230 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  #ifdef HAVE_READLINE_READLINE_H
--- 7266,7274 ----

  # Readline versions < 2.1 don't have rl_completion_append_character
  echo $ac_n "checking for rl_completion_append_character""... $ac_c" 1>&6
! echo "configure:7270: checking for rl_completion_append_character" >&5
  cat > conftest.$ac_ext <<EOF
! #line 7272 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  #ifdef HAVE_READLINE_READLINE_H
***************
*** 7239,7245 ****
  rl_completion_append_character = 'x';
  ; return 0; }
  EOF
! if { (eval echo configure:7243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    echo "$ac_t""yes" 1>&6
  cat >> confdefs.h <<\EOF
--- 7281,7287 ----
  rl_completion_append_character = 'x';
  ; return 0; }
  EOF
! if { (eval echo configure:7285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    echo "$ac_t""yes" 1>&6
  cat >> confdefs.h <<\EOF
***************
*** 7257,7268 ****
  for ac_func in rl_completion_matches rl_filename_completion_function
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:7261: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7266 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 7299,7310 ----
  for ac_func in rl_completion_matches rl_filename_completion_function
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:7303: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7308 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 7285,7291 ****

  ; return 0; }
  EOF
! if { (eval echo configure:7289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
--- 7327,7333 ----

  ; return 0; }
  EOF
! if { (eval echo configure:7331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
***************
*** 7312,7327 ****


  echo $ac_n "checking for finite""... $ac_c" 1>&6
! echo "configure:7316: checking for finite" >&5
  cat > conftest.$ac_ext <<EOF
! #line 7318 "configure"
  #include "confdefs.h"
  #include <math.h>
  int main() {
  int dummy=finite(1.0);
  ; return 0; }
  EOF
! if { (eval echo configure:7325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    cat >> confdefs.h <<\EOF
  #define HAVE_FINITE 1
--- 7354,7369 ----


  echo $ac_n "checking for finite""... $ac_c" 1>&6
! echo "configure:7358: checking for finite" >&5
  cat > conftest.$ac_ext <<EOF
! #line 7360 "configure"
  #include "confdefs.h"
  #include <math.h>
  int main() {
  int dummy=finite(1.0);
  ; return 0; }
  EOF
! if { (eval echo configure:7367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    cat >> confdefs.h <<\EOF
  #define HAVE_FINITE 1
***************
*** 7336,7351 ****
  rm -f conftest*

  echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
! echo "configure:7340: checking for sigsetjmp" >&5
  cat > conftest.$ac_ext <<EOF
! #line 7342 "configure"
  #include "confdefs.h"
  #include <setjmp.h>
  int main() {
  sigjmp_buf x; sigsetjmp(x, 1);
  ; return 0; }
  EOF
! if { (eval echo configure:7349: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    cat >> confdefs.h <<\EOF
  #define HAVE_SIGSETJMP 1
--- 7378,7393 ----
  rm -f conftest*

  echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
! echo "configure:7382: checking for sigsetjmp" >&5
  cat > conftest.$ac_ext <<EOF
! #line 7384 "configure"
  #include "confdefs.h"
  #include <setjmp.h>
  int main() {
  sigjmp_buf x; sigsetjmp(x, 1);
  ; return 0; }
  EOF
! if { (eval echo configure:7391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    cat >> confdefs.h <<\EOF
  #define HAVE_SIGSETJMP 1
***************
*** 7365,7376 ****
    case $enable_syslog in
      yes)
        echo $ac_n "checking for syslog""... $ac_c" 1>&6
! echo "configure:7369: checking for syslog" >&5
  if eval "test \"`echo '$''{'ac_cv_func_syslog'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7374 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char syslog(); below.  */
--- 7407,7418 ----
    case $enable_syslog in
      yes)
        echo $ac_n "checking for syslog""... $ac_c" 1>&6
! echo "configure:7411: checking for syslog" >&5
  if eval "test \"`echo '$''{'ac_cv_func_syslog'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7416 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char syslog(); below.  */
***************
*** 7393,7399 ****

  ; return 0; }
  EOF
! if { (eval echo configure:7397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_syslog=yes"
  else
--- 7435,7441 ----

  ; return 0; }
  EOF
! if { (eval echo configure:7439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_syslog=yes"
  else
***************
*** 7432,7450 ****


  echo $ac_n "checking for optreset""... $ac_c" 1>&6
! echo "configure:7436: checking for optreset" >&5
  if eval "test \"`echo '$''{'pgac_cv_var_int_optreset'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7441 "configure"
  #include "confdefs.h"
  #include <unistd.h>
  int main() {
  extern int optreset; optreset = 1;
  ; return 0; }
  EOF
! if { (eval echo configure:7448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    pgac_cv_var_int_optreset=yes
  else
--- 7474,7492 ----


  echo $ac_n "checking for optreset""... $ac_c" 1>&6
! echo "configure:7478: checking for optreset" >&5
  if eval "test \"`echo '$''{'pgac_cv_var_int_optreset'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7483 "configure"
  #include "confdefs.h"
  #include <unistd.h>
  int main() {
  extern int optreset; optreset = 1;
  ; return 0; }
  EOF
! if { (eval echo configure:7490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    pgac_cv_var_int_optreset=yes
  else
***************
*** 7470,7485 ****
  # This check should come after all modifications of compiler or linker
  # variables, and before any other run tests.
  echo $ac_n "checking test program""... $ac_c" 1>&6
! echo "configure:7474: checking test program" >&5
  if test "$cross_compiling" = yes; then
    echo "$ac_t""cross-compiling" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7479 "configure"
  #include "confdefs.h"
  int main() { return 0; }
  EOF
! if { (eval echo configure:7483: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    echo "$ac_t""ok" 1>&6
  else
--- 7512,7527 ----
  # This check should come after all modifications of compiler or linker
  # variables, and before any other run tests.
  echo $ac_n "checking test program""... $ac_c" 1>&6
! echo "configure:7516: checking test program" >&5
  if test "$cross_compiling" = yes; then
    echo "$ac_t""cross-compiling" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7521 "configure"
  #include "confdefs.h"
  int main() { return 0; }
  EOF
! if { (eval echo configure:7525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    echo "$ac_t""ok" 1>&6
  else
***************
*** 7499,7505 ****


  echo $ac_n "checking whether long int is 64 bits""... $ac_c" 1>&6
! echo "configure:7503: checking whether long int is 64 bits" >&5
  if eval "test \"`echo '$''{'pgac_cv_type_long_int_64'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 7541,7547 ----


  echo $ac_n "checking whether long int is 64 bits""... $ac_c" 1>&6
! echo "configure:7545: checking whether long int is 64 bits" >&5
  if eval "test \"`echo '$''{'pgac_cv_type_long_int_64'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 7508,7514 ****
  echo "configure: warning: 64 bit arithmetic disabled when cross-compiling" 1>&2
  else
    cat > conftest.$ac_ext <<EOF
! #line 7512 "configure"
  #include "confdefs.h"
  typedef long int int64;

--- 7550,7556 ----
  echo "configure: warning: 64 bit arithmetic disabled when cross-compiling" 1>&2
  else
    cat > conftest.$ac_ext <<EOF
! #line 7554 "configure"
  #include "confdefs.h"
  typedef long int int64;

***************
*** 7537,7543 ****
    exit(! does_int64_work());
  }
  EOF
! if { (eval echo configure:7541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_type_long_int_64=yes
  else
--- 7579,7585 ----
    exit(! does_int64_work());
  }
  EOF
! if { (eval echo configure:7583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_type_long_int_64=yes
  else
***************
*** 7564,7570 ****

  if test x"$HAVE_LONG_INT_64" = x"no" ; then
    echo $ac_n "checking whether long long int is 64 bits""... $ac_c" 1>&6
! echo "configure:7568: checking whether long long int is 64 bits" >&5
  if eval "test \"`echo '$''{'pgac_cv_type_long_long_int_64'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 7606,7612 ----

  if test x"$HAVE_LONG_INT_64" = x"no" ; then
    echo $ac_n "checking whether long long int is 64 bits""... $ac_c" 1>&6
! echo "configure:7610: checking whether long long int is 64 bits" >&5
  if eval "test \"`echo '$''{'pgac_cv_type_long_long_int_64'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 7573,7579 ****
  echo "configure: warning: 64 bit arithmetic disabled when cross-compiling" 1>&2
  else
    cat > conftest.$ac_ext <<EOF
! #line 7577 "configure"
  #include "confdefs.h"
  typedef long long int int64;

--- 7615,7621 ----
  echo "configure: warning: 64 bit arithmetic disabled when cross-compiling" 1>&2
  else
    cat > conftest.$ac_ext <<EOF
! #line 7619 "configure"
  #include "confdefs.h"
  typedef long long int int64;

***************
*** 7602,7608 ****
    exit(! does_int64_work());
  }
  EOF
! if { (eval echo configure:7606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_type_long_long_int_64=yes
  else
--- 7644,7650 ----
    exit(! does_int64_work());
  }
  EOF
! if { (eval echo configure:7648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_type_long_long_int_64=yes
  else
***************
*** 7632,7638 ****

  if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then
    cat > conftest.$ac_ext <<EOF
! #line 7636 "configure"
  #include "confdefs.h"

  #define INT64CONST(x)  x##LL
--- 7674,7680 ----

  if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then
    cat > conftest.$ac_ext <<EOF
! #line 7678 "configure"
  #include "confdefs.h"

  #define INT64CONST(x)  x##LL
***************
*** 7642,7648 ****

  ; return 0; }
  EOF
! if { (eval echo configure:7646: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    cat >> confdefs.h <<\EOF
  #define HAVE_LL_CONSTANTS 1
--- 7684,7690 ----

  ; return 0; }
  EOF
! if { (eval echo configure:7688: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    cat >> confdefs.h <<\EOF
  #define HAVE_LL_CONSTANTS 1
***************
*** 7660,7666 ****
  if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then
    if [ x$SNPRINTF = x ] ; then
      echo $ac_n "checking whether snprintf handles 'long long int' as %lld""... $ac_c" 1>&6
! echo "configure:7664: checking whether snprintf handles 'long long int' as %lld" >&5
      if test "$cross_compiling" = yes; then
     echo "$ac_t""assuming not on target machine" 1>&6
      # Force usage of our own snprintf, since we cannot test foreign snprintf
--- 7702,7708 ----
  if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then
    if [ x$SNPRINTF = x ] ; then
      echo $ac_n "checking whether snprintf handles 'long long int' as %lld""... $ac_c" 1>&6
! echo "configure:7706: checking whether snprintf handles 'long long int' as %lld" >&5
      if test "$cross_compiling" = yes; then
     echo "$ac_t""assuming not on target machine" 1>&6
      # Force usage of our own snprintf, since we cannot test foreign snprintf
***************
*** 7669,7675 ****

  else
    cat > conftest.$ac_ext <<EOF
! #line 7673 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  typedef long long int int64;
--- 7711,7717 ----

  else
    cat > conftest.$ac_ext <<EOF
! #line 7715 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  typedef long long int int64;
***************
*** 7696,7702 ****
    exit(! does_int64_snprintf_work());
  }
  EOF
! if { (eval echo configure:7700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
     echo "$ac_t""yes" 1>&6
        INT64_FORMAT='"%lld"'
--- 7738,7744 ----
    exit(! does_int64_snprintf_work());
  }
  EOF
! if { (eval echo configure:7742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
     echo "$ac_t""yes" 1>&6
        INT64_FORMAT='"%lld"'
***************
*** 7707,7713 ****
    rm -fr conftest*
     echo "$ac_t""no" 1>&6
      echo $ac_n "checking whether snprintf handles 'long long int' as %qd""... $ac_c" 1>&6
! echo "configure:7711: checking whether snprintf handles 'long long int' as %qd" >&5
      if test "$cross_compiling" = yes; then
     echo "$ac_t""assuming not on target machine" 1>&6
      # Force usage of our own snprintf, since we cannot test foreign snprintf
--- 7749,7755 ----
    rm -fr conftest*
     echo "$ac_t""no" 1>&6
      echo $ac_n "checking whether snprintf handles 'long long int' as %qd""... $ac_c" 1>&6
! echo "configure:7753: checking whether snprintf handles 'long long int' as %qd" >&5
      if test "$cross_compiling" = yes; then
     echo "$ac_t""assuming not on target machine" 1>&6
      # Force usage of our own snprintf, since we cannot test foreign snprintf
***************
*** 7716,7722 ****

  else
    cat > conftest.$ac_ext <<EOF
! #line 7720 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  typedef long long int int64;
--- 7758,7764 ----

  else
    cat > conftest.$ac_ext <<EOF
! #line 7762 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  typedef long long int int64;
***************
*** 7743,7749 ****
    exit(! does_int64_snprintf_work());
  }
  EOF
! if { (eval echo configure:7747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
     echo "$ac_t""yes" 1>&6
      INT64_FORMAT='"%qd"'
--- 7785,7791 ----
    exit(! does_int64_snprintf_work());
  }
  EOF
! if { (eval echo configure:7789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
     echo "$ac_t""yes" 1>&6
      INT64_FORMAT='"%qd"'
***************
*** 7783,7794 ****
  for ac_func in strtoll strtoq
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:7787: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7792 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 7825,7836 ----
  for ac_func in strtoll strtoq
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:7829: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7834 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 7811,7817 ****

  ; return 0; }
  EOF
! if { (eval echo configure:7815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
--- 7853,7859 ----

  ; return 0; }
  EOF
! if { (eval echo configure:7857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
***************
*** 7838,7849 ****
  for ac_func in strtoull strtouq
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:7842: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7847 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 7880,7891 ----
  for ac_func in strtoull strtouq
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:7884: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7889 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 7866,7872 ****

  ; return 0; }
  EOF
! if { (eval echo configure:7870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
--- 7908,7914 ----

  ; return 0; }
  EOF
! if { (eval echo configure:7912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
***************
*** 7892,7903 ****


  echo $ac_n "checking for atexit""... $ac_c" 1>&6
! echo "configure:7896: checking for atexit" >&5
  if eval "test \"`echo '$''{'ac_cv_func_atexit'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7901 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char atexit(); below.  */
--- 7934,7945 ----


  echo $ac_n "checking for atexit""... $ac_c" 1>&6
! echo "configure:7938: checking for atexit" >&5
  if eval "test \"`echo '$''{'ac_cv_func_atexit'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7943 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char atexit(); below.  */
***************
*** 7920,7926 ****

  ; return 0; }
  EOF
! if { (eval echo configure:7924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_atexit=yes"
  else
--- 7962,7968 ----

  ; return 0; }
  EOF
! if { (eval echo configure:7966: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_atexit=yes"
  else
***************
*** 7943,7954 ****
  for ac_func in on_exit
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:7947: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7952 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 7985,7996 ----
  for ac_func in on_exit
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:7989: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 7994 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 7971,7977 ****

  ; return 0; }
  EOF
! if { (eval echo configure:7975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
--- 8013,8019 ----

  ; return 0; }
  EOF
! if { (eval echo configure:8017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
***************
*** 8004,8010 ****


  echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6
! echo "configure:8008: checking size of unsigned long" >&5
  if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8046,8052 ----


  echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6
! echo "configure:8050: checking size of unsigned long" >&5
  if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8012,8018 ****
    ac_cv_sizeof_unsigned_long=4
  else
    cat > conftest.$ac_ext <<EOF
! #line 8016 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  main()
--- 8054,8060 ----
    ac_cv_sizeof_unsigned_long=4
  else
    cat > conftest.$ac_ext <<EOF
! #line 8058 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  main()
***************
*** 8023,8029 ****
    exit(0);
  }
  EOF
! if { (eval echo configure:8027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    ac_cv_sizeof_unsigned_long=`cat conftestval`
  else
--- 8065,8071 ----
    exit(0);
  }
  EOF
! if { (eval echo configure:8069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    ac_cv_sizeof_unsigned_long=`cat conftestval`
  else
***************
*** 8049,8055 ****


  echo $ac_n "checking alignment of short""... $ac_c" 1>&6
! echo "configure:8053: checking alignment of short" >&5
  if eval "test \"`echo '$''{'pgac_cv_alignof_short'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8091,8097 ----


  echo $ac_n "checking alignment of short""... $ac_c" 1>&6
! echo "configure:8095: checking alignment of short" >&5
  if eval "test \"`echo '$''{'pgac_cv_alignof_short'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8057,8063 ****
    pgac_cv_alignof_short='sizeof(short)'
  else
    cat > conftest.$ac_ext <<EOF
! #line 8061 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  struct { char filler; short field; } mystruct;
--- 8099,8105 ----
    pgac_cv_alignof_short='sizeof(short)'
  else
    cat > conftest.$ac_ext <<EOF
! #line 8103 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  struct { char filler; short field; } mystruct;
***************
*** 8069,8075 ****
    exit(0);
  }
  EOF
! if { (eval echo configure:8073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_alignof_short=`cat conftestval`
  else
--- 8111,8117 ----
    exit(0);
  }
  EOF
! if { (eval echo configure:8115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_alignof_short=`cat conftestval`
  else
***************
*** 8089,8095 ****


  echo $ac_n "checking alignment of int""... $ac_c" 1>&6
! echo "configure:8093: checking alignment of int" >&5
  if eval "test \"`echo '$''{'pgac_cv_alignof_int'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8131,8137 ----


  echo $ac_n "checking alignment of int""... $ac_c" 1>&6
! echo "configure:8135: checking alignment of int" >&5
  if eval "test \"`echo '$''{'pgac_cv_alignof_int'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8097,8103 ****
    pgac_cv_alignof_int='sizeof(int)'
  else
    cat > conftest.$ac_ext <<EOF
! #line 8101 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  struct { char filler; int field; } mystruct;
--- 8139,8145 ----
    pgac_cv_alignof_int='sizeof(int)'
  else
    cat > conftest.$ac_ext <<EOF
! #line 8143 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  struct { char filler; int field; } mystruct;
***************
*** 8109,8115 ****
    exit(0);
  }
  EOF
! if { (eval echo configure:8113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_alignof_int=`cat conftestval`
  else
--- 8151,8157 ----
    exit(0);
  }
  EOF
! if { (eval echo configure:8155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_alignof_int=`cat conftestval`
  else
***************
*** 8129,8135 ****


  echo $ac_n "checking alignment of long""... $ac_c" 1>&6
! echo "configure:8133: checking alignment of long" >&5
  if eval "test \"`echo '$''{'pgac_cv_alignof_long'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8171,8177 ----


  echo $ac_n "checking alignment of long""... $ac_c" 1>&6
! echo "configure:8175: checking alignment of long" >&5
  if eval "test \"`echo '$''{'pgac_cv_alignof_long'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8137,8143 ****
    pgac_cv_alignof_long='sizeof(long)'
  else
    cat > conftest.$ac_ext <<EOF
! #line 8141 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  struct { char filler; long field; } mystruct;
--- 8179,8185 ----
    pgac_cv_alignof_long='sizeof(long)'
  else
    cat > conftest.$ac_ext <<EOF
! #line 8183 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  struct { char filler; long field; } mystruct;
***************
*** 8149,8155 ****
    exit(0);
  }
  EOF
! if { (eval echo configure:8153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_alignof_long=`cat conftestval`
  else
--- 8191,8197 ----
    exit(0);
  }
  EOF
! if { (eval echo configure:8195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_alignof_long=`cat conftestval`
  else
***************
*** 8170,8176 ****

  if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then
    echo $ac_n "checking alignment of long long int""... $ac_c" 1>&6
! echo "configure:8174: checking alignment of long long int" >&5
  if eval "test \"`echo '$''{'pgac_cv_alignof_long_long_int'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8212,8218 ----

  if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then
    echo $ac_n "checking alignment of long long int""... $ac_c" 1>&6
! echo "configure:8216: checking alignment of long long int" >&5
  if eval "test \"`echo '$''{'pgac_cv_alignof_long_long_int'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8178,8184 ****
    pgac_cv_alignof_long_long_int='sizeof(long long int)'
  else
    cat > conftest.$ac_ext <<EOF
! #line 8182 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  struct { char filler; long long int field; } mystruct;
--- 8220,8226 ----
    pgac_cv_alignof_long_long_int='sizeof(long long int)'
  else
    cat > conftest.$ac_ext <<EOF
! #line 8224 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  struct { char filler; long long int field; } mystruct;
***************
*** 8190,8196 ****
    exit(0);
  }
  EOF
! if { (eval echo configure:8194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_alignof_long_long_int=`cat conftestval`
  else
--- 8232,8238 ----
    exit(0);
  }
  EOF
! if { (eval echo configure:8236: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_alignof_long_long_int=`cat conftestval`
  else
***************
*** 8211,8217 ****

  fi
  echo $ac_n "checking alignment of double""... $ac_c" 1>&6
! echo "configure:8215: checking alignment of double" >&5
  if eval "test \"`echo '$''{'pgac_cv_alignof_double'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8253,8259 ----

  fi
  echo $ac_n "checking alignment of double""... $ac_c" 1>&6
! echo "configure:8257: checking alignment of double" >&5
  if eval "test \"`echo '$''{'pgac_cv_alignof_double'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8219,8225 ****
    pgac_cv_alignof_double='sizeof(double)'
  else
    cat > conftest.$ac_ext <<EOF
! #line 8223 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  struct { char filler; double field; } mystruct;
--- 8261,8267 ----
    pgac_cv_alignof_double='sizeof(double)'
  else
    cat > conftest.$ac_ext <<EOF
! #line 8265 "configure"
  #include "confdefs.h"
  #include <stdio.h>
  struct { char filler; double field; } mystruct;
***************
*** 8231,8237 ****
    exit(0);
  }
  EOF
! if { (eval echo configure:8235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_alignof_double=`cat conftestval`
  else
--- 8273,8279 ----
    exit(0);
  }
  EOF
! if { (eval echo configure:8277: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} &&
(./conftest;exit) 2>/dev/null 
  then
    pgac_cv_alignof_double=`cat conftestval`
  else
***************
*** 8281,8292 ****
  #endif"

  echo $ac_n "checking for int8""... $ac_c" 1>&6
! echo "configure:8285: checking for int8" >&5
  if eval "test \"`echo '$''{'pgac_cv_have_int8'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8290 "configure"
  #include "confdefs.h"
  $pgac_type_includes
  int main() {
--- 8323,8334 ----
  #endif"

  echo $ac_n "checking for int8""... $ac_c" 1>&6
! echo "configure:8327: checking for int8" >&5
  if eval "test \"`echo '$''{'pgac_cv_have_int8'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8332 "configure"
  #include "confdefs.h"
  $pgac_type_includes
  int main() {
***************
*** 8296,8302 ****
    return 0;
  ; return 0; }
  EOF
! if { (eval echo configure:8300: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    pgac_cv_have_int8=yes
  else
--- 8338,8344 ----
    return 0;
  ; return 0; }
  EOF
! if { (eval echo configure:8342: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    pgac_cv_have_int8=yes
  else
***************
*** 8317,8328 ****
    fi

  echo $ac_n "checking for uint8""... $ac_c" 1>&6
! echo "configure:8321: checking for uint8" >&5
  if eval "test \"`echo '$''{'pgac_cv_have_uint8'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8326 "configure"
  #include "confdefs.h"
  $pgac_type_includes
  int main() {
--- 8359,8370 ----
    fi

  echo $ac_n "checking for uint8""... $ac_c" 1>&6
! echo "configure:8363: checking for uint8" >&5
  if eval "test \"`echo '$''{'pgac_cv_have_uint8'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8368 "configure"
  #include "confdefs.h"
  $pgac_type_includes
  int main() {
***************
*** 8332,8338 ****
    return 0;
  ; return 0; }
  EOF
! if { (eval echo configure:8336: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    pgac_cv_have_uint8=yes
  else
--- 8374,8380 ----
    return 0;
  ; return 0; }
  EOF
! if { (eval echo configure:8378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    pgac_cv_have_uint8=yes
  else
***************
*** 8353,8364 ****
    fi

  echo $ac_n "checking for int64""... $ac_c" 1>&6
! echo "configure:8357: checking for int64" >&5
  if eval "test \"`echo '$''{'pgac_cv_have_int64'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8362 "configure"
  #include "confdefs.h"
  $pgac_type_includes
  int main() {
--- 8395,8406 ----
    fi

  echo $ac_n "checking for int64""... $ac_c" 1>&6
! echo "configure:8399: checking for int64" >&5
  if eval "test \"`echo '$''{'pgac_cv_have_int64'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8404 "configure"
  #include "confdefs.h"
  $pgac_type_includes
  int main() {
***************
*** 8368,8374 ****
    return 0;
  ; return 0; }
  EOF
! if { (eval echo configure:8372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    pgac_cv_have_int64=yes
  else
--- 8410,8416 ----
    return 0;
  ; return 0; }
  EOF
! if { (eval echo configure:8414: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    pgac_cv_have_int64=yes
  else
***************
*** 8389,8400 ****
    fi

  echo $ac_n "checking for uint64""... $ac_c" 1>&6
! echo "configure:8393: checking for uint64" >&5
  if eval "test \"`echo '$''{'pgac_cv_have_uint64'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8398 "configure"
  #include "confdefs.h"
  $pgac_type_includes
  int main() {
--- 8431,8442 ----
    fi

  echo $ac_n "checking for uint64""... $ac_c" 1>&6
! echo "configure:8435: checking for uint64" >&5
  if eval "test \"`echo '$''{'pgac_cv_have_uint64'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8440 "configure"
  #include "confdefs.h"
  $pgac_type_includes
  int main() {
***************
*** 8404,8410 ****
    return 0;
  ; return 0; }
  EOF
! if { (eval echo configure:8408: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    pgac_cv_have_uint64=yes
  else
--- 8446,8452 ----
    return 0;
  ; return 0; }
  EOF
! if { (eval echo configure:8450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    pgac_cv_have_uint64=yes
  else
***************
*** 8425,8436 ****
    fi

  echo $ac_n "checking for sig_atomic_t""... $ac_c" 1>&6
! echo "configure:8429: checking for sig_atomic_t" >&5
  if eval "test \"`echo '$''{'pgac_cv_have_sig_atomic_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8434 "configure"
  #include "confdefs.h"
  $pgac_type_includes
  int main() {
--- 8467,8478 ----
    fi

  echo $ac_n "checking for sig_atomic_t""... $ac_c" 1>&6
! echo "configure:8471: checking for sig_atomic_t" >&5
  if eval "test \"`echo '$''{'pgac_cv_have_sig_atomic_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8476 "configure"
  #include "confdefs.h"
  $pgac_type_includes
  int main() {
***************
*** 8440,8446 ****
    return 0;
  ; return 0; }
  EOF
! if { (eval echo configure:8444: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    pgac_cv_have_sig_atomic_t=yes
  else
--- 8482,8488 ----
    return 0;
  ; return 0; }
  EOF
! if { (eval echo configure:8486: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    pgac_cv_have_sig_atomic_t=yes
  else
***************
*** 8463,8474 ****


  echo $ac_n "checking for POSIX signal interface""... $ac_c" 1>&6
! echo "configure:8467: checking for POSIX signal interface" >&5
  if eval "test \"`echo '$''{'pgac_cv_func_posix_signals'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8472 "configure"
  #include "confdefs.h"
  #include <signal.h>

--- 8505,8516 ----


  echo $ac_n "checking for POSIX signal interface""... $ac_c" 1>&6
! echo "configure:8509: checking for POSIX signal interface" >&5
  if eval "test \"`echo '$''{'pgac_cv_func_posix_signals'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 8514 "configure"
  #include "confdefs.h"
  #include <signal.h>

***************
*** 8479,8485 ****
  sigaction(0, &act, &oact);
  ; return 0; }
  EOF
! if { (eval echo configure:8483: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    pgac_cv_func_posix_signals=yes
  else
--- 8521,8527 ----
  sigaction(0, &act, &oact);
  ; return 0; }
  EOF
! if { (eval echo configure:8525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    pgac_cv_func_posix_signals=yes
  else
***************
*** 8509,8515 ****
  # 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:8513: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8551,8557 ----
  # 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:8555: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8545,8551 ****
  done

  echo $ac_n "checking for tclConfig.sh""... $ac_c" 1>&6
! echo "configure:8549: checking for tclConfig.sh" >&5
  # Let user override test
  if test -z "$TCL_CONFIG_SH"; then
      pgac_test_dirs="$with_tclconfig"
--- 8587,8593 ----
  done

  echo $ac_n "checking for tclConfig.sh""... $ac_c" 1>&6
! echo "configure:8591: checking for tclConfig.sh" >&5
  # Let user override test
  if test -z "$TCL_CONFIG_SH"; then
      pgac_test_dirs="$with_tclconfig"
***************
*** 8578,8584 ****
  # Check for Tk configuration script tkConfig.sh
  if test "$with_tk" = yes; then
      echo $ac_n "checking for tkConfig.sh""... $ac_c" 1>&6
! echo "configure:8582: checking for tkConfig.sh" >&5
  # Let user override test
  if test -z "$TK_CONFIG_SH"; then
      pgac_test_dirs="$with_tkconfig $with_tclconfig"
--- 8620,8626 ----
  # Check for Tk configuration script tkConfig.sh
  if test "$with_tk" = yes; then
      echo $ac_n "checking for tkConfig.sh""... $ac_c" 1>&6
! echo "configure:8624: checking for tkConfig.sh" >&5
  # Let user override test
  if test -z "$TK_CONFIG_SH"; then
      pgac_test_dirs="$with_tkconfig $with_tclconfig"
***************
*** 8617,8623 ****
  # 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:8621: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_NSGMLS'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8659,8665 ----
  # 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:8663: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_NSGMLS'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8653,8659 ****
  # 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:8657: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_JADE'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8695,8701 ----
  # 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:8699: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_JADE'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8684,8690 ****


  echo $ac_n "checking for DocBook V3.1""... $ac_c" 1>&6
! echo "configure:8688: checking for DocBook V3.1" >&5
  if eval "test \"`echo '$''{'pgac_cv_check_docbook'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8726,8732 ----


  echo $ac_n "checking for DocBook V3.1""... $ac_c" 1>&6
! echo "configure:8730: checking for DocBook V3.1" >&5
  if eval "test \"`echo '$''{'pgac_cv_check_docbook'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8717,8723 ****


    echo $ac_n "checking for DocBook stylesheets""... $ac_c" 1>&6
! echo "configure:8721: checking for DocBook stylesheets" >&5
  if eval "test \"`echo '$''{'pgac_cv_path_stylesheets'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8759,8765 ----


    echo $ac_n "checking for DocBook stylesheets""... $ac_c" 1>&6
! echo "configure:8763: checking for DocBook stylesheets" >&5
  if eval "test \"`echo '$''{'pgac_cv_path_stylesheets'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 8756,8762 ****
  # 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:8760: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_SGMLSPL'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 8798,8804 ----
  # 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:8802: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_SGMLSPL'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 9011,9022 ****
  s%@MSGMERGE@%$MSGMERGE%g
  s%@XGETTEXT@%$XGETTEXT%g
  s%@localedir@%$localedir%g
  s%@SNPRINTF@%$SNPRINTF%g
  s%@ISINF@%$ISINF%g
  s%@GETRUSAGE@%$GETRUSAGE%g
  s%@SRANDOM@%$SRANDOM%g
  s%@GETHOSTNAME@%$GETHOSTNAME%g
! s%@MISSING_RANDOM@%$MISSING_RANDOM%g
  s%@INET_ATON@%$INET_ATON%g
  s%@STRERROR@%$STRERROR%g
  s%@STRDUP@%$STRDUP%g
--- 9053,9065 ----
  s%@MSGMERGE@%$MSGMERGE%g
  s%@XGETTEXT@%$XGETTEXT%g
  s%@localedir@%$localedir%g
+ s%@MEMCMP@%$MEMCMP%g
  s%@SNPRINTF@%$SNPRINTF%g
  s%@ISINF@%$ISINF%g
  s%@GETRUSAGE@%$GETRUSAGE%g
  s%@SRANDOM@%$SRANDOM%g
  s%@GETHOSTNAME@%$GETHOSTNAME%g
! s%@RANDOM@%$RANDOM%g
  s%@INET_ATON@%$INET_ATON%g
  s%@STRERROR@%$STRERROR%g
  s%@STRDUP@%$STRDUP%g

/*-------------------------------------------------------------------------
 *
 * memcmp.c
 *      compares memory bytes
 *
 * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 *
 * IDENTIFICATION
 *      $Header: /cvsroot/pgsql/src/utils/memcmp.c,v 1.8 2001/01/24 19:43:33 momjian Exp $
 *
 * This file was taken from NetBSD and is used by SunOS because memcmp
 * on that platform does not properly compare negative bytes.
 *
 *-------------------------------------------------------------------------
 */

#include <string.h>

/*
 * Compare memory regions.
 */
int
memcmp(const void *s1, const void *s2, size_t n)
{
    if (n != 0) {
        const unsigned char *p1 = s1, *p2 = s2;

        do {
            if (*p1++ != *p2++)
                return (*--p1 - *--p2);
        } while (--n != 0);
    }
    return 0;
}

Re: SunOS patch for memcmp()

From
Peter Eisentraut
Date:
Bruce Momjian writes:

> > What should we do? The only remaining issue is a non-8-bit-clean
> > memcmp, which seems pretty easy to fix it.
>
> OK, here is a patch to allow SunOS to pass the regression tests.

At a glance, this patch looks okay.  However, since this issue does not
represent a regression from 7.1 I'm not exactly in favour of installing it
now.  We want to get a release out, so I think we need to get stricter in
those matters.  And this patch is not exactly trivial.

> One interesting item is that I had to compile with
> backend/utils/adt/varbit.c with -fno-builtin because my gcc 2.X manual
> says:

Yeah, if you use GCC with optimization on SunOS 4 then the issue should be
moot because the GCC version is used.  However, I don't think that's the
setup in question.

This is actually a good situation to show that configuring with one kind
of compiler flag and building with another is not reliable, even if it's
only the optimization level.

--
Peter Eisentraut   peter_e@gmx.net


Re: SunOS patch for memcmp()

From
Bruce Momjian
Date:
> Bruce Momjian writes:
>
> > > What should we do? The only remaining issue is a non-8-bit-clean
> > > memcmp, which seems pretty easy to fix it.
> >
> > OK, here is a patch to allow SunOS to pass the regression tests.
>
> At a glance, this patch looks okay.  However, since this issue does not
> represent a regression from 7.1 I'm not exactly in favor of installing it
> now.  We want to get a release out, so I think we need to get stricter in
> those matters.  And this patch is not exactly trivial.

I have attached the patch without the autoconf run and without the new
memcmp.c file.  Looks pretty small to me, but I understand.

If we don't want the patch, I will put it on an FTP site somewhere.
However, the configure line numbers changes will be tough to keep
working if a subrelease changes configure.

It seemed worth it to me because it was to enable another port, and I
thought that is what beta was for.  Maybe I can put it in a minor
release.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.158
diff -c -r1.158 configure.in
*** configure.in    2001/12/13 22:00:22    1.158
--- configure.in    2001/12/17 19:05:47
***************
*** 809,814 ****
--- 809,817 ----
  AC_FUNC_ACCEPT_ARGTYPES
  PGAC_FUNC_GETTIMEOFDAY_1ARG

+ # SunOS doesn't handle negative byte comparisons properly with +/- return
+ PGAC_FUNC_MEMCMP
+
  AC_CHECK_FUNCS([fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen fdatasync])

  dnl Check whether <unistd.h> declares fdatasync().
Index: config/c-library.m4
===================================================================
RCS file: /cvsroot/pgsql/config/c-library.m4,v
retrieving revision 1.9
diff -c -r1.9 c-library.m4
*** config/c-library.m4    2001/09/07 19:52:53    1.9
--- config/c-library.m4    2001/12/17 19:05:47
***************
*** 36,41 ****
--- 36,65 ----
  fi])# PGAC_FUNC_GETTIMEOFDAY_1ARG


+ # PGAC_FUNC_MEMCMP
+ # -----------
+ # Check if memcmp() properly handles negative bytes and returns +/-.
+ # SunOS does not.
+ # AC_FUNC_MEMCMP
+ AC_DEFUN(PGAC_FUNC_MEMCMP,
+ [AC_CACHE_CHECK(for 8-bit clean memcmp, pgac_cv_func_memcmp_clean,
+ [AC_TRY_RUN([
+ main()
+ {
+   char c0 = 0x40, c1 = 0x80, c2 = 0x81;
+   exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
+ }
+ ], pgac_cv_func_memcmp_clean=yes, pgac_cv_func_memcmp_clean=no,
+ pgac_cv_func_memcmp_clean=no)])
+ if test $pgac_cv_func_memcmp_clean = no ; then
+   MEMCMP=memcmp.o
+ else
+   MEMCMP=
+ fi
+ AC_SUBST(MEMCMP)dnl
+ ])
+
+
  # PGAC_UNION_SEMUN
  # ----------------
  # Check if `union semun' exists. Define HAVE_UNION_SEMUN if so.
Index: src/Makefile.global.in
===================================================================
RCS file: /cvsroot/pgsql/src/Makefile.global.in,v
retrieving revision 1.140
diff -c -r1.140 Makefile.global.in
*** src/Makefile.global.in    2001/10/13 15:24:23    1.140
--- src/Makefile.global.in    2001/12/17 19:05:48
***************
*** 328,333 ****
--- 328,334 ----
  STRERROR = @STRERROR@
  SNPRINTF = @SNPRINTF@
  STRDUP = @STRDUP@
+ MEMCMP = @MEMCMP@
  STRTOUL = @STRTOUL@


Index: src/backend/port/Makefile.in
===================================================================
RCS file: /cvsroot/pgsql/src/backend/port/Makefile.in,v
retrieving revision 1.29
diff -c -r1.29 Makefile.in
*** src/backend/port/Makefile.in    2001/05/08 19:38:57    1.29
--- src/backend/port/Makefile.in    2001/12/17 19:05:48
***************
*** 22,28 ****
  include $(top_builddir)/src/Makefile.global

  OBJS = dynloader.o @INET_ATON@ @STRERROR@ @MISSING_RANDOM@ @SRANDOM@
! OBJS+= @GETHOSTNAME@ @GETRUSAGE@ @STRCASECMP@ @TAS@ @ISINF@
  OBJS+= @STRTOL@ @STRTOUL@ @SNPRINTF@
  ifdef STRDUP
  OBJS += $(top_builddir)/src/utils/strdup.o
--- 22,28 ----
  include $(top_builddir)/src/Makefile.global

  OBJS = dynloader.o @INET_ATON@ @STRERROR@ @MISSING_RANDOM@ @SRANDOM@
! OBJS+= @GETHOSTNAME@ @GETRUSAGE@ @MEMCMP@ @STRCASECMP@ @TAS@ @ISINF@
  OBJS+= @STRTOL@ @STRTOUL@ @SNPRINTF@
  ifdef STRDUP
  OBJS += $(top_builddir)/src/utils/strdup.o

Re: SunOS patch for memcmp()

From
Tom Lane
Date:
Peter Eisentraut <peter_e@gmx.net> writes:
> At a glance, this patch looks okay.  However, since this issue does not
> represent a regression from 7.1 I'm not exactly in favour of installing it
> now.  We want to get a release out, so I think we need to get stricter in
> those matters.  And this patch is not exactly trivial.

You're being way too harsh on it.  The configure test is exactly the
standard AC_FUNC_MEMCMP test, tweaked to output its result the same way
our other port inclusions do.  The memcmp implementation is also well
tested, being lifted from NetBSD.  Where's the problem?

Clearly it should be tested, and I presume Tatsuo will do that,
but my vote is to apply it.  Why should we drop SunOS off the list
of supported ports?

            regards, tom lane

Re: SunOS patch for memcmp()

From
Tatsuo Ishii
Date:
> Clearly it should be tested, and I presume Tatsuo will do that,
> but my vote is to apply it.  Why should we drop SunOS off the list
> of supported ports?

Ok. I have tested patches from Bruce. Now tests for bit passed.
Remaining issues seem that strtol() is broken on SunOS4, not detecting
an overflow, which causes int4 and some of other tests failure. Should
we use our own strtol()?
--
Tatsuo Ishii

*** ./expected/int4.out    Wed Mar 15 08:06:56 2000
--- ./results/int4.out    Thu Dec 20 10:22:52 2001
***************
*** 14,20 ****
  INSERT INTO INT4_TBL(f1) VALUES ('-2147483647');
  -- bad input values -- should give warnings
  INSERT INTO INT4_TBL(f1) VALUES ('1000000000000');
- ERROR:  pg_atoi: error reading "1000000000000": Numerical result out of range
  INSERT INTO INT4_TBL(f1) VALUES ('asdf');
  ERROR:  pg_atoi: error in "asdf": can't parse "asdf"
  SELECT '' AS five, INT4_TBL.*;
--- 14,19 ----
***************
*** 25,31 ****
        |     -123456
        |  2147483647
        | -2147483647
! (5 rows)

  SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> int2 '0';
   four |     f1
--- 24,31 ----
        |     -123456
        |  2147483647
        | -2147483647
!       |  -727379968
! (6 rows)

  SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> int2 '0';
   four |     f1
***************
*** 34,40 ****
        |     -123456
        |  2147483647
        | -2147483647
! (4 rows)

  SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> int4 '0';
   four |     f1
--- 34,41 ----
        |     -123456
        |  2147483647
        | -2147483647
!       |  -727379968
! (5 rows)

  SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> int4 '0';
   four |     f1
***************
*** 43,49 ****
        |     -123456
        |  2147483647
        | -2147483647
! (4 rows)

  SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = int2 '0';
   one | f1
--- 44,51 ----
        |     -123456
        |  2147483647
        | -2147483647
!       |  -727379968
! (5 rows)

  SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = int2 '0';
   one | f1
***************
*** 62,75 ****
  -----+-------------
       |     -123456
       | -2147483647
! (2 rows)

  SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < int4 '0';
   two |     f1
  -----+-------------
       |     -123456
       | -2147483647
! (2 rows)

  SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= int2 '0';
   three |     f1
--- 64,79 ----
  -----+-------------
       |     -123456
       | -2147483647
!      |  -727379968
! (3 rows)

  SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < int4 '0';
   two |     f1
  -----+-------------
       |     -123456
       | -2147483647
!      |  -727379968
! (3 rows)

  SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= int2 '0';
   three |     f1
***************
*** 77,83 ****
         |           0
         |     -123456
         | -2147483647
! (3 rows)

  SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= int4 '0';
   three |     f1
--- 81,88 ----
         |           0
         |     -123456
         | -2147483647
!        |  -727379968
! (4 rows)

  SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= int4 '0';
   three |     f1
***************
*** 85,91 ****
         |           0
         |     -123456
         | -2147483647
! (3 rows)

  SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > int2 '0';
   two |     f1
--- 90,97 ----
         |           0
         |     -123456
         | -2147483647
!        |  -727379968
! (4 rows)

  SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > int2 '0';
   two |     f1
***************
*** 127,157 ****
  -- any evens
  SELECT '' AS three, i.* FROM INT4_TBL i WHERE (i.f1 % int4 '2') = int2 '0';
   three |   f1
! -------+---------
         |       0
         |  123456
         | -123456
! (3 rows)

  SELECT '' AS five, i.f1, i.f1 * int2 '2' AS x FROM INT4_TBL i;
   five |     f1      |    x
! ------+-------------+---------
        |           0 |       0
        |      123456 |  246912
        |     -123456 | -246912
        |  2147483647 |      -2
        | -2147483647 |       2
! (5 rows)

  SELECT '' AS five, i.f1, i.f1 * int4 '2' AS x FROM INT4_TBL i;
   five |     f1      |    x
! ------+-------------+---------
        |           0 |       0
        |      123456 |  246912
        |     -123456 | -246912
        |  2147483647 |      -2
        | -2147483647 |       2
! (5 rows)

  SELECT '' AS five, i.f1, i.f1 + int2 '2' AS x FROM INT4_TBL i;
   five |     f1      |      x
--- 133,166 ----
  -- any evens
  SELECT '' AS three, i.* FROM INT4_TBL i WHERE (i.f1 % int4 '2') = int2 '0';
   three |     f1
! -------+------------
         |          0
         |     123456
         |    -123456
!        | -727379968
! (4 rows)

  SELECT '' AS five, i.f1, i.f1 * int2 '2' AS x FROM INT4_TBL i;
   five |     f1      |      x
! ------+-------------+-------------
        |           0 |           0
        |      123456 |      246912
        |     -123456 |     -246912
        |  2147483647 |          -2
        | -2147483647 |           2
!       |  -727379968 | -1454759936
! (6 rows)

  SELECT '' AS five, i.f1, i.f1 * int4 '2' AS x FROM INT4_TBL i;
   five |     f1      |      x
! ------+-------------+-------------
        |           0 |           0
        |      123456 |      246912
        |     -123456 |     -246912
        |  2147483647 |          -2
        | -2147483647 |           2
!       |  -727379968 | -1454759936
! (6 rows)

  SELECT '' AS five, i.f1, i.f1 + int2 '2' AS x FROM INT4_TBL i;
   five |     f1      |      x
***************
*** 161,167 ****
        |     -123456 |     -123454
        |  2147483647 | -2147483647
        | -2147483647 | -2147483645
! (5 rows)

  SELECT '' AS five, i.f1, i.f1 + int4 '2' AS x FROM INT4_TBL i;
   five |     f1      |      x
--- 170,177 ----
        |     -123456 |     -123454
        |  2147483647 | -2147483647
        | -2147483647 | -2147483645
!       |  -727379968 |  -727379966
! (6 rows)

  SELECT '' AS five, i.f1, i.f1 + int4 '2' AS x FROM INT4_TBL i;
   five |     f1      |      x
***************
*** 171,177 ****
        |     -123456 |     -123454
        |  2147483647 | -2147483647
        | -2147483647 | -2147483645
! (5 rows)

  SELECT '' AS five, i.f1, i.f1 - int2 '2' AS x FROM INT4_TBL i;
   five |     f1      |     x
--- 181,188 ----
        |     -123456 |     -123454
        |  2147483647 | -2147483647
        | -2147483647 | -2147483645
!       |  -727379968 |  -727379966
! (6 rows)

  SELECT '' AS five, i.f1, i.f1 - int2 '2' AS x FROM INT4_TBL i;
   five |     f1      |     x
***************
*** 181,187 ****
        |     -123456 |    -123458
        |  2147483647 | 2147483645
        | -2147483647 | 2147483647
! (5 rows)

  SELECT '' AS five, i.f1, i.f1 - int4 '2' AS x FROM INT4_TBL i;
   five |     f1      |     x
--- 192,199 ----
        |     -123456 |    -123458
        |  2147483647 | 2147483645
        | -2147483647 | 2147483647
!       |  -727379968 | -727379970
! (6 rows)

  SELECT '' AS five, i.f1, i.f1 - int4 '2' AS x FROM INT4_TBL i;
   five |     f1      |     x
***************
*** 191,197 ****
        |     -123456 |    -123458
        |  2147483647 | 2147483645
        | -2147483647 | 2147483647
! (5 rows)

  SELECT '' AS five, i.f1, i.f1 / int2 '2' AS x FROM INT4_TBL i;
   five |     f1      |      x
--- 203,210 ----
        |     -123456 |    -123458
        |  2147483647 | 2147483645
        | -2147483647 | 2147483647
!       |  -727379968 | -727379970
! (6 rows)

  SELECT '' AS five, i.f1, i.f1 / int2 '2' AS x FROM INT4_TBL i;
   five |     f1      |      x
***************
*** 201,207 ****
        |     -123456 |      -61728
        |  2147483647 |  1073741823
        | -2147483647 | -1073741823
! (5 rows)

  SELECT '' AS five, i.f1, i.f1 / int4 '2' AS x FROM INT4_TBL i;
   five |     f1      |      x
--- 214,221 ----
        |     -123456 |      -61728
        |  2147483647 |  1073741823
        | -2147483647 | -1073741823
!       |  -727379968 |  -363689984
! (6 rows)

  SELECT '' AS five, i.f1, i.f1 / int4 '2' AS x FROM INT4_TBL i;
   five |     f1      |      x
***************
*** 211,217 ****
        |     -123456 |      -61728
        |  2147483647 |  1073741823
        | -2147483647 | -1073741823
! (5 rows)

  --
  -- more complex expressions
--- 225,232 ----
        |     -123456 |      -61728
        |  2147483647 |  1073741823
        | -2147483647 | -1073741823
!       |  -727379968 |  -363689984
! (6 rows)

  --
  -- more complex expressions

======================================================================

*** ./expected/numerology.out    Thu Mar 16 08:31:06 2000
--- ./results/numerology.out    Thu Dec 20 10:25:54 2001
***************
*** 17,22 ****
--- 17,23 ----
   ten |     f1
  -----+-------------
       | -2147483647
+      |  -727379968
       |     -123456
       |      -32767
       |       -1234
***************
*** 26,32 ****
       |       32767
       |      123456
       |  2147483647
! (10 rows)

  -- int4
  CREATE TABLE TEMP_INT4 (f1 INT4);
--- 27,33 ----
       |       32767
       |      123456
       |  2147483647
! (11 rows)

  -- int4
  CREATE TABLE TEMP_INT4 (f1 INT4);

======================================================================

*** ./expected/geometry.out    Fri Nov 30 03:57:31 2001
--- ./results/geometry.out    Thu Dec 20 10:26:46 2001
***************
*** 150,160 ****
   six |                                    box
  -----+----------------------------------------------------------------------------
       | (2.12132034355964,2.12132034355964),(-2.12132034355964,-2.12132034355964)
!      | (71.7106781186548,72.7106781186548),(-69.7106781186548,-68.7106781186548)
!      | (4.53553390593274,6.53553390593274),(-2.53553390593274,-0.535533905932738)
!      | (3.12132034355964,4.12132034355964),(-1.12132034355964,-0.121320343559643)
       | (107.071067811865,207.071067811865),(92.9289321881345,192.928932188135)
!      | (170.710678118655,70.7106781186548),(29.2893218813452,-70.7106781186548)
  (6 rows)

  -- translation
--- 150,160 ----
   six |                                    box
  -----+----------------------------------------------------------------------------
       | (2.12132034355964,2.12132034355964),(-2.12132034355964,-2.12132034355964)
!      | (71.7106781186547,72.7106781186547),(-69.7106781186547,-68.7106781186547)
!      | (4.53553390593274,6.53553390593274),(-2.53553390593274,-0.535533905932737)
!      | (3.12132034355964,4.12132034355964),(-1.12132034355964,-0.121320343559642)
       | (107.071067811865,207.071067811865),(92.9289321881345,192.928932188135)
!      | (170.710678118655,70.7106781186547),(29.2893218813453,-70.7106781186547)
  (6 rows)

  -- translation
***************
*** 445,452 ****

-----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       |
((-3,0),(-2.59807621135076,1.50000000000442),(-1.49999999999116,2.59807621135842),(1.53102359078377e-11,3),(1.50000000001768,2.59807621134311),(2.59807621136607,1.4999999999779),(3,-3.06204718156754e-11),(2.59807621133545,-1.50000000003094),(1.49999999996464,-2.59807621137373),(-4.59307077235131e-11,-3),(-1.5000000000442,-2.5980762113278),(-2.59807621138138,-1.49999999995138))
       |
((-99,2),(-85.6025403783588,52.0000000001473),(-48.9999999997054,88.602540378614),(1.00000000051034,102),(51.0000000005893,88.6025403781036),(87.6025403788692,51.9999999992634),(101,1.99999999897932),(87.6025403778485,-48.0000000010313),(50.9999999988214,-84.6025403791243),(0.999999998468976,-98),(-49.0000000014732,-84.6025403775933),(-85.6025403793795,-47.9999999983795))
!      |
((-4,3),(-3.33012701891794,5.50000000000737),(-1.49999999998527,7.3301270189307),(1.00000000002552,8),(3.50000000002946,7.33012701890518),(5.33012701894346,5.49999999996317),(6,2.99999999994897),(5.33012701889242,0.499999999948437),(3.49999999994107,-1.33012701895622),(0.999999999923449,-2),(-1.50000000007366,-1.33012701887966),(-3.33012701896897,0.500000000081028))
!      |
((-2,2),(-1.59807621135076,3.50000000000442),(-0.499999999991161,4.59807621135842),(1.00000000001531,5),(2.50000000001768,4.59807621134311),(3.59807621136607,3.4999999999779),(4,1.99999999996938),(3.59807621133545,0.499999999969062),(2.49999999996464,-0.59807621137373),(0.999999999954069,-1),(-0.500000000044197,-0.598076211327799),(-1.59807621138138,0.500000000048617))
       |
((90,200),(91.3397459621641,205.000000000015),(95.0000000000295,208.660254037861),(100.000000000051,210),(105.000000000059,208.66025403781),(108.660254037887,204.999999999926),(110,199.999999999898),(108.660254037785,194.999999999897),(104.999999999882,191.339745962088),(99.9999999998469,190),(94.9999999998527,191.339745962241),(91.3397459620621,195.000000000162))
       |
((0,0),(13.3974596216412,50.0000000001473),(50.0000000002946,86.602540378614),(100.00000000051,100),(150.000000000589,86.6025403781036),(186.602540378869,49.9999999992634),(200,-1.02068239385585e-09),(186.602540377848,-50.0000000010313),(149.999999998821,-86.6025403791243),(99.999999998469,-100),(49.9999999985268,-86.6025403775933),(13.3974596206205,-49.9999999983795))
  (6 rows)
--- 445,452 ----

-----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       |
((-3,0),(-2.59807621135076,1.50000000000442),(-1.49999999999116,2.59807621135842),(1.53102359078377e-11,3),(1.50000000001768,2.59807621134311),(2.59807621136607,1.4999999999779),(3,-3.06204718156754e-11),(2.59807621133545,-1.50000000003094),(1.49999999996464,-2.59807621137373),(-4.59307077235131e-11,-3),(-1.5000000000442,-2.5980762113278),(-2.59807621138138,-1.49999999995138))
       |
((-99,2),(-85.6025403783588,52.0000000001473),(-48.9999999997054,88.602540378614),(1.00000000051034,102),(51.0000000005893,88.6025403781036),(87.6025403788692,51.9999999992634),(101,1.99999999897932),(87.6025403778485,-48.0000000010313),(50.9999999988214,-84.6025403791243),(0.999999998468976,-98),(-49.0000000014732,-84.6025403775933),(-85.6025403793795,-47.9999999983795))
!      |
((-4,3),(-3.33012701891794,5.50000000000737),(-1.49999999998527,7.3301270189307),(1.00000000002552,8),(3.50000000002946,7.33012701890518),(5.33012701894346,5.49999999996317),(6,2.99999999994897),(5.33012701889242,0.499999999948437),(3.49999999994107,-1.33012701895622),(0.999999999923449,-2),(-1.50000000007366,-1.33012701887967),(-3.33012701896897,0.500000000081028))
!      |
((-2,2),(-1.59807621135076,3.50000000000442),(-0.499999999991161,4.59807621135842),(1.00000000001531,5),(2.50000000001768,4.59807621134311),(3.59807621136607,3.4999999999779),(4,1.99999999996938),(3.59807621133545,0.499999999969062),(2.49999999996464,-0.598076211373729),(0.999999999954069,-1),(-0.500000000044197,-0.598076211327799),(-1.59807621138138,0.500000000048616))
       |
((90,200),(91.3397459621641,205.000000000015),(95.0000000000295,208.660254037861),(100.000000000051,210),(105.000000000059,208.66025403781),(108.660254037887,204.999999999926),(110,199.999999999898),(108.660254037785,194.999999999897),(104.999999999882,191.339745962088),(99.9999999998469,190),(94.9999999998527,191.339745962241),(91.3397459620621,195.000000000162))
       |
((0,0),(13.3974596216412,50.0000000001473),(50.0000000002946,86.602540378614),(100.00000000051,100),(150.000000000589,86.6025403781036),(186.602540378869,49.9999999992634),(200,-1.02068239385585e-09),(186.602540377848,-50.0000000010313),(149.999999998821,-86.6025403791243),(99.999999998469,-100),(49.9999999985268,-86.6025403775933),(13.3974596206205,-49.9999999983795))
  (6 rows)
***************
*** 457,467 ****
   six |
 polygon
  

-----+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       |
((-3,0),(-2.12132034355423,2.12132034356506),(1.53102359078377e-11,3),(2.12132034357588,2.1213203435434),(3,-3.06204718156754e-11),(2.12132034353258,-2.12132034358671),(-4.59307077235131e-11,-3),(-2.12132034359753,-2.12132034352175))
!      |
((-99,2),(-69.7106781184743,72.7106781188352),(1.00000000051034,102),(71.710678119196,72.7106781181134),(101,1.99999999897932),(71.7106781177526,-68.7106781195569),(0.999999998468976,-98),(-69.7106781199178,-68.7106781173917))
       |
((-4,3),(-2.53553390592372,6.53553390594176),(1.00000000002552,8),(4.5355339059598,6.53553390590567),(6,2.99999999994897),(4.53553390588763,-0.535533905977846),(0.999999999923449,-2),(-2.53553390599589,-0.535533905869586))
       |
((-2,2),(-1.12132034355423,4.12132034356506),(1.00000000001531,5),(3.12132034357588,4.1213203435434),(4,1.99999999996938),(3.12132034353258,-0.121320343586707),(0.999999999954069,-1),(-1.12132034359753,-0.121320343521752))
       |
((90,200),(92.9289321881526,207.071067811884),(100.000000000051,210),(107.07106781192,207.071067811811),(110,199.999999999898),(107.071067811775,192.928932188044),(99.9999999998469,190),(92.9289321880082,192.928932188261))
!      |
((0,0),(29.2893218815257,70.7106781188352),(100.00000000051,100),(170.710678119196,70.7106781181134),(200,-1.02068239385585e-09),(170.710678117753,-70.7106781195569),(99.999999998469,-100),(29.2893218800822,-70.7106781173917))
  (6 rows)

  --
--- 457,467 ----
   six |
 polygon
  

-----+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       |
((-3,0),(-2.12132034355423,2.12132034356506),(1.53102359078377e-11,3),(2.12132034357588,2.1213203435434),(3,-3.06204718156754e-11),(2.12132034353258,-2.12132034358671),(-4.59307077235131e-11,-3),(-2.12132034359753,-2.12132034352175))
!      |
((-99,2),(-69.7106781184743,72.7106781188352),(1.00000000051034,102),(71.710678119196,72.7106781181135),(101,1.99999999897932),(71.7106781177526,-68.7106781195569),(0.999999998468976,-98),(-69.7106781199178,-68.7106781173917))
       |
((-4,3),(-2.53553390592372,6.53553390594176),(1.00000000002552,8),(4.5355339059598,6.53553390590567),(6,2.99999999994897),(4.53553390588763,-0.535533905977846),(0.999999999923449,-2),(-2.53553390599589,-0.535533905869586))
       |
((-2,2),(-1.12132034355423,4.12132034356506),(1.00000000001531,5),(3.12132034357588,4.1213203435434),(4,1.99999999996938),(3.12132034353258,-0.121320343586707),(0.999999999954069,-1),(-1.12132034359753,-0.121320343521752))
       |
((90,200),(92.9289321881526,207.071067811884),(100.000000000051,210),(107.07106781192,207.071067811811),(110,199.999999999898),(107.071067811775,192.928932188044),(99.9999999998469,190),(92.9289321880082,192.928932188261))
!      |
((0,0),(29.2893218815257,70.7106781188352),(100.00000000051,100),(170.710678119196,70.7106781181135),(200,-1.02068239385585e-09),(170.710678117753,-70.7106781195569),(99.999999998469,-100),(29.2893218800822,-70.7106781173917))
  (6 rows)

  --
***************
*** 503,513 ****
     WHERE (p1.f1 <-> c1.f1) > 0
     ORDER BY distance, circle, point using <<;
   twentyfour |     circle     |   point    |     distance
! ------------+----------------+------------+-------------------
!             | <(100,0),100>  | (5.1,34.5) | 0.976531926977964
              | <(1,2),3>      | (-3,4)     |  1.47213595499958
              | <(0,0),3>      | (-3,4)     |                 2
!             | <(100,0),100>  | (-3,4)     |  3.07764064044151
              | <(100,0),100>  | (-5,-12)   |  5.68348972285122
              | <(1,3),5>      | (-10,0)    |  6.40175425099138
              | <(1,3),5>      | (10,10)    |  6.40175425099138
--- 503,513 ----
     WHERE (p1.f1 <-> c1.f1) > 0
     ORDER BY distance, circle, point using <<;
   twentyfour |     circle     |   point    |     distance
! ------------+----------------+------------+------------------
!             | <(100,0),100>  | (5.1,34.5) | 0.97653192697797
              | <(1,2),3>      | (-3,4)     | 1.47213595499958
              | <(0,0),3>      | (-3,4)     |                2
!             | <(100,0),100>  | (-3,4)     | 3.07764064044152
              | <(100,0),100>  | (-5,-12)   | 5.68348972285122
              | <(1,3),5>      | (-10,0)    | 6.40175425099138
              | <(1,3),5>      | (10,10)    | 6.40175425099138
***************
*** 519,525 ****
              | <(0,0),3>      | (10,10)    |   11.142135623731
              | <(1,3),5>      | (-5,-12)   |  11.1554944214035
              | <(1,2),3>      | (-5,-12)   |  12.2315462117278
!             | <(1,3),5>      | (5.1,34.5) |  26.7657047773224
              | <(1,2),3>      | (5.1,34.5) |   29.757594539282
              | <(0,0),3>      | (5.1,34.5) |  31.8749193547455
              | <(100,200),10> | (5.1,34.5) |  180.778038568384
--- 519,525 ----
              | <(0,0),3>      | (10,10)    |  11.142135623731
              | <(1,3),5>      | (-5,-12)   | 11.1554944214035
              | <(1,2),3>      | (-5,-12)   | 12.2315462117278
!             | <(1,3),5>      | (5.1,34.5) | 26.7657047773223
              | <(1,2),3>      | (5.1,34.5) |  29.757594539282
              | <(0,0),3>      | (5.1,34.5) | 31.8749193547455
              | <(100,200),10> | (5.1,34.5) | 180.778038568384

======================================================================

*** ./expected/horology.out    Thu Nov 22 03:27:25 2001
--- ./results/horology.out    Thu Dec 20 10:26:49 2001
***************
*** 1499,1508 ****
       | Wed Mar 15 13:14:02 2000 PST | @ 34 years                    | Tue Mar 15 13:14:02 1966 PST
       | Sun Dec 31 17:32:01 2000 PST | @ 34 years                    | Sat Dec 31 17:32:01 1966 PST
       | Mon Jan 01 17:32:01 2001 PST | @ 34 years                    | Sun Jan 01 17:32:01 1967 PST
!      | Sat Sep 22 18:19:20 2001 PDT | @ 34 years                    | Fri Sep 22 18:19:20 1967 PDT
!      | Thu Jan 01 00:00:00 1970 PST | @ 5 mons 12 hours             | Thu Jul 31 13:00:00 1969 PDT
!      | Thu Jan 01 00:00:00 1970 PST | @ 5 mons                      | Fri Aug 01 01:00:00 1969 PDT
!      | Thu Jan 01 00:00:00 1970 PST | @ 3 mons                      | Wed Oct 01 01:00:00 1969 PDT
       | Thu Jan 01 00:00:00 1970 PST | @ 10 days                     | Mon Dec 22 00:00:00 1969 PST
       | Thu Jan 01 00:00:00 1970 PST | @ 1 day 2 hours 3 mins 4 secs | Tue Dec 30 21:56:56 1969 PST
       | Thu Jan 01 00:00:00 1970 PST | @ 5 hours                     | Wed Dec 31 19:00:00 1969 PST
--- 1499,1508 ----
       | Wed Mar 15 13:14:02 2000 PST | @ 34 years                    | Tue Mar 15 13:14:02 1966 PST
       | Sun Dec 31 17:32:01 2000 PST | @ 34 years                    | Sat Dec 31 17:32:01 1966 PST
       | Mon Jan 01 17:32:01 2001 PST | @ 34 years                    | Sun Jan 01 17:32:01 1967 PST
!      | Sat Sep 22 18:19:20 2001 PDT | @ 34 years                    | Fri Sep 22 17:19:20 1967 PST
!      | Thu Jan 01 00:00:00 1970 PST | @ 5 mons 12 hours             | Thu Jul 31 12:00:00 1969 PST
!      | Thu Jan 01 00:00:00 1970 PST | @ 5 mons                      | Fri Aug 01 00:00:00 1969 PST
!      | Thu Jan 01 00:00:00 1970 PST | @ 3 mons                      | Wed Oct 01 00:00:00 1969 PST
       | Thu Jan 01 00:00:00 1970 PST | @ 10 days                     | Mon Dec 22 00:00:00 1969 PST
       | Thu Jan 01 00:00:00 1970 PST | @ 1 day 2 hours 3 mins 4 secs | Tue Dec 30 21:56:56 1969 PST
       | Thu Jan 01 00:00:00 1970 PST | @ 5 hours                     | Wed Dec 31 19:00:00 1969 PST

======================================================================

*** ./expected/union.out    Thu Nov  9 11:47:49 2000
--- ./results/union.out    Thu Dec 20 10:28:50 2001
***************
*** 163,168 ****
--- 163,169 ----
  -----------------------
   -1.2345678901234e+200
             -2147483647
+             -727379968
                 -123456
                 -1004.3
                  -34.84
***************
*** 170,176 ****
                       0
                  123456
              2147483647
! (9 rows)

  SELECT f1 AS ten FROM FLOAT8_TBL
  UNION ALL
--- 171,177 ----
                       0
                  123456
              2147483647
! (10 rows)

  SELECT f1 AS ten FROM FLOAT8_TBL
  UNION ALL
***************
*** 187,193 ****
                 -123456
              2147483647
             -2147483647
! (10 rows)

  SELECT f1 AS five FROM FLOAT8_TBL
    WHERE f1 BETWEEN -1e6 AND 1e6
--- 188,195 ----
                 -123456
              2147483647
             -2147483647
!             -727379968
! (11 rows)

  SELECT f1 AS five FROM FLOAT8_TBL
    WHERE f1 BETWEEN -1e6 AND 1e6

======================================================================

*** ./expected/random.out    Thu Jan  6 15:40:54 2000
--- ./results/random.out    Thu Dec 20 10:28:58 2001
***************
*** 25,31 ****
    GROUP BY random HAVING count(random) > 1;
   random | count
  --------+-------
! (0 rows)

  SELECT random FROM RANDOM_TBL
    WHERE random NOT BETWEEN 80 AND 120;
--- 25,32 ----
    GROUP BY random HAVING count(random) > 1;
   random | count
  --------+-------
!     105 |     2
! (1 row)

  SELECT random FROM RANDOM_TBL
    WHERE random NOT BETWEEN 80 AND 120;

======================================================================


Re: SunOS patch for memcmp()

From
Tom Lane
Date:
Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> Ok. I have tested patches from Bruce. Now tests for bit passed.
> Remaining issues seem that strtol() is broken on SunOS4, not detecting
> an overflow, which causes int4 and some of other tests failure.

Looks like you might also want to use horology-no-DST-before-1970.out.

> Should we use our own strtol()?

Mumble.  The memcmp fix was all from well-tested parts, but I don't
think we have a canned test for strtol breakage available.  Also,
I believe that the SunOS strtol lossage has been known and tolerated
in previous Postgres releases.  Since it's not a regression, I'm going
to change sides and vote with Peter: let's not fix this one now.

            regards, tom lane

Re: SunOS patch for memcmp()

From
Tatsuo Ishii
Date:
> Looks like you might also want to use horology-no-DST-before-1970.out.

Done.

> > Should we use our own strtol()?
>
> Mumble.  The memcmp fix was all from well-tested parts, but I don't
> think we have a canned test for strtol breakage available.  Also,
> I believe that the SunOS strtol lossage has been known and tolerated
> in previous Postgres releases.  Since it's not a regression, I'm going
> to change sides and vote with Peter: let's not fix this one now.

Ok.
--
Tatsuo Ishii

Re: SunOS patch for memcmp()

From
Bruce Momjian
Date:
> Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> > Ok. I have tested patches from Bruce. Now tests for bit passed.
> > Remaining issues seem that strtol() is broken on SunOS4, not detecting
> > an overflow, which causes int4 and some of other tests failure.
>
> Looks like you might also want to use horology-no-DST-before-1970.out.
>
> > Should we use our own strtol()?
>
> Mumble.  The memcmp fix was all from well-tested parts, but I don't
> think we have a canned test for strtol breakage available.  Also,
> I believe that the SunOS strtol lossage has been known and tolerated
> in previous Postgres releases.  Since it's not a regression, I'm going
> to change sides and vote with Peter: let's not fix this one now.

OK, what do people want with the memcmp() fix?  Tatsuo and I say apply,
Tom is yes, or was, and Peter is probably no.  Can I have more vote
either way?  I have already posted the patch.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: SunOS patch for memcmp()

From
Bruce Momjian
Date:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > OK, what do people want with the memcmp() fix?  Tatsuo and I say apply,
> > Tom is yes, or was,
>
> Still is.  I don't want to gin up a strtol fix from scratch at this
> late date in our cycle, but I think that the memcmp fix is safe.

OK, good.  I will put the strtol on my list for 7.3.  The memcmp is much
more significant.  Overflow is minor for most uses.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: SunOS patch for memcmp()

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> OK, what do people want with the memcmp() fix?  Tatsuo and I say apply,
> Tom is yes, or was,

Still is.  I don't want to gin up a strtol fix from scratch at this
late date in our cycle, but I think that the memcmp fix is safe.

            regards, tom lane

Re: SunOS patch for memcmp()

From
Thomas Lockhart
Date:
> > > OK, what do people want with the memcmp() fix?  Tatsuo and I say apply,
> > > Tom is yes, or was,
> > Still is.  I don't want to gin up a strtol fix from scratch at this
> > late date in our cycle, but I think that the memcmp fix is safe.
> OK, good.  I will put the strtol on my list for 7.3.  The memcmp is much
> more significant.  Overflow is minor for most uses.

Right. I'll plop SunOS back into the list of supported platforms for
this release. Thanks for the work Tatsuo and Bruce!

                    - Thomas

Re: SunOS patch for memcmp()

From
Bruce Momjian
Date:
> > > > OK, what do people want with the memcmp() fix?  Tatsuo and I say apply,
> > > > Tom is yes, or was,
> > > Still is.  I don't want to gin up a strtol fix from scratch at this
> > > late date in our cycle, but I think that the memcmp fix is safe.
> > OK, good.  I will put the strtol on my list for 7.3.  The memcmp is much
> > more significant.  Overflow is minor for most uses.
>
> Right. I'll plop SunOS back into the list of supported platforms for
> this release. Thanks for the work Tatsuo and Bruce!

OK, I have four votes for the patch, and one against.  I will apply it
now.  We can consider SunOS supported.  There is the the problem that
overflow is not detected by strtol but that is not a critical feature:

  INSERT INTO INT4_TBL(f1) VALUES ('1000000000000');
- ERROR:  pg_atoi: error reading "1000000000000": Numerical result out of range

I will try to get that fixed for 7.3.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: SunOS patch for memcmp()

From
Bruce Momjian
Date:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Actually, here is a fix for that too.  Patch attached but not applied.
> > I merely enabled our existing strtol.c for SunOS.
>
> Ugh.

You don't like the unconditional incusion of object files for a port?
Is that it?

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: SunOS patch for memcmp()

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> You don't like the unconditional incusion of object files for a port?

Right.  At least not when there is also a conditional inclusion.

            regards, tom lane

Re: SunOS patch for memcmp()

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Actually, here is a fix for that too.  Patch attached but not applied.
> I merely enabled our existing strtol.c for SunOS.

Ugh.

            regards, tom lane

Re: SunOS patch for memcmp()

From
Bruce Momjian
Date:
> > > > > OK, what do people want with the memcmp() fix?  Tatsuo and I say apply,
> > > > > Tom is yes, or was,
> > > > Still is.  I don't want to gin up a strtol fix from scratch at this
> > > > late date in our cycle, but I think that the memcmp fix is safe.
> > > OK, good.  I will put the strtol on my list for 7.3.  The memcmp is much
> > > more significant.  Overflow is minor for most uses.
> >
> > Right. I'll plop SunOS back into the list of supported platforms for
> > this release. Thanks for the work Tatsuo and Bruce!
>
> OK, I have four votes for the patch, and one against.  I will apply it
> now.  We can consider SunOS supported.  There is the the problem that
> overflow is not detected by strtol but that is not a critical feature:
>
>   INSERT INTO INT4_TBL(f1) VALUES ('1000000000000');
> - ERROR:  pg_atoi: error reading "1000000000000": Numerical result out of range
>
> I will try to get that fixed for 7.3.

Actually, here is a fix for that too.  Patch attached but not applied.
I merely enabled our existing strtol.c for SunOS.  Peter, if you would
prefer memcmp.c to be handled the same way, I can do that too, with no
configure test at all, merely forcing use on SunOS.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
Index: src/backend/port/Makefile.in
===================================================================
RCS file: /cvsroot/pgsql/src/backend/port/Makefile.in,v
retrieving revision 1.30
diff -c -r1.30 Makefile.in
*** src/backend/port/Makefile.in    2001/12/20 21:23:05    1.30
--- src/backend/port/Makefile.in    2001/12/20 21:25:04
***************
*** 36,41 ****
--- 36,44 ----
  ifeq ($(PORTNAME), darwin)
  OBJS += darwin/SUBSYS.o
  endif
+ ifeq ($(PORTNAME), sunos)
+ OBJS += strtol.o
+ endif

  all: SUBSYS.o


Re: SunOS patch for memcmp()

From
Bruce Momjian
Date:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > You don't like the unconditional incusion of object files for a port?
>
> Right.  At least not when there is also a conditional inclusion.

Wow, that would be bad.  :-)  Anyway, I just threw out the idea,
particularly if Peter wants to remove the configure test for memcmp().
However, I am sure others like the memcmp configures test more.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: SunOS patch for memcmp()

From
Tatsuo Ishii
Date:
> > Right. I'll plop SunOS back into the list of supported platforms for
> > this release. Thanks for the work Tatsuo and Bruce!
>
> OK, I have four votes for the patch, and one against.  I will apply it
> now.  We can consider SunOS supported.  There is the the problem that
> overflow is not detected by strtol but that is not a critical feature:
>
>   INSERT INTO INT4_TBL(f1) VALUES ('1000000000000');
> - ERROR:  pg_atoi: error reading "1000000000000": Numerical result out of range
>
> I will try to get that fixed for 7.3.

Please note that (as I said before), I only tested the serial
regression test. I did not execute the parallel test.
--
Tatsuo Ishii