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: Maxim Kuvyrkov <maxim@codesourcery.com>,
	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, 10 Apr 2012 12:42:00 -0000	[thread overview]
Message-ID: <CAMbmDYZsOkDvTYhC+p+OKa9hSGT6_U5U5sJmVh1iMdDYC+56+w@mail.gmail.com> (raw)
In-Reply-To: <CAMbmDYZx5FQ=dhNrYJrVBTWBimN1rsLGJeqzCAFvK42UesATxA@mail.gmail.com>

Ping.

On Apr 4, 2012 at 1:02, Ilya Enkovich <enkovich.gnu@gmail.com> wrote:
>> On Tue, Apr 3, 2012 at 3:49 AM, Ilya Enkovich <enkovich.gnu@gmail.com> wrote:
>>>> On 3/04/2012, at 2:16 AM, Ilya Enkovich wrote:
>>>>
>>>>>>
>>>>>> The point is that one can build a toolchain for i686-linux-gnu that will support both 32-bit and 64-bit multilibs.  The 32-bit multilib will be used by default, and compilation for 64-bit user-space can be requested with -m64 option.  Even though Android is not supported for -m64, such a toolchain can support Android as a additional "-m32 -mandroid" multilib.  I.e., the toolchain will have three multilibs in total: "-m32" (default), "-m64" and "-m32 -mandroid".  I386/linux64.h will be picked up for such a toolchain, even though by default it would compile for 32-bit target.  Does this clear up things?
>>>>>>
>>>>>
>>>>> I think I see your point. And it seems to make all this work I'll also
>>>>> have to rename i386/gnu-user.h into i386/gnu-user32.h and create
>>>>> i386/gnu-user.h with common definitions to be included by
>>>>> gnu-user[32|64].h. Otherwise I wont be able to use some definitions
>>>>> (i.e. GNU_USER_TARGET_LINK_SPEC and GNU_USER_TARGET_MATHFILE_SPEC) in
>>>>> linux64.h. Right?
>>>>
>>>> It's simpler that you think.  The target headers ($tm_file in config.gcc -- gnu-user.h, linux*.h, etc. in this case) are all included into tm.h, which serves as proxy to all those headers.  All definitions made in preceding headers are available in subsequent headers.  So, given that i386/gnu-user*.h precedes i386/linux*.h in config.gcc's $tm_file, you only need to touch linux*.h.
>>>>
>>>> Thanks,
>>>>
>>>> --
>>>> Maxim Kuvyrkov
>>>> CodeSourcery / Mentor Graphics
>>>>
>>>
>>>
>>> Hi,
>>>
>>> I prepared version with common linux.h and gnu-user.h. Does it look OK?
>>>
>>> Bootstrapped and checked on linux-x86_64.
>>>
>>
>> There are so many duplicates in gnu-user64.h and gnu-user32.h.
>> Please move all of them to gnu-user.h.
>>
>> Thanks.
>>
>> --
>> H.J.
>
> Hi,
>
> Here is a new version with all gnu-user32.h and gnu-user64.h common
> definitions moved to gnu-user.h.
>
> Bootstrapped and checked on linux-x86_64.
>
> Thanks,
> Ilya
> ---
> 2012-04-04  Enkovich Ilya  <ilya.enkovich@intel.com>
>
>        * config/i386/linux.h: Renamed to ...
>        * config/i386/linux32.h: ... this.
>
>        * config/i386/gnu-user.h: Renamed to ...
>        * config/i386/gnu-user32.h: ... this.
>        (CPP_SPEC): Removed.
>        (CC1_SPEC): Removed.
>        (ENDFILE_SPEC): Removed.
>        (DEFAULT_PCC_STRUCT_RETURN): Removed.
>        (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Removed.
>        (TARGET_OS_CPP_BUILTINS): Removed.
>        (LIBGCC2_HAS_TF_MODE): Removed.
>        (LIBGCC2_TF_CEXT): Removed.
>        (TF_SIZE): Removed.
>        (TARGET_ASM_FILE_END): Removed.
>        (STACK_CHECK_MOVING_SP): Removed.
>        (STACK_CHECK_STATIC_BUILTIN): Removed.
>        (TARGET_THREAD_SSP_OFFSET): Removed.
>        (TARGET_CAN_SPLIT_STACK): Removed.
>        (TARGET_THREAD_SPLIT_STACK_OFFSET): Removed.
>        (GNU_USER_TARGET_LINK_SPEC): New.
>        (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
>
>        * config.gcc: Rename i386/linux.h to i386/linux32.h and
>        i386/gnu-user.h to i386/gnu-user32.h.
>
>        * config/i386/linux.h: New.
>
>        * config/i386/gnu-user.h: New.
>
>        * config/i386/linux64.h: Include i386/linux.h.
>
>        * config/i386/gnu-user64.h: Include i386/gnu-user.h
>        (CPP_SPEC): Removed.
>        (CC1_SPEC): Removed.
>        (ENDFILE_SPEC): Removed.
>        (DEFAULT_PCC_STRUCT_RETURN): Removed.
>        (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Removed.
>        (TARGET_OS_CPP_BUILTINS): Removed.
>        (LIBGCC2_HAS_TF_MODE): Removed.
>        (LIBGCC2_TF_CEXT): Removed.
>        (TF_SIZE): Removed.
>        (TARGET_ASM_FILE_END): Removed.
>        (STACK_CHECK_MOVING_SP): Removed.
>        (STACK_CHECK_STATIC_BUILTIN): Removed.
>        (TARGET_THREAD_SSP_OFFSET): Removed.
>        (TARGET_CAN_SPLIT_STACK): Removed.
>        (TARGET_THREAD_SPLIT_STACK_OFFSET): Removed.
>        (GNU_USER_TARGET_LINK_SPEC): New.
>        (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.

  reply	other threads:[~2012-04-10 12:42 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
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 [this message]
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=CAMbmDYZsOkDvTYhC+p+OKa9hSGT6_U5U5sJmVh1iMdDYC+56+w@mail.gmail.com \
    --to=enkovich.gnu@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hjl.tools@gmail.com \
    --cc=jingyu@google.com \
    --cc=maxim@codesourcery.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).