Subject: port-i386/853: bootXX compiled with -m486 fails to work; fix included
To: None <gnats-admin@NetBSD.ORG>
From: Lon Willett <lon%softt.uucp@math.utah.edu>
List: netbsd-bugs
Date: 03/08/1995 15:05:05
>Number:         853
>Category:       port-i386
>Synopsis:       bootXX compiled with -m486 fails to work; fix included
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar  8 15:05:02 1995
>Originator:     Lon Willett
>Organization:
none
>Release:        NetBSD-current 8 Mar 95
>Environment:

i386, ISA bus

System: NetBSD hilly 1.0A NetBSD 1.0A (HILLY) #150: Wed Mar 8 13:40:25 MST 1995 lon@hilly:/usr/src/sys/arch/i386/compile/HILLY i386


>Description:

The bootXX code has a hardcoded limit on its size, and it is perilously
close to exceeding it.  I got burned because I had modified my compiler
to default to "-m486" (seemingly a sensible thing), but later on when I
reinstalled the boot program, my machine was hosed.

There is no reason why this code should be compiled with -m486; but
forcing an explicit -m386 in the makefile would be a good idea.

Also, there is still an extra block on the disk reserved for the boot
program, so it may as well be made useable.  My enclosed patch does
that.

>How-To-Repeat:

Compile bootXX with -m486 and try to use it.

>Fix:

--- usr/src/sys/arch/i386/boot/start.S.orig	Thu Jan 19 04:56:15 1995
+++ usr/src/sys/arch/i386/boot/start.S	Sat Mar  4 10:33:16 1995
@@ -58,7 +58,7 @@
 BOOTSEG		=	0x0100	# boot will be loaded here (below 640K)
 BOOTSTACK	=	0xfffc	# boot stack
 SIGNATURE	=	0xaa55
-LOADSZ		=	15	# size of unix boot
+LOADSZ		=	16	# size of unix boot
 PARTSTART	=	0x1be	# starting address of partition table
 NUMPART		=	4	# number of partitions in partition table
 PARTSZ		=	16	# each partition table entry is 16 bytes
>Audit-Trail:
>Unformatted: