diff options
author | marcel <marcel@FreeBSD.org> | 2002-10-13 07:07:51 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2002-10-13 07:07:51 +0000 |
commit | 4e38a7aca149126f267e178522984f3b6c522f98 (patch) | |
tree | 1f54e98d559bec3907ded00bbd73081ebab8c31f /sys | |
parent | ec9727e8a45de00a008016614ac6c8083fcb3aad (diff) | |
download | FreeBSD-src-4e38a7aca149126f267e178522984f3b6c522f98.zip FreeBSD-src-4e38a7aca149126f267e178522984f3b6c522f98.tar.gz |
Build the kernel with -mconstant-gp. This means that function calls,
with the exception of indirect function calls, are assumed to be
intra load module and thus that GP will be the same. This avoids
saving, setting and restoring GP for each function call and
reduces the kernel with ~320KB. There's obviously a performance
benefit as well.
Note that since we generally don't know if calls will be intra or
inter load module when we're compiling kernel modules, -mconstant-gp
cannot be used for modules.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/conf/Makefile.ia64 | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/conf/Makefile.ia64 b/sys/conf/Makefile.ia64 index 3c092ac..5e9b216 100644 --- a/sys/conf/Makefile.ia64 +++ b/sys/conf/Makefile.ia64 @@ -32,6 +32,8 @@ S= ../../.. .endif .include "$S/conf/kern.pre.mk" +CFLAGS+= -mconstant-gp + ASM_CFLAGS= -x assembler-with-cpp -Wa,-x -DLOCORE ${CFLAGS} %BEFORE_DEPEND |