Date: Wed, 6 Jan 1999 22:58:21 -0800 (PST) From: grehan@iprg.nokia.com To: freebsd-gnats-submit@FreeBSD.ORG Subject: i386/9360: /boot/loader contains floating point instructions Message-ID: <199901070658.WAA16148@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901070658.WAA16148>