Hi! On Thu, 8 Jan 2015 07:02:19 -0800, "H.J. Lu" <[email protected]> wrote: > On Thu, Jan 8, 2015 at 6:59 AM, Thomas Schwinge <[email protected]> > 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
pgpRdf5qin_61.pgp
Description: PGP signature
