svn commit: r218745 - head/sys/boot/i386/boot2

Alexander Best arundel at freebsd.org
Wed Feb 16 22:10:14 UTC 2011


On Wed Feb 16 11, Warner Losh wrote:
> Author: imp
> Date: Wed Feb 16 18:05:10 2011
> New Revision: 218745
> URL: http://svn.freebsd.org/changeset/base/218745
> 
> Log:
>   Remove reading of symbols from a.out loaded files.  Since we are tight
>   on space for clang and a.out support is only needed for /boot/loader,
>   they are excess bytes that serve no useful purpose other than to
>   support really old kernels (FreeBSD < 3.2 or so).  Prefer clang
>   support over support for these old kernels and remove this code.  We
>   gain about 100 bytes of space this way.

i think without this code uint32_t x serves no purpose any longer:

/usr/git-freebsd-head/sys/boot/i386/boot2/boot2.c:322:20: warning: unused variable 'x' [-Wunused-variable]
    uint32_t addr, x;
                   ^

cheers.
alex

>   
>   Reviewed by:	rdivacky@
> 
> Modified:
>   head/sys/boot/i386/boot2/boot2.c
> 
> Modified: head/sys/boot/i386/boot2/boot2.c
> ==============================================================================
> --- head/sys/boot/i386/boot2/boot2.c	Wed Feb 16 17:50:21 2011	(r218744)
> +++ head/sys/boot/i386/boot2/boot2.c	Wed Feb 16 18:05:10 2011	(r218745)
> @@ -347,23 +347,6 @@ load(void)
>  	p += roundup2(hdr.ex.a_text, PAGE_SIZE);
>  	if (xfsread(ino, p, hdr.ex.a_data))
>  	    return;
> -	p += hdr.ex.a_data + roundup2(hdr.ex.a_bss, PAGE_SIZE);
> -	bootinfo.bi_symtab = VTOP(p);
> -	*(uint32_t*)p = hdr.ex.a_syms;
> -	p += sizeof(hdr.ex.a_syms);
> -	if (hdr.ex.a_syms) {
> -	    if (xfsread(ino, p, hdr.ex.a_syms))
> -		return;
> -	    p += hdr.ex.a_syms;
> -	    if (xfsread(ino, p, sizeof(int)))
> -		return;
> -	    x = *(uint32_t *)p;
> -	    p += sizeof(int);
> -	    x -= sizeof(int);
> -	    if (xfsread(ino, p, x))
> -		return;
> -	    p += x;
> -	}
>      } else {
>  	fs_off = hdr.eh.e_phoff;
>  	for (j = i = 0; i < hdr.eh.e_phnum && j < 2; i++) {
> @@ -395,8 +378,8 @@ load(void)
>  	    }
>  	}
>  	addr = hdr.eh.e_entry & 0xffffff;
> +	bootinfo.bi_esymtab = VTOP(p);
>      }
> -    bootinfo.bi_esymtab = VTOP(p);
>      bootinfo.bi_kernelname = VTOP(kname);
>      bootinfo.bi_bios_dev = dsk.drive;
>      __exec((caddr_t)addr, RB_BOOTINFO | (opts & RBX_MASK),

-- 
a13x


More information about the svn-src-head mailing list