Building an ARM/RPI-B release (hacked) on CURRENT/AMD64.

Warner Losh imp at bsdimp.com
Thu Apr 17 20:06:12 UTC 2014


On Apr 17, 2014, at 1:54 PM, Mark R V Murray <mark at grondar.org> wrote:

> 
> On 17 Apr 2014, at 20:14, Warner Losh <imp at bsdimp.com> wrote:
> 
>> 
>> On Apr 17, 2014, at 1:07 PM, Ian Lepore <ian at FreeBSD.org> wrote:
>>> 
>>> Hmmm.  After a bit of poking around in the llvm code, it looks like the
>>> full extent of the support for -ffixed-r9 is that it doesn't consider
>>> that register available for use by the code generator; that's only part
>>> of what u-boot needs.  
>> 
>> what’s the other part? Global register variables like this?
> 
> Yah. U-boot/Arm is heavily dependant on using R9 (previously R8) as a
> global register variable.
> 
>>> Some online notes I found for clang 3.5 claim that global register
>>> variables aren't supported, and aren't likely to be any time soon.
>> 
>> Is that a poke in the eye of uboot, or is it more of a contention that
>> uboot is moving away from that need?
> 
> It means that for now I guess we are stuck with using GCC to compile u-boot.
> 
> I’d mind a lot less if this was done as a port.
> 
> <thinking mode=“aloud”>
> Hmm. A port to do what crochet does, without all the FreeBSD/ARM (build|install)(world|kernel) stuff?
> 
> Something that makes an empty <mumble>.img (with only the weird boot bits in it) as its “product” for later use by the release process might be nice.
> 
> I’m guessing (more like hoping) that once the boot bits work, they’ll be pretty stable for a given platform for a while, and the .img file could be kept under src/release/… somewhere. This way, it doesn’t matter if some humongous GCC port is used for cross-building; this would be only needed when the boot-bits change.
> <thinking>

Ideally we’d have it as a package which crochet could grab and use rather than build from scratch. And the package should build with whatever arm gcc we provide it with. Then crochet wouldn’t need to build xdev. It is really kinda abusing it as it is because xdev is intended to be a fully functional cross compiler for FreeBSD/arm, not just an arm cross compiler…

Warner


More information about the freebsd-arm mailing list