[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sparc64 and sparc architecture -- any consensus?



> > The way sparc64 is going to work is pretty much already planned out by
> > the egcs and glibc programmers. Sparc64 will cohabitate in a sparc32
> > environment. There will be a /lib64:/usr/lib64 (not sure where the
> > includes go, perhaps they remain the same for both?). 
> 
> Its not yet planned out, I have just an idea how to lay things out, but need
> to make linker and glibc changes to make it work (well, the changes are
> mostly done, but the hard part is to get them accepted).

Solaris 7 uses /usr/lib/64 while SPARC64/OS(HAL) uses /usr/lib/sparc64. Can
we use a similar layout?

> 
> > The compiler for
> > sparc64 will be able to generate 32bit and 64bit binaries (seems it
> > always does 64bit by default, I'm checking into that), so it will only
> > take mere compile CFLAG changes to make it compile/link as a 64bit
> > object.
> 
> It can default to 32bit as well, depends on how do you compile it.
> I'd like the default to be determined by uname -m during runtime and you can
> use sparc32 program to change uname -m output.

Good idea!

[snip]
 
> 
> Wrong. Egcs miscompiles a lot of floating-point in 64bit, generates very
> suboptimal code for int types, has probably some regressions to the SYSVABI SPARCv9
> (will need to recheck the whole ABI to see if everything is ok), plus I want
> to discuss char/short argument passing convention in the ABI still, so it
> basically is not a good idea to compile anything but the kernel with the
> 64bit compiler, because the ABI can still change.

I was asked following question (not from newbie and NOT from curiosity):

"- Is this UltraLinux compliant with SPARC V9 ABI?"

I guess kernel developers know the answer.

> 
> > 
> > >   * binutils not quite there (grab from ultrapenguin needed)
> > 
> > Binutils _is_ ready, has been ready and requires nothing more right now
> > than installing bintuils-multiarch to use the support. This is what has
> > been used for the sparc64 kernels.
> 
> As above mentioned, it needs some code in ld if /lib64:/usr/lib64... setup
> is chosen. Plus again autodetection of the default emulation based on uname
> -m.

"We" are looking for the following 64-bit libraries:

  libc.so.x + ld-linux.so.x
  libelf.so
  libm.so
  libncurses.so
  libfl.so

Particularly the first three are critical. Do we have it in the latest
UltraPenguin?

We might be able to get a working 64-bit compiler soon if we have these
libraries.

Thanks,

--ward


Reply to: