Re: HEADS UP: sparc64 backend for llvm/clang imported

From: John-Mark Gurney <jmg_at_funkthat.com>
Date: Sat, 1 Mar 2014 11:51:58 -0800
Florian Smeets wrote this message on Sat, Mar 01, 2014 at 16:28 +0100:
> 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.

Does it boot w/o the patch?   Is this a clang built loader/kernel or
a gcc built loader/kernel that you tried the patch on?

>From a quick look at the code, it doesn't look like my patch would
have effected this part of the kernel...

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."
Received on Sat Mar 01 2014 - 18:52:01 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:47 UTC