HEADS UP: sparc64 backend for llvm/clang imported

Florian Smeets flo at smeets.im
Sat Mar 1 15:29:24 UTC 2014


On 01/03/14 02:16, John-Mark Gurney wrote:
> Dimitry Andric wrote this message on Fri, Feb 28, 2014 at 20:22 +0100:
>>
>> For building the sparc64 kernel, there is one open issue left, which is
>> that sys/sparc64/include/pcpu.h uses global register variables, and this
>> is not supported by clang.  A preliminary patch for this is attached,
>> but it may or may not blow up your system, please beware!
>>
>> The patch changes the pcpu and curpcb global register variables into
>> inline functions, similar to what is done on other architectures.
>> However, the current approach is not optimal, and the emitted code is
>> slightly different from what gcc outputs.  Any improvements to this
>> patch are greatly appreciated!
>>
>> Last but not least, thanks go out to Roman Divacky for his work with
>> llvm/clang upstream in getting the sparc64 backend into shape.
> 
> Ok, I have a new pcpu patch to try.  I have only compile tested it.
> 
> It is available here:
> https://www.funkthat.com/~jmg/sparc64.pcpu.patch
> 
> I've also attached it.
> 
> Craig, do you mind testing it?
> 

My machine doesn't boot with this patch.

OK boot -v
Booting...
jumping to kernel entry at 0xc0088000.
OF_panic: sparc64_init: cannot find boot CPU node
Program terminated
{1} ok

I'm now going to try the version that dim sent.

Florian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 882 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-sparc64/attachments/20140301/6accd5cc/attachment.sig>


More information about the freebsd-sparc64 mailing list