[PATCH 1/4] Add mkoffload for Intel MIC
Thomas Schwinge
thomas@codesourcery.com
Thu Jan 8 14:59:00 GMT 2015
Hi!
On Mon, 22 Dec 2014 12:28:20 +0100, Jakub Jelinek <jakub@redhat.com> wrote:
> On Mon, Dec 22, 2014 at 12:25:32PM +0100, Thomas Schwinge wrote:
> > On Wed, 22 Oct 2014 22:57:01 +0400, Ilya Verbin <iverbin@gmail.com> wrote:
> > > --- /dev/null
> > > +++ b/gcc/config/i386/intelmic-mkoffload.c
> > > @@ -0,0 +1,541 @@
> > > +/* Offload image generation tool for Intel MIC devices.
> >
> > > +/* Shows if we should compile binaries for i386 instead of x86-64. */
> > > +bool target_ilp32 = false;
> >
> > My linker defaults to 32-bit x86, so I explicitly have to switch to
> > 64-bit x86_64 mode; OK to commit the following, to always explicitly
> > specify what is wanted?
> >
> > gcc/config/i386/intelmic-mkoffload.c | 12 ++++++++----
> > 1 file changed, 8 insertions(+), 4 deletions(-)
>
> Ok with proper ChangeLog entry.
Committed to trunk in r219345:
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/ChangeLog | 8 ++++++++
gcc/config/i386/intelmic-mkoffload.c | 12 ++++++++----
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git gcc/ChangeLog gcc/ChangeLog
index bee5f1e..01b6cc6 100644
--- gcc/ChangeLog
+++ gcc/ChangeLog
@@ -1,3 +1,11 @@
+2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
+
+ * 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.
+
2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
* config/sh/sh-mem.cc: Use constant as second operand when emitting
diff --git gcc/config/i386/intelmic-mkoffload.c gcc/config/i386/intelmic-mkoffload.c
index c3d2b23..23bc955 100644
--- 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;
Grüße,
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150108/e0eec392/attachment.sig>
More information about the Gcc-patches
mailing list