Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 8 Feb 2016 17:17:58 +0100
From: Szabolcs Nagy <nsz@...t70.net>
To: David Edelsohn <dje.gcc@...il.com>
Cc: Rich Felker <dalias@...c.org>,
	Gregor Richards <gregor.richards@...terloo.ca>,
	musl@...ts.openwall.com
Subject: Re: musl libc for PPC64

* David Edelsohn <dje.gcc@...il.com> [2016-02-08 09:43:08 -0500]:
> What work is necessary to enable basic musl libc support for PPC64
> Linux Little Endian?

once the abi is clear (is long double ieee128?) the arch specific
parts of musl need to be ported for ARCH=powerpc64.

arch specific parts of musl are

arch/$ARCH
crt/$ARCH
src/*/$ARCH

porting check list:
http://www.openwall.com/lists/musl/2012/07/08/1

things that changed since:

- crt needs a small bit of inline asm in arch/$ARCH/crt_arch.h
  (which is used in crt/crt1.c and ldso/dlstart.c to align the
   stack, set up the argument and jump to the c entry point)

- arch/$ARCH/bits/foo.h is only needed if arch/generic/bits/foo.h
  is not good for the target. (getting the bits headers right
  is still a bit fiddly work: they have to match linux uapi.)

- fewer primitives are enough in arch/$ARCH/atomic_arch.h for
  an initial port (src/internal/atomic.h can implement most
  primitives in terms of a_cas or a_ll/a_sc).

- arch/$ARCH/pthread_arch.h has MC_PC instead of CANCEL_REG_IP
  (should be an mcontext member that can access the pc).

thinks that didnt change but not on that list:

- src/fenv/$ARCH/fenv.s is needed for fenv support

- configure script needs to be updated
  (compiler abi checks go here)

testing can be done against
http://repo.or.cz/libc-test.git

there are not many docs about the internals but the git log
is often informative.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.