regression test errors: netbsd 1.3.2/i386

Started by Brook Milliganover 27 years ago5 messageshackers
Jump to latest
#1Brook Milligan
brook@trillium.NMSU.Edu

I just compiled up the current snapshot for a test under netbsd
1.3.2/i386. Everything works except the followng:

int8 .. failed <-- seems like large numbers show as negative
geometry .. failed <-- seems like roundoff differences
union .. failed <-- all differences have extra rows

Perhaps these are all "well-known" problems, but if any details on
failures would help, let me know. If the geometry errors really are
roundoffs, I'll be glad to make a netbsd "expected" file before the
final release.

Cheers,
Brook

#2Thomas Lockhart
lockhart@alumni.caltech.edu
In reply to: Brook Milligan (#1)
Re: [HACKERS] regression test errors: netbsd 1.3.2/i386

Brook Milligan wrote:

I just compiled up the current snapshot for a test under netbsd
1.3.2/i386. Everything works except the followng:

int8 .. failed <-- seems like large numbers show as negative

Your system is apparently not yet supported for 8 byte integers. If you
want netbsd to be supported, you need to figure out if you have support
for those in your compiler (gcc seems to have it across several
processors) and you need i/o support for them in printf/scanf.

configure tries to detect these automatically so look at what configure
tries to do and see why it missed for your system.

union .. failed <-- all differences have extra rows

? Do other people see a problem with unions?

- Tom

#3Brook Milligan
brook@trillium.NMSU.Edu
In reply to: Thomas Lockhart (#2)
Re: [HACKERS] regression test errors: netbsd 1.3.2/i386

I just compiled up the current snapshot for a test under netbsd
1.3.2/i386. Everything works except the followng:

int8 .. failed <-- seems like large numbers show as negative

Your system is apparently not yet supported for 8 byte integers. If you
want netbsd to be supported, you need to figure out if you have support
for those in your compiler (gcc seems to have it across several
processors) and you need i/o support for them in printf/scanf.

configure tries to detect these automatically so look at what configure
tries to do and see why it missed for your system.

Configure does check (and passes), but doesn't seem to record anything
about the int8 tests. As a result, config.h (and hence int8.h) knows
nothing about the results of the configure test. The patches below
get configure to record the tests in config.h. With these patches (to
last night's snapshot) the int8 regression test passes on netbsd
1.3.2/i386. I'm actually surprised they work without these patches
for anyone, really.

Cheers,
Brook

===========================================================================
--- configure.in.orig	Thu Sep 10 01:00:35 1998
+++ configure.in	Thu Sep 10 15:21:36 1998
@@ -572,6 +572,7 @@
 	[AC_DEFINE(HAVE_LONG_INT_64) AC_MSG_RESULT(yes)],
 	AC_MSG_RESULT(no),
 	AC_MSG_RESULT(assuming not on target machine))
+AC_SUBST(HAVE_LONG_INT_64)

AC_MSG_CHECKING(whether 'long long int' is 64 bits using %lld)
AC_TRY_RUN([#include <stdio.h>
@@ -609,6 +610,7 @@
[AC_DEFINE(HAVE_LONG_LONG_INT_64_lld) AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no),
AC_MSG_RESULT(assuming not on target machine))
+AC_SUBST(HAVE_LONG_LONG_INT_64_lld)

AC_MSG_CHECKING(whether 'long long int' is 64 bits using %qd)
AC_TRY_RUN([#include <stdio.h>
@@ -646,6 +648,7 @@
[AC_DEFINE(HAVE_LONG_LONG_INT_64_qd) AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no),
AC_MSG_RESULT(assuming not on target machine))
+AC_SUBST(HAVE_LONG_LONG_INT_64_qd)

 dnl Checks for library functions.
 AC_PROG_GCC_TRADITIONAL
===========================================================================
--- include/config.h.in.orig	Wed Aug 26 01:01:16 1998
+++ include/config.h.in	Thu Sep 10 15:22:45 1998
@@ -222,8 +222,11 @@
 /* Set to 1 if type "long int" works and is 64 bits */
 #undef HAVE_LONG_INT_64
-/* Set to 1 if type "long long int" works and is 64 bits */
-#undef HAVE_LONG_LONG_INT_64
+/* Set to 1 if type "long long int" works with %lld and is 64 bits */
+#undef HAVE_LONG_LONG_INT_64_lld
+
+/* Set to 1 if type "long long int" works with %qd and is 64 bits */
+#undef HAVE_LONG_LONG_INT_64_qd

/*
* Code below this point should not require changes

#4Brook Milligan
brook@trillium.NMSU.Edu
In reply to: Thomas Lockhart (#2)
Re: [HACKERS] regression test errors: netbsd 1.3.2/i386

I just compiled up the current snapshot for a test under netbsd
1.3.2/i386. Everything works except the followng:

union .. failed <-- all differences have extra rows

? Do other people see a problem with unions?

Still having problems with unions from last night's snapshot. The
diffs are below in case they can help pinpoint the problem. Does no
one see anything like these additional zeros?

Cheers,
Brook

===========================================================================
--- expected/union.out	Fri May 29 07:22:42 1998
+++ results/union.out	Thu Sep 10 16:51:42 1998
@@ -122,7 +122,10 @@
 -34.84               
 -1.2345678901234e-200
 0                    
-(5 rows)
+0                    
+0                    
+0                    
+(8 rows)
 QUERY: SELECT f1 AS ten FROM FLOAT8_TBL
 UNION ALL
@@ -131,15 +134,19 @@
 ---------------------
 0                    
 -34.84               
+0                    
+0                    
 -1004.3              
 -1.2345678901234e+200
 -1.2345678901234e-200
 0                    
 -34.84               
+0                    
+0                    
 -1004.3              
 -1.2345678901234e+200
 -1.2345678901234e-200
-(10 rows)
+(14 rows)
 QUERY: SELECT f1 AS nine FROM FLOAT8_TBL
 UNION
@@ -153,9 +160,11 @@
 -34.84               
 -1.2345678901234e-200
 0                    
+0                    
+0                    
 123456               
 2147483647           
-(9 rows)
+(11 rows)
 QUERY: SELECT f1 AS ten FROM FLOAT8_TBL
 UNION ALL
@@ -164,6 +173,8 @@
 ---------------------
 0                    
 -34.84               
+0                    
+0                    
 -1004.3              
 -1.2345678901234e+200
 -1.2345678901234e-200
@@ -172,7 +183,7 @@
 -123456              
 2147483647           
 -2147483647          
-(10 rows)
+(12 rows)
 QUERY: SELECT f1 AS five FROM FLOAT8_TBL
   WHERE f1 BETWEEN -1e6 AND 1e6
@@ -185,8 +196,9 @@
                -34.84
 -1.2345678901234e-200
                     0
+                    0
                123456
-(5 rows)
+(6 rows)

QUERY: SELECT f1 AS five FROM VARCHAR_TBL
UNION

#5Bruce Momjian
bruce@momjian.us
In reply to: Brook Milligan (#3)
Re: [HACKERS] regression test errors: netbsd 1.3.2/i386

I made some more int8 fixes today, so make sure you have tested the
current version before rooting around.

I just compiled up the current snapshot for a test under netbsd
1.3.2/i386. Everything works except the followng:

int8 .. failed <-- seems like large numbers show as negative

Your system is apparently not yet supported for 8 byte integers. If you
want netbsd to be supported, you need to figure out if you have support
for those in your compiler (gcc seems to have it across several
processors) and you need i/o support for them in printf/scanf.

configure tries to detect these automatically so look at what configure
tries to do and see why it missed for your system.

Configure does check (and passes), but doesn't seem to record anything
about the int8 tests. As a result, config.h (and hence int8.h) knows
nothing about the results of the configure test. The patches below
get configure to record the tests in config.h. With these patches (to
last night's snapshot) the int8 regression test passes on netbsd
1.3.2/i386. I'm actually surprised they work without these patches
for anyone, really.

Yes, I forgot to rename some stuff in config.h. I did that today.

Cheers,
Brook

===========================================================================
--- configure.in.orig	Thu Sep 10 01:00:35 1998
+++ configure.in	Thu Sep 10 15:21:36 1998
@@ -572,6 +572,7 @@
[AC_DEFINE(HAVE_LONG_INT_64) AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no),
AC_MSG_RESULT(assuming not on target machine))
+AC_SUBST(HAVE_LONG_INT_64)

AC_MSG_CHECKING(whether 'long long int' is 64 bits using %lld)
AC_TRY_RUN([#include <stdio.h>
@@ -609,6 +610,7 @@
[AC_DEFINE(HAVE_LONG_LONG_INT_64_lld) AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no),
AC_MSG_RESULT(assuming not on target machine))
+AC_SUBST(HAVE_LONG_LONG_INT_64_lld)

AC_MSG_CHECKING(whether 'long long int' is 64 bits using %qd)
AC_TRY_RUN([#include <stdio.h>
@@ -646,6 +648,7 @@
[AC_DEFINE(HAVE_LONG_LONG_INT_64_qd) AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no),
AC_MSG_RESULT(assuming not on target machine))
+AC_SUBST(HAVE_LONG_LONG_INT_64_qd)

dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL
===========================================================================
--- include/config.h.in.orig	Wed Aug 26 01:01:16 1998
+++ include/config.h.in	Thu Sep 10 15:22:45 1998
@@ -222,8 +222,11 @@
/* Set to 1 if type "long int" works and is 64 bits */
#undef HAVE_LONG_INT_64
-/* Set to 1 if type "long long int" works and is 64 bits */
-#undef HAVE_LONG_LONG_INT_64
+/* Set to 1 if type "long long int" works with %lld and is 64 bits */
+#undef HAVE_LONG_LONG_INT_64_lld
+
+/* Set to 1 if type "long long int" works with %qd and is 64 bits */
+#undef HAVE_LONG_LONG_INT_64_qd

/*
* Code below this point should not require changes

-- 
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)