public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Ilya Enkovich <enkovich.gnu@gmail.com>
To: "H.J. Lu" <hjl.tools@gmail.com>
Cc: gcc-patches <gcc-patches@gcc.gnu.org>,
	pavel.v.chupin@gmail.com, 	Jing Yu <jingyu@google.com>
Subject: Re: [PATCH, i386, Android] -mandroid support for i386 target
Date: Tue, 13 Mar 2012 11:13:00 -0000	[thread overview]
Message-ID: <CAMbmDYZS8gXTa8dFwg4nUAYA0uBZm2_yj2nf87cHqMD5LsCQ7Q@mail.gmail.com> (raw)
In-Reply-To: <CAMbmDYYKr+2i=k1MHDui59wb4Wk1MteBcDPuAiOZYG+ogGd6ZQ@mail.gmail.com>

Ping

27 февраля 2012 г. 6:41 пользователь Ilya Enkovich
<enkovich.gnu@gmail.com> написал:
>> You should keep those *_SPEC and define them with new
>> GNU_*_SPEC in gnu-user.h since gnu-user.h is also used
>> by other non-linux targets.  In linux.h, you undef *_SPEC
>> before defining them.
>>
>>
>> --
>> H.J.
>
> Thanks for the note. Here is fixed version. Is it OK now?
>
> Thanks,
> Ilya
> --
> 2012-02-27  Enkovich Ilya  <ilya.enkovich@intel.com>
>
>        * gcc/config/i386/gnu-user.h (GNU_USER_TARGET_CC1_SPEC): New.
>        (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC.
>        (GNU_USER_TARGET_LINK_SPEC): New.
>        (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
>        (GNU_USER_TARGET_MATHFILE_SPEC): New.
>        (ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC.
>
>        * gcc/config/i386/linux.h (CC1_SPEC): New.
>        (LINK_SPEC): New.
>        (LIB_SPEC): New.
>        (STARTFILE_SPEC): New.
>        (ENDFILE_SPEC): New.
>
>
> diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
> index 98d0a25..33ceab7 100644
> --- a/gcc/config/i386/gnu-user.h
> +++ b/gcc/config/i386/gnu-user.h
> @@ -77,8 +77,11 @@ along with GCC; see the file COPYING3.  If not see
>  #undef CPP_SPEC
>  #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
>
> +#undef GNU_USER_TARGET_CC1_SPEC
> +#define GNU_USER_TARGET_CC1_SPEC "%(cc1_cpu) %{profile:-p}"
> +
>  #undef CC1_SPEC
> -#define CC1_SPEC "%(cc1_cpu) %{profile:-p}"
> +#define CC1_SPEC GNU_USER_TARGET_CC1_SPEC
>
>  /* Provide a LINK_SPEC appropriate for GNU userspace.  Here we provide support
>    for the special GCC options -static and -shared, which allow us to
> @@ -97,22 +100,28 @@ along with GCC; see the file COPYING3.  If not see
>   { "link_emulation", GNU_USER_LINK_EMULATION },\
>   { "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
>
> -#undef LINK_SPEC
> -#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
> +#define GNU_USER_TARGET_LINK_SPEC \
> +  "-m %(link_emulation) %{shared:-shared} \
>   %{!shared: \
>     %{!static: \
>       %{rdynamic:-export-dynamic} \
>       -dynamic-linker %(dynamic_linker)} \
>       %{static:-static}}"
>
> +#undef LINK_SPEC
> +#define LINK_SPEC GNU_USER_TARGET_LINK_SPEC
> +
>  /* Similar to standard GNU userspace, but adding -ffast-math support.  */
> -#undef  ENDFILE_SPEC
> -#define ENDFILE_SPEC \
> +#define GNU_USER_TARGET_MATHFILE_SPEC \
>   "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
>    %{mpc32:crtprec32.o%s} \
>    %{mpc64:crtprec64.o%s} \
> -   %{mpc80:crtprec80.o%s} \
> -   %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
> +   %{mpc80:crtprec80.o%s}"
> +
> +#undef  ENDFILE_SPEC
> +#define ENDFILE_SPEC \
> +  GNU_USER_TARGET_MATHFILE_SPEC " " \
> +  GNU_USER_TARGET_ENDFILE_SPEC
>
>  /* A C statement (sans semicolon) to output to the stdio stream
>    FILE the assembler definition of uninitialized global DECL named
> diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
> index 73681fe..a832ddc 100644
> --- a/gcc/config/i386/linux.h
> +++ b/gcc/config/i386/linux.h
> @@ -22,3 +22,30 @@ along with GCC; see the file COPYING3.  If not see
>
>  #define GNU_USER_LINK_EMULATION "elf_i386"
>  #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
> +
> +#undef CC1_SPEC
> +#define CC1_SPEC \
> +  LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \
> +                      GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC)
> +
> +#undef LINK_SPEC
> +#define LINK_SPEC \
> +  LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LINK_SPEC, \
> +                      GNU_USER_TARGET_LINK_SPEC " " ANDROID_LINK_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_MATHFILE_SPEC " " \
> +                      GNU_USER_TARGET_ENDFILE_SPEC,     \
> +                      GNU_USER_TARGET_MATHFILE_SPEC " " \
> +                      ANDROID_ENDFILE_SPEC)

  reply	other threads:[~2012-03-13 11:13 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-22 14:58 Ilya Enkovich
2012-02-22 17:50 ` H.J. Lu
2012-02-24 15:57   ` Ilya Enkovich
2012-02-24 16:17     ` H.J. Lu
2012-02-27 15:19       ` Ilya Enkovich
2012-03-13 11:13         ` Ilya Enkovich [this message]
2012-03-27 13:56           ` Ilya Enkovich
2012-03-28 22:58             ` Jing Yu
2012-03-29  4:21         ` Maxim Kuvyrkov
2012-04-01 15:23           ` Ilya Enkovich
2012-04-01 16:13             ` H.J. Lu
2012-04-01 19:33             ` Maxim Kuvyrkov
2012-04-02 14:16               ` Ilya Enkovich
2012-04-02 14:27                 ` H.J. Lu
2012-04-02 17:06                 ` Maxim Kuvyrkov
2012-04-03 10:50                   ` Ilya Enkovich
2012-04-03 14:56                     ` H.J. Lu
2012-04-03 19:42                       ` Maxim Kuvyrkov
2012-04-03 21:13                         ` Ilya Enkovich
2012-04-03 21:02                       ` Ilya Enkovich
2012-04-10 12:42                         ` Ilya Enkovich
2012-04-11 16:24                         ` H.J. Lu
2012-04-12 11:19                           ` Ilya Enkovich
2012-03-29 17:49         ` Jan Hubicka
2012-04-01 15:39           ` Ilya Enkovich
2012-04-01 19:40           ` Maxim Kuvyrkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMbmDYZS8gXTa8dFwg4nUAYA0uBZm2_yj2nf87cHqMD5LsCQ7Q@mail.gmail.com \
    --to=enkovich.gnu@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hjl.tools@gmail.com \
    --cc=jingyu@google.com \
    --cc=pavel.v.chupin@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).