[RFC] code changes/removal in boot2.c and ufsread.c so clang can compile boot2

Alexander Best arundel at freebsd.org
Sat Feb 19 12:01:57 UTC 2011


On Sat Feb 19 11, Roman Divacky wrote:
> On Sat, Feb 19, 2011 at 01:01:36AM +0000, Alexander Best wrote:
> > hi everybody,
> > 
> > r218745 triggered quite a discussion about dead code in boot2.c. i talked to
> > roman (rdivacky@) and we were trying to improve the situation so that boot2
> > would build with clang 2.8 (base) and the latest development version of
> > clang (trunk). a lot of the ideas came from Bruce (bde@).
> > 
> > i'd really appreciate, if somebody could have a look at this patchset. for me
> > it strips down the boot2 code so clang is able to compile it just fine. please
> > bear in mind that this has to work with boot2 supporting UFS1 *and* UFS2. so
> > please be sure not to override BOOT2_UFS in your src.conf or some place else.
> > 
> > you should be able to test the (hopefully sucessfully) compiled boot2 binary
> > by copying it to /boot. please be sure to keep a backup of your existing boot2
> > file in case something breaks.
>  
> no, just copying it to /boot is not enough. you have to run bsdlabel -B to
> actually install it

oops. didn't know that.

> 
> > the patchset (against a recent HEAD) can be found here:
> > http://people.freebsd.org/~arundel/patches/boot2.c.diff2
> 
> the patch is wrong - you cant remove a.out support as "loader" still uses that
> 
> I like the int -> unsigned parts of the patch and also the memsize() removal
> may be interesting.

also some bootinfo.bi_* stuff can go. bde@ mentioned that all we actually need
are:

"Support for disk geometry fields in bootinfo was lost long ago.  This
leaves only the following bootinfo fields supported (by boot2) and
used: bi_version, bi_size, bi_symtab, bi_esymtab, bi_kernelname."

let me re-add the a.out code amd see how that works.

cheers.
alex

> 
> roman

-- 
a13x


More information about the freebsd-toolchain mailing list