On 29 Mar 2015, at 00:05, Craig Rodrigues <rodr...@freebsd.org> wrote: > > To work around the problems build rescue, this time I used a build host > running FreeBSD-CURRENT at svn revision r280353 > > I took this patch for libc++ and applied it to my tree: > > http://reviews.llvm.org/D8461
I've only got one minor remark left on that fix, which is that it doesn't work for gcc 4.7. Once we either say that version of gcc is just buggy and can't be helped, or have some other way of fixing the original problem, I'll import it. > I used this script to build with gcc 4.9: > > https://github.com/freebsd/freebsd-ci/blob/master/scripts/build/cross-build.sh > > Buildling sys/i386/boot2 failed: ... > output: fmt=bin size=21ef text=200 data=1fef org=0 entry=0 > -1007 bytes available > *** Error code 1 Oof, this is going to be hard to fix. For some reason, boot2 is one of those programs that keeps getting worse (i.e. larger) with *each* new compiler version, be it gcc or clang! The last few times when we imported a new clang version, we had to jump through several hoops, and attempted to shrink the code again with various cleanups. Even then, we don't have a lot of headroom. If it is now also becoming a problem with gcc 4.9, we should really start looking for a more permanent solution, e.g.: * Getting rid of the 7680 byte limit (seems to be impossible?) * Rewrite most of (or all of) boot2 in assembly -Dimitry
signature.asc
Description: Message signed with OpenPGP using GPGMail