From owner-freebsd-mips@FreeBSD.ORG Fri Mar 5 16:51:28 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D63941065677; Fri, 5 Mar 2010 16:51:28 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 852948FC30; Fri, 5 Mar 2010 16:51:28 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o25Gi72L017505; Fri, 5 Mar 2010 09:44:07 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Fri, 05 Mar 2010 09:44:26 -0700 (MST) Message-Id: <20100305.094426.635700942582031821.imp@bsdimp.com> To: c.jayachandran@gmail.com From: "M. Warner Losh" In-Reply-To: <98a59be81003050823r57b5dc4alfc58018ffbb74731@mail.gmail.com> References: <98a59be81003050215m753799dbu35d2b2eab65e75db@mail.gmail.com> <20100305.081948.255476964173693445.imp@bsdimp.com> <98a59be81003050823r57b5dc4alfc58018ffbb74731@mail.gmail.com> X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-mips@freebsd.org Subject: Re: n64/n32 - build support patches X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Mar 2010 16:51:29 -0000 In message: <98a59be81003050823r57b5dc4alfc58018ffbb74731@mail.gmail.co= m> "C. Jayachandran" writes: : On Fri, Mar 5, 2010 at 8:49 PM, M. Warner Losh wrote= : : > CJ, : > : > Thanks for all the work in this area. =A0I know that Julie Mallett = is : > also working in this area, and I've done some work to clean up the : > build system. =A0I'm afraid that we now have some conflicts between= the : > different efforts, and that it may take a little to resolve the : > conflicts. : = : This is okay, I can rebase the patch when the other efforts are in, : (or can merge other efforts after this goes in). I need a base on : which to start work on n64/n32 and I'm making my changes available as= : it may be useful for others working in the same area. Excellent. And your patches often fill in holes that others haven't gotten to yet. I think between everybody working in this area, we'll have a really good solution to the problem. BTW, have you given any thought to multilib yet? :) Warner : Regards, : JC. : = : = : > In message: <98a59be81003050215m753799dbu35d2b2eab65e75db@mail.gmai= l.com> : > =A0 =A0 =A0 =A0 =A0 =A0"C. Jayachandran" = writes: : > : I've updated the patches for building n64 and n32 kernel and : > : userspace, =A0please review. The patches are: : > : : > : Tool chain support for n64 and n32:: : > : http://sites.google.com/site/cjayachandran/files/n64-n32-toolchai= n.patch : > : > : This updates the gcc configuration =A0to provide the default ABI,= linker : > : scripts and endianness flags during n64/n32 and o32 builds. With = this : > : change, we don't need the -Wl, flags for linker emulation, the ma= bi : > : flags or the -EB/-EL for compiler. : > : > This part of the patch looks good. : > : > : I had to add a make variable in TARGET_DEFINES in : > : gnu/usr.bin/cc/Makefile.tgt and use that to pass the defaults whi= le : > : creating 'tm.h' - this change is not MIPS-specific. : > : > TARGET_DEFINES is OK. =A0I'm not sure about the other Makefile vari= ables : > and would like to find some way to not need them. : > : > : User/kernel build with n64 and n32: : > : http://sites.google.com/site/cjayachandran/files/n64-n32-build.pa= tch : > : : > : updated bsd.cpu.mk which does not set LDFLAGS, adds ldscript.mips= .n32 : > : and removes unnecessary flags from Makefile.mips. : > : > +.if ${MACHINE_ARCH} =3D=3D "mips" : > +. if defined(TARGET_64BIT) : > +. =A0if defined(TARGET_BIG_ENDIAN) : > +LD +=3D -melf64btsmip_fbsd : > +. =A0else : > +LD +=3D =A0-melf64ltsmip_fbsd : > +. =A0endif : > +. elif defined(TARGET_N32) : > +. =A0if defined(TARGET_BIG_ENDIAN) : > +LD +=3D -melf32btsmipn32_fbsd : > +. =A0else : > +LD +=3D =A0-melf32ltsmipn32_fbsd : > +. =A0endif : > : > I'd rather find some way to avoid adding TARGET_64BIT, TARGET_N32. : > I've been working to eliminate TARGET_BIG_ENDIAN because it is prov= ing : > to be unworkable in practice, especially as these machines become m= ore : > self-hosting. : > : > If you don't mind, I'll pull in the parts that don't conflict with = the : > other work in this area, and we can then look at the harder problem= of : > which pieces of that goes in. : > : > Warner : > : = : = : = : -- = : C. Jayachandran c.jayachandran@gmail.com : = : =