Subject: PR/32865 CVS commit: src/sys/arch/i386
To: None <jmmv@NetBSD.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,>
From: Julio M. Merino Vidal <jmmv@netbsd.org>
List: netbsd-bugs
Date: 10/25/2006 14:00:10
The following reply was made to PR port-i386/32865; it has been noted by GNATS.

From: "Julio M. Merino Vidal" <jmmv@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: PR/32865 CVS commit: src/sys/arch/i386
Date: Wed, 25 Oct 2006 13:56:16 +0000 (UTC)

 Module Name:	src
 Committed By:	jmmv
 Date:		Wed Oct 25 13:56:16 UTC 2006
 
 Modified Files:
 	src/sys/arch/i386/conf: ALL GENERIC GENERIC_LAPTOP QEMU files.i386
 	src/sys/arch/i386/i386: locore.S machdep.c multiboot.c
 	src/sys/arch/i386/include: multiboot.h
 
 Log Message:
 Remove the usage of Multiboot's "a.out kludge" to tell the boot loader to
 reserve some more space for the BSS section than the binary says.  This
 trick was used to leave room after the kernel's image to copy the symbol
 table following the format required by ksyms_init.  (It was also used to
 workaround a bug in the physical address fields of the binary, but this has
 been long fixed.)  Yes, the MULTIBOOT_SYMTAB_SPACE option goes away; yay!
 
 Instead, copy the required data after the kernel in a way that avoids having
 to reserve space and use the new ksyms_init_explicit function to avoid the
 need to construct a minimal ELF image.
 
 Fixes ksyms when using an "unpatched" GRUB (one that does not contain the
 fix to honour the "a.out kludge" for ELF images, even when present) -- i.e.
 ddb and lkms.  As a side effect, the new code is much clearer to read and
 digest.
 
 Closes PR port-i386/32865.
 
 
 To generate a diff of this commit:
 cvs rdiff -r1.68 -r1.69 src/sys/arch/i386/conf/ALL
 cvs rdiff -r1.789 -r1.790 src/sys/arch/i386/conf/GENERIC
 cvs rdiff -r1.209 -r1.210 src/sys/arch/i386/conf/GENERIC_LAPTOP
 cvs rdiff -r1.2 -r1.3 src/sys/arch/i386/conf/QEMU
 cvs rdiff -r1.294 -r1.295 src/sys/arch/i386/conf/files.i386
 cvs rdiff -r1.43 -r1.44 src/sys/arch/i386/i386/locore.S
 cvs rdiff -r1.584 -r1.585 src/sys/arch/i386/i386/machdep.c
 cvs rdiff -r1.7 -r1.8 src/sys/arch/i386/i386/multiboot.c
 cvs rdiff -r1.3 -r1.4 src/sys/arch/i386/include/multiboot.h
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.