From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/9364 Path: news.gmane.org!not-for-mail From: Bobby Bingham Newsgroups: gmane.linux.lib.musl.general Subject: Re: mips n64 porting review Date: Mon, 22 Feb 2016 08:16:26 -0600 Message-ID: <20160222141626.GB12348@dora.lan> References: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-Trace: ger.gmane.org 1456150662 22103 80.91.229.3 (22 Feb 2016 14:17:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Feb 2016 14:17:42 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-9377-gllmg-musl=m.gmane.org@lists.openwall.com Mon Feb 22 15:17:27 2016 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1aXrI3-00054E-NW for gllmg-musl@m.gmane.org; Mon, 22 Feb 2016 15:16:43 +0100 Original-Received: (qmail 28372 invoked by uid 550); 22 Feb 2016 14:16:40 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 28351 invoked from network); 22 Feb 2016 14:16:39 -0000 Content-Disposition: inline In-Reply-To: X-Operating-System: Linux dora 4.3.3 User-Agent: Mutt/1.5.24 (2015-08-30) Xref: news.gmane.org gmane.linux.lib.musl.general:9364 Archived-At: 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