Subject: CVS commit: src/sys/arch/mips/conf
To: None <source-changes@NetBSD.org>
From: Matt Thomas <matt@netbsd.org>
List: source-changes
Date: 08/27/2006 21:44:15
Module Name:	src
Committed By:	matt
Date:		Sun Aug 27 21:44:15 UTC 2006

Modified Files:
	src/sys/arch/mips/conf: Makefile.mips

Log Message:
Add -msym32 to CFLAGS when MACHINE_ARCH is mips64e[bl].

Since kernels are always run out of KSEG0 (0xffffffff.8xxxxxxx), we can
take advantage of that if we load a 32 bit address (0x8xxxxxxx) that it
will be sign-extended to 64 bits (0xffffffff.8xxxxxxx).

So instead of 6 instructions (2 lui, 2 daddiu, dsll32, daddu) to load an
address, the normal number of 2 instructions (lui, daddiu) will be used.

Thus telling gcc/gas that symbols will always be 32 bits significantly
shrinks (by 10%) and speeds up a MIPS64 kernel.


To generate a diff of this commit:
cvs rdiff -r1.43 -r1.44 src/sys/arch/mips/conf/Makefile.mips

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.