svn commit: r218713 - in head/sys/boot: common i386/boot2

Dimitry Andric dim at FreeBSD.org
Tue Feb 15 20:18:52 UTC 2011


Author: dim
Date: Tue Feb 15 20:18:52 2011
New Revision: 218713
URL: http://svn.freebsd.org/changeset/base/218713

Log:
  Apply a few small optimizations to boot2's code, to make it shrink a
  little further.  This gets us further on the way to be able to build it
  successfully with clang.  Using in-tree gcc, this shrinks boot2.bin with
  60 bytes, the in-tree clang shaves off 72 bytes, and ToT clang 84 bytes.
  
  Submitted by:	rdivacky
  Reviewed by:	imp

Modified:
  head/sys/boot/common/ufsread.c
  head/sys/boot/i386/boot2/boot2.c

Modified: head/sys/boot/common/ufsread.c
==============================================================================
--- head/sys/boot/common/ufsread.c	Tue Feb 15 20:07:35 2011	(r218712)
+++ head/sys/boot/common/ufsread.c	Tue Feb 15 20:18:52 2011	(r218713)
@@ -122,7 +122,7 @@ lookup(const char *path)
 	const char *s;
 	ino_t ino;
 	ssize_t n;
-	int dt;
+	u_int8_t dt;
 
 	ino = ROOTINO;
 	dt = DT_DIR;

Modified: head/sys/boot/i386/boot2/boot2.c
==============================================================================
--- head/sys/boot/i386/boot2/boot2.c	Tue Feb 15 20:07:35 2011	(r218712)
+++ head/sys/boot/i386/boot2/boot2.c	Tue Feb 15 20:18:52 2011	(r218713)
@@ -132,7 +132,7 @@ static struct dsk {
 } dsk;
 static char cmd[512], cmddup[512];
 static char kname[1024];
-static uint32_t opts;
+static uint16_t opts;
 static int comspeed = SIOSPD;
 static struct bootinfo bootinfo;
 static uint8_t ioctrl = IO_KEYBOARD;
@@ -233,7 +233,7 @@ putc(int c)
 int
 main(void)
 {
-    int autoboot;
+    uint8_t autoboot;
     ino_t ino;
 
     dmadat = (void *)(roundup2(__base + (int32_t)&_end, 0x10000) - __base);
@@ -320,7 +320,8 @@ load(void)
     caddr_t p;
     ino_t ino;
     uint32_t addr, x;
-    int fmt, i, j;
+    int i, j;
+    uint8_t fmt;
 
     if (!(ino = lookup(kname))) {
 	if (!ls)


More information about the svn-src-all mailing list