Re: Glibc2 (was Re: [HACKERS] PostgreSQL - the Linux of Databases...)

Thomas A. Szybist <szybist@boxhill.com>

From: "Thomas A. Szybist" <szybist@boxhill.com>
To: Cristian Gafton <gafton@redhat.com>
Cc: "Thomas G. Lockhart" <lockhart@alumni.caltech.edu>, plh@opim.uconn.edu, pgsql-hackers@postgreSQL.org
Date: 1998-03-08T05:23:04Z
Lists: pgsql-hackers
In message <Pine.LNX.3.96.980307231533.20654E-100000@shefu.redhat.com>, Cristian Gafton w
rites:
> On Sat, 7 Mar 1998, Thomas A. Szybist wrote:
> 
> > > > Thanks Cristian! What was the secret? Was it the compiler, or -O setting, or ??
> > > 
> > > You're welcome !
> > > 
> > > I just got a newer snapshot and recompiled it.
> > 
> > Of what? Glibc?
> 
> No, postgresql, because that is what we were talking about...
> Despite the subject of the thread.
> 
> Cristian
> --
> ----------------------------------------------------------------------
> Cristian Gafton   --   gafton@redhat.com   --   Red Hat Software, Inc.
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  UNIX is user friendly. It's just selective about who its friends are.
> 
> 
> 
> 
Sorry, I guess I lost track of the snapshots you were packaging.

I think __math.h is the file.  Here is small diff (cut & paste) from 
2.0.5 to 2.0.7:

*** __math.h205 Sun Mar  8 00:00:29 1998
--- __math.h207 Tue Feb 24 16:34:38 1998


<snip>

	***************
	*** 21,30 ****
	  #ifndef __MATH_H
	  #define __MATH_H      1

	! #if defined __GNUG__ && \
	!     (__GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ <= 7))
	! /* gcc 2.7.2 and 2.7.2.1 have problems with inlining `long double'
	!    functions so we disable this now.  */
	  #undef __NO_MATH_INLINES
	  #define __NO_MATH_INLINES
	  #endif
	--- 21,29 ----
	  #ifndef __MATH_H
	  #define __MATH_H      1
	  
	! #if (__GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ <= 7))
	! /* The gcc, version 2.7 or below, has problems with all this inlining
	!    code.  So disable it for this version of the compiler.  */
	  #undef __NO_MATH_INLINES
	  #define __NO_MATH_INLINES
	  #endif
	***************
	*** 484,492 ****


It seems __NO_MATH_INLINES must be defined.  2.0.5 tests for __GNUG__.
2.0.7 does not, but only checks for __GNUC_MINOR__ <= 7. This would
explain why 2.8.0 also fails.


Tom Szybist

szybist@boxhill.com