From owner-freebsd-bugs Wed Jan 6 23:00:09 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA16288 for freebsd-bugs-outgoing; Wed, 6 Jan 1999 23:00:09 -0800 (PST) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id XAA16279 for ; Wed, 6 Jan 1999 23:00:07 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id XAA07323; Wed, 6 Jan 1999 23:00:01 -0800 (PST) Received: (from nobody@localhost) by hub.freebsd.org (8.8.8/8.8.8) id WAA16148; Wed, 6 Jan 1999 22:58:21 -0800 (PST) (envelope-from nobody) Message-Id: <199901070658.WAA16148@hub.freebsd.org> Date: Wed, 6 Jan 1999 22:58:21 -0800 (PST) From: grehan@iprg.nokia.com To: freebsd-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: www-1.0 Subject: i386/9360: /boot/loader contains floating point instructions Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 9360 >Category: i386 >Synopsis: /boot/loader contains floating point instructions >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jan 6 23:00:01 PST 1999 >Closed-Date: >Last-Modified: >Originator: Peter Grehan >Release: 3.0-current >Organization: Nokia IPRG >Environment: Use kern.flp from the -current snapshot. >Description: Floating point code is used in the tertiary boot-loader, /boot/loader _setjmp and _longjmp save/restore floating point state, but the system may not have an FPU, in which case the boot will fail. There are many 386 and 486 embedded CPUs which do not have an FPU (e.g. Nokia 9000 communicator). One of the routines in the Forth interpreter, ficl/dict.c:dictHashSummary() uses floating point. This routine should be reworked, or removed. >How-To-Repeat: Boot kern.flp on a 386 or 486 system without an FPU. Alternatively, try the bochs emulator, which is a 386 emulator without an FPU (www.bochs.com) >Fix: Use a custom _setjmp and _longjmp in libstand.a that does not save/restore floating point register state. Remove, or modify, the routine in the Forth interpreter that uses floating point calculations. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message