From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21842 invoked by alias); 4 Apr 2012 22:10:48 -0000 Received: (qmail 21832 invoked by uid 22791); 4 Apr 2012 22:10:47 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from dns0.mips.com (HELO dns0.mips.com) (12.201.5.70) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 04 Apr 2012 22:10:34 +0000 Received: from exchdb01.mips.com (exchdb01.mips.com [192.168.36.67]) by dns0.mips.com (8.13.8/8.13.8) with ESMTP id q34MAU7l010081; Wed, 4 Apr 2012 15:10:30 -0700 Received: from EXCHDB03.MIPS.com ([fe80::6df1:ae84:797e:9076]) by exchdb01.mips.com ([::1]) with mapi id 14.01.0270.001; Wed, 4 Apr 2012 15:10:26 -0700 From: "Fu, Chao-Ying" To: Maxim Kuvyrkov , Andrew Pinski , Richard Sandiford , "gcc@gcc.gnu.org" Subject: RE: [GCC Steering Committee] Android sub-port reviewer Date: Wed, 04 Apr 2012 22:10:00 -0000 Message-ID: <7C6479EB2BF52547AC332FD6034646DA01448C524E@exchdb03.mips.com> References: <16285357-1E07-4D60-BD8D-2B2FE796609B@codesourcery.com> <87sjgmm0rt.fsf@talisman.home> <7C6479EB2BF52547AC332FD6034646DA01448C282D@exchdb03.mips.com> <7C6479EB2BF52547AC332FD6034646DA01448C3ABE@exchdb03.mips.com> <7C6479EB2BF52547AC332FD6034646DA01448C3AEF@exchdb03.mips.com> In-Reply-To: x-ems-proccessed: 6LP3oGfGVdcdb8o1aBnt6w== x-ems-stamp: k8MmVRbtRJ2OASGTjyBLSw== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2012-04/txt/msg00127.txt.bz2 Maxim Kuvyrkov wrote: > 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 For now, two MIPS changes in gnu-user.h and unwind-dw2-fde-dip.c can be p= osted for comment. (I didn't tested this patch, though.) After starting to build toolchains for Android with Bionic, we may find new= files to patch. Ex: Comment out getpagesize() for bionic. Any comment? Thanks a lot! Regards, Chao-ying 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 -0700 +++ 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 objec= ts 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_S= PEC) + +#undef ENDFILE_SPEC +#define ENDFILE_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) 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 -0700 +++ 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