Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160222141626.GB12348@dora.lan>
Date: Mon, 22 Feb 2016 08:16:26 -0600
From: Bobby Bingham <koorogi@...rogi.info>
To: musl@...ts.openwall.com
Subject: Re: mips n64 porting review

On Mon, Feb 22, 2016 at 10:06:02AM +0000, Mahesh Bodapati wrote:
> Hi Rich,
> I have attached the patch which has all the MIPS n64 porting work. I have created mipsn64port_review remote branch on GitHub and please have a look at
> https://github.com/MaheshBodapati/musl/commits/mipsn64port_review  which has the broken down patches and the base revision on which we have prepared patch is d150764
> 

I've only looked at some of the code, but I have some initial
comments/questions.

- In atomic_arch.h, you shouldn't need to implement all those
  functions.  Take a look at the current 32-bit mips file.  You should
  probably be able to just implement a_ll, a_sc, a_barrier, a_pre_llsc,
  a_post_llsc, and a_cas_p.

  I have a patch I'm working on that would let 64-bit ll/sc archs like
  mips64 and powerpc64 implement 64-bit variants of a_ll/a_sc and have
  src/internal/atomic.h implement a_cas_p and some of the other 64-bit
  operations in terms of those primitives, which should further
  simplify this file.  I'll try to get this patch cleaned up and
  submitted tonight.

- In bits/signal.h, is the union in fpregset_t correct for both big and
  little endian?

- In pthread_arch.h, what instruction is that 0x7c03e83b?  I see this
  same code is present in the existing musl mips32 port, but IMHO it
  could use a comment identifying the instruction.

- In syscall_arch.h, are the definitions of __SYSCALL_LL_E/O correct?
  Those macros exist because some 32-bit architectures pass 64-bit
  system call parameters in even/odd register pairs, even if there is
  an unused odd numbered register.  On 64-bit architectures, where
  long long fits inside a single register, I would expect these to both
  be defined to (x)

- I'm sure about the changes in ldso/dynlink.c.  One of them seems to
  change the whitespace to be more misleading, and one reorders two
  lines for no apparent reason.  I'm not sure the purpose of the
  remaining hunk.

--
Bobby

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.