From owner-freebsd-questions Wed Aug 1 9:32:55 2001 Delivered-To: freebsd-questions@freebsd.org Received: from hotmail.com (f196.law7.hotmail.com [216.33.237.196]) by hub.freebsd.org (Postfix) with ESMTP id 574DC37B401 for ; Wed, 1 Aug 2001 09:32:51 -0700 (PDT) (envelope-from missive@hotmail.com) Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Wed, 1 Aug 2001 09:32:50 -0700 Received: from 205.232.183.67 by lw7fd.law7.hotmail.msn.com with HTTP; Wed, 01 Aug 2001 16:32:50 GMT X-Originating-IP: [205.232.183.67] From: "Lee Harr" To: freebsd-questions@FreeBSD.org Subject: Fwd: Re: [GENERAL] Re: Better backtrace (wasRe: pqReadData() -- backend closed t Date: Wed, 01 Aug 2001 16:32:50 +0000 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: X-OriginalArrivalTime: 01 Aug 2001 16:32:50.0980 (UTC) FILETIME=[9B42EE40:01C11AA7] Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hi: I was having trouble running PostgreSQL on a Compaq 486 running FreeBSD 4.3-RELEASE. Tom Lane of the postgres project was kind enough to take a look at the problem and this is what he found: >Well, the bottom line seems to be that there's something broken about >the floating-point support on that box. Look in >/usr/local/pgsql/data/tmp --- I made a trivial test program that just >tries to convert a short integer to a double. I get: > > > cat tryit.c >#include >#include > >int main() >{ > short i = 22; > double d; > > d = i; > > printf("i = %d, d = %g\n", i, d); > return 0; >} > > > gcc tryit.c > > ./a.out >Illegal instruction (core dumped) > > gcc -msoft-float tryit.c > > ./a.out >i = 22, d = 22 > > uname -a >FreeBSD jc12.easthighschool.net 4.3-RELEASE FreeBSD 4.3-RELEASE #0: Sat Apr >21 10:54:49 GMT 2001 jkh@narf.osd.bsdi.com:/usr/src/sys/compile/GENERIC > i386 > > gcc -v >Using builtin specs. >gcc version 2.95.3 [FreeBSD] 20010315 (release) > > > >I speculate that your box is so old that it has no hardware floating >point at all, and that what we are seeing here is a fault in FreeBSD's >software emulation of the 'fild' (short-to-double) instruction. Or >maybe it's an assembly-time problem. A google search turned up > >http://gatekeeper.dec.com/pub/BSD/FreeBSD/FreeBSD-current/src/contrib/binutils/include/opcode/ChangeLog > >with the following interesting entry: > > 2000-05-17 Maciej W. Rozycki > > * i386.h: Use sl_FP, not sl_Suf for fild. > >which suggests that older versions of the GNU toolchain may mis-assemble >'fild' instructions. > >It'd be worth asking around in BSD-specific mailing lists to see if this >is a known problem; I didn't find anything else in my web search, but I >wasn't trying very hard. I think Postgres is off the hook, in any case. > > regards, tom lane I don't know if this is helpful information, or a known issue, but I figured I should ask before I throw this old box on the scrap heap. Lee Harr missive@hotmail.com _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message