Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Mar 2015 00:33:54 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Craig Rodrigues <rodrigc@FreeBSD.org>
Cc:        "freebsd-testing@freebsd.org" <freebsd-testing@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>
Subject:   Re: Fails to build sys/i386/boot2 with gcc 4.9
Message-ID:  <20683705-0EBA-4B8F-A0CE-9C06B8003BBE@FreeBSD.org>
In-Reply-To: <CAG=rPVcXPMqifAJvg_-XNWrOUzDLya1UMWW5KMymymyayM25=w@mail.gmail.com>
References:  <CAG=rPVcXPMqifAJvg_-XNWrOUzDLya1UMWW5KMymymyayM25=w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_7FBCFB16-3962-4838-B230-2ABD3225C862
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On 29 Mar 2015, at 00:05, Craig Rodrigues <rodrigc@FreeBSD.org> wrote:
>=20
> To work around the problems build rescue, this time I used a build =
host
> running FreeBSD-CURRENT at svn revision r280353
>=20
> I took this patch for libc++ and applied it to my tree:
>=20
> 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:
>=20
> =
https://github.com/freebsd/freebsd-ci/blob/master/scripts/build/cross-buil=
d.sh
>=20
> Buildling sys/i386/boot2 failed:
...
> output: fmt=3Dbin size=3D21ef text=3D200 data=3D1fef org=3D0 entry=3D0
> -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


--Apple-Mail=_7FBCFB16-3962-4838-B230-2ABD3225C862
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.27

iEYEARECAAYFAlUXOmcACgkQsF6jCi4glqOMOgCfZVgxqN6KtSCY0LxCHNtlSpfd
pCkAn0jJHcKrPrKJ8l3n8MVC6dbFX+OW
=ZNCv
-----END PGP SIGNATURE-----

--Apple-Mail=_7FBCFB16-3962-4838-B230-2ABD3225C862--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20683705-0EBA-4B8F-A0CE-9C06B8003BBE>