Hi!

On Thu, 8 Jan 2015 07:02:19 -0800, "H.J. Lu" <hjl.to...@gmail.com> wrote:
> On Thu, Jan 8, 2015 at 6:59 AM, Thomas Schwinge <tho...@codesourcery.com> 
> wrote:
> > commit c049b358f961f72d0c0cf61a707e9a5855b12b28
> > Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
> > Date:   Thu Jan 8 14:58:45 2015 +0000
> >
> >     intelmic-mkoffload: Deal with linker defaulting to 32-bit x86 mode.
> >
> >     ... which explicitly has to be switched into 64-bit x86_64 mode.
> >
> >         gcc/
> >         * config/i386/intelmic-mkoffload.c (compile_for_target): Always
> >         add "-m32" or "-m64" to argv_obstack.
> >         (generate_host_descr_file): Likewise, when invoking host_compiler.
> >         (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
> >         ld.
> >
> >     git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219345 
> > 138bc75d-0d04-0410-961f-82ee72b054a4

> > --- gcc/config/i386/intelmic-mkoffload.c
> > +++ gcc/config/i386/intelmic-mkoffload.c
> > @@ -191,6 +191,8 @@ compile_for_target (struct obstack *argv_obstack)
> >  {
> >    if (target_ilp32)
> >      obstack_ptr_grow (argv_obstack, "-m32");
> > +  else
> > +    obstack_ptr_grow (argv_obstack, "-m64");
> >    obstack_ptr_grow (argv_obstack, NULL);
> >    char **argv = XOBFINISH (argv_obstack, char **);
> >
> > @@ -355,6 +357,8 @@ generate_host_descr_file (const char *host_compiler)
> >    new_argv[new_argc++] = "-shared";
> >    if (target_ilp32)
> >      new_argv[new_argc++] = "-m32";
> > +  else
> > +    new_argv[new_argc++] = "-m64";
> >    new_argv[new_argc++] = src_filename;
> >    new_argv[new_argc++] = "-o";
> >    new_argv[new_argc++] = obj_filename;
> > @@ -511,11 +515,11 @@ main (int argc, char **argv)
> >    unsigned new_argc = 0;
> >    const char *new_argv[9];
> >    new_argv[new_argc++] = "ld";
> > +  new_argv[new_argc++] = "-m";
> >    if (target_ilp32)
> > -    {
> > -      new_argv[new_argc++] = "-m";
> > -      new_argv[new_argc++] = "elf_i386";
> > -    }
> > +    new_argv[new_argc++] = "elf_i386";
> > +  else
> > +    new_argv[new_argc++] = "elf_x86_64";
> >    new_argv[new_argc++] = "--relocatable";
> >    new_argv[new_argc++] = host_descr_filename;
> >    new_argv[new_argc++] = target_so_filename;
> >
> >
> 
> Should we also handle x32?

Yes, probably, but following the standards you've been setting,
<http://news.gmane.org/find-root.php?message_id=%3Calpine.DEB.2.10.1412151845470.4719%40digraph.polyomino.org.uk%3E>,
I only made it work for the case I've been interested in.  ;-)
(Half-smiley, half-serious...)


Grüße,
 Thomas

Attachment: pgpRdf5qin_61.pgp
Description: PGP signature

Reply via email to