Date: Sun, 6 Apr 2014 09:58:56 -0600 From: Warner Losh <imp@bsdimp.com> To: Tim Kientzle <tim@kientzle.com> Cc: Glen Barber <gjb@freebsd.org>, FreeBSD ARM <freebsd-arm@freebsd.org> Subject: Re: Building an image for Raspberry Pi Message-ID: <EF655BC7-BA4F-47BB-854C-2643B90A1FA8@bsdimp.com> In-Reply-To: <525F718A-53F7-4172-9D23-190D1364AD0A@kientzle.com> References: <20140403005755.GA71905@pwnie.vrt.sourcefire.com> <20140403054106.GT14379@glenbarber.us> <20140403061443.GD71905@pwnie.vrt.sourcefire.com> <525F718A-53F7-4172-9D23-190D1364AD0A@kientzle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 5, 2014, at 11:14 AM, Tim Kientzle <tim@kientzle.com> wrote: >=20 > On Apr 2, 2014, at 11:14 PM, Shawn Webb <lattera@gmail.com> wrote: >=20 >> On Apr 03, 2014 01:41 AM -0400, Glen Barber wrote: >>> You need to build the XDEV stuff for the build environment. >>>=20 >>> Something like: make -C /usr/src XDEV=3Darm XDEV_ARCH=3Darmv6 >>>=20 >>> should do the trick. >>=20 >> Yeah, I have the xdev stuff installed. It kinda seems like just using >> this xdev stuff isn't sufficient. It seems u-boot might require some >> gcc-centric items (though I'm unsure what they are). >=20 > Unfortunately, my time has been rather cramped, though > Tom Everett and Patrick Kelsey have been doing a bunch > of Crochet work recently. >=20 > The confusing part about U-Boot is that it requires two different = compilers to build: >=20 > * Building the U-Boot loader needs an ARM cross-compiler and relies on = GCC-specific options. >=20 > * U-Boot also builds some tools that run on the build host; that uses = a different native compiler and does not seem to rely on GCC-specific = features. >=20 > For the host tools, setting HOSTCC=3Dcc always worked well > for me. I never had any problems with clang or gcc as the > native host compiler for that part of U-Boot. >=20 > For the loader itself, you can try the XDEV tools (which last > I checked still built GCC) or you can try the ARM EABI > GCC cross-compiler from ports (which may be broken; I > volunteered to maintain it and then ran out of time to work on it). >=20 > One specific GCC-ism used by U-Boot (an option to reserve > a specific CPU register for global data) was added to clang > recently but I don't know if that's reached FreeBSD yet. That > might allow clang to build the U-Boot loader, but it will require > some work: the XDEV target also builds ARM binutils and > cross-libraries which are essential. With the switch to clang on arm recently, the XDEV tools have started = building a clang compiler. Should we force it to build a gcc compiler = instead? Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EF655BC7-BA4F-47BB-854C-2643B90A1FA8>