From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24756 invoked by alias); 4 Apr 2012 22:16:27 -0000 Received: (qmail 24744 invoked by uid 22791); 4 Apr 2012 22:16:25 -0000 X-SWARE-Spam-Status: No, hits=-4.5 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 04 Apr 2012 22:16:12 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1SFYUs-00032T-Md from Maxim_Kuvyrkov@mentor.com ; Wed, 04 Apr 2012 15:16:10 -0700 Received: from SVR-IES-FEM-01.mgc.mentorg.com ([137.202.0.104]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Wed, 4 Apr 2012 15:15:15 -0700 Received: from [127.0.0.1] (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.1.289.1; Wed, 4 Apr 2012 23:16:08 +0100 Subject: [PATCH, Android] MIPS support MIME-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset="us-ascii" From: Maxim Kuvyrkov In-Reply-To: <7C6479EB2BF52547AC332FD6034646DA01448C524E@exchdb03.mips.com> Date: Wed, 04 Apr 2012 22:16:00 -0000 CC: gcc-patches Patches Content-Transfer-Encoding: quoted-printable Message-ID: References: <16285357-1E07-4D60-BD8D-2B2FE796609B@codesourcery.com> <87sjgmm0rt.fsf@talisman.home> <7C6479EB2BF52547AC332FD6034646DA01448C282D@exchdb03.mips.com> <7C6479EB2BF52547AC332FD6034646DA01448C3ABE@exchdb03.mips.com> <7C6479EB2BF52547AC332FD6034646DA01448C3AEF@exchdb03.mips.com> <7C6479EB2BF52547AC332FD6034646DA01448C524E@exchdb03.mips.com> To: "Fu, Chao-Ying" Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-04/txt/msg00236.txt.bz2 Chao, Let's take discussion of MIPS changes to gcc-patches@. Please follow up he= re. -- Maxim Kuvyrkov CodeSourcery / Mentor Graphics On 5/04/2012, at 10:10 AM, Fu, Chao-Ying wrote: > Maxim Kuvyrkov wrote: >=20 >> I encourage you to submit the MIPS Android patches to=20 >> gcc-patches@. And, as long as your changes preserve the=20 >> status quo of mips-*-* being big-endian by default and=20 >> mipsel-*-* being little-endian by default, there should be no=20 >> major obstacles to merge those in. >>=20 >=20 > For now, two MIPS changes in gnu-user.h and unwind-dw2-fde-dip.c can be = posted for comment. > (I didn't tested this patch, though.) > After starting to build toolchains for Android with Bionic, we may find n= ew files to > patch. Ex: Comment out getpagesize() for bionic. >=20 > Any comment? Thanks a lot! >=20 > Regards, > Chao-ying >=20 > Index: gcc/gcc/config/mips/gnu-user.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc.orig/gcc/config/mips/gnu-user.h 2012-04-03 17:39:50.000000000 -07= 00 > +++ gcc/gcc/config/mips/gnu-user.h 2012-04-04 14:31:50.804236000 -0700 > @@ -45,8 +45,8 @@ along with GCC; see the file COPYING3.=20=20 > /* A standard GNU/Linux mapping. On most targets, it is included in > CC1_SPEC itself by config/linux.h, but mips.h overrides CC1_SPEC > and provides this hook instead. */ > -#undef SUBTARGET_CC1_SPEC > -#define SUBTARGET_CC1_SPEC "%{profile:-p}" > +#undef GNU_USER_SUBTARGET_CC1_SPEC > +#define GNU_USER_SUBTARGET_CC1_SPEC "%{profile:-p}" >=20 > /* -G is incompatible with -KPIC which is the default, so only allow obje= cts > in the small data section if the user explicitly asks for it. */ > @@ -54,8 +54,8 @@ along with GCC; see the file COPYING3.=20=20 > #define MIPS_DEFAULT_GVALUE 0 >=20 > /* Borrowed from sparc/linux.h */ > -#undef LINK_SPEC > -#define LINK_SPEC \ > +#undef GNU_USER_TARGET_LINK_SPEC > +#define GNU_USER_TARGET_LINK_SPEC \ > "%(endian_spec) \ > %{shared:-shared} \ > %{!shared: \ > @@ -89,8 +89,8 @@ along with GCC; see the file COPYING3.=20=20 > #undef ASM_OUTPUT_REG_PUSH > #undef ASM_OUTPUT_REG_POP >=20 > -#undef LIB_SPEC > -#define LIB_SPEC "\ > +#undef GNU_USER_TARGET_LIB_SPEC > +#define GNU_USER_TARGET_LIB_SPEC "\ > %{pthread:-lpthread} \ > %{shared:-lc} \ > %{!shared: \ > @@ -133,7 +133,34 @@ extern const char *host_detect_local_cpu > LINUX_DRIVER_SELF_SPECS >=20 > /* Similar to standard Linux, but adding -ffast-math support. */ > -#undef ENDFILE_SPEC > -#define ENDFILE_SPEC \ > +#undef GNU_USER_TARGET_ENDFILE_SPEC > +#define GNN_USER_TARGET_ENDFILE_SPEC \ > "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ > %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" > + > +#undef LINK_SPEC > +#define LINK_SPEC \ > + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LINK_SPEC, \ > + GNU_USER_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) > + > +#undef SUBTARGET_CC1_SPEC > +#define SUBTARGET_CC1_SPEC \ > + LINUX_OR_ANDROID_CC (GNU_USER_SUBTARGET_CC1_SPEC, \ > + GNU_USER_SUBTARGET_CC1_SPEC " " ANDROID_CC1_SPEC) > + > +#undef CC1PLUS_SPEC > +#define CC1PLUS_SPEC \ > + LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) > + > +#undef LIB_SPEC > +#define LIB_SPEC \ > + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ > + GNU_USER_TARGET_LIB_SPEC " " ANDROID_LIB_SPEC) > + > +#undef STARTFILE_SPEC > +#define STARTFILE_SPEC \ > + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_STARTFILE_SPEC, ANDROID_STARTFILE= _SPEC) > + > +#undef ENDFILE_SPEC > +#define ENDFILE_SPEC \ > + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPE= C) > Index: gcc/libgcc/unwind-dw2-fde-dip.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc.orig/libgcc/unwind-dw2-fde-dip.c 2012-04-03 17:07:28.000000000 -0= 700 > +++ gcc/libgcc/unwind-dw2-fde-dip.c 2012-04-04 14:51:01.338074000 -0700 > @@ -48,8 +48,9 @@ > #include "gthr.h" >=20 > #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ > - && (__GLIBC__ > 2 || (__GLIBC__ =3D=3D 2 && __GLIBC_MINOR__ > 2) \ > - || (__GLIBC__ =3D=3D 2 && __GLIBC_MINOR__ =3D=3D 2 && defined(DT_CONFIG= ))) > + && ((defined(__BIONIC__) && (defined(mips) || defined(__mips__))) \ > + || (__GLIBC__ > 2 || (__GLIBC__ =3D=3D 2 && __GLIBC_MINOR__ > 2)= \ > + || (__GLIBC__ =3D=3D 2 && __GLIBC_MINOR__ =3D=3D 2 && defined(DT_CONFIG= )))) > # define USE_PT_GNU_EH_FRAME > #endif >=20