Обсуждение: SunOS patch for memcmp()
> > 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;
}
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
> 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
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
> 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;
======================================================================
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
> 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
> 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
> 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
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
> > > 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
> > > > 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
> 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
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
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
> > > > > 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
> 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
> > 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