Commit 4f929d9d by Thomas Schwinge Committed by Thomas Schwinge

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.

From-SVN: r219345
parent 53dd59bf
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> 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
* config/sh/sh-mem.cc: Use constant as second operand when emitting * config/sh/sh-mem.cc: Use constant as second operand when emitting
......
...@@ -191,6 +191,8 @@ compile_for_target (struct obstack *argv_obstack) ...@@ -191,6 +191,8 @@ compile_for_target (struct obstack *argv_obstack)
{ {
if (target_ilp32) if (target_ilp32)
obstack_ptr_grow (argv_obstack, "-m32"); obstack_ptr_grow (argv_obstack, "-m32");
else
obstack_ptr_grow (argv_obstack, "-m64");
obstack_ptr_grow (argv_obstack, NULL); obstack_ptr_grow (argv_obstack, NULL);
char **argv = XOBFINISH (argv_obstack, char **); char **argv = XOBFINISH (argv_obstack, char **);
...@@ -355,6 +357,8 @@ generate_host_descr_file (const char *host_compiler) ...@@ -355,6 +357,8 @@ generate_host_descr_file (const char *host_compiler)
new_argv[new_argc++] = "-shared"; new_argv[new_argc++] = "-shared";
if (target_ilp32) if (target_ilp32)
new_argv[new_argc++] = "-m32"; new_argv[new_argc++] = "-m32";
else
new_argv[new_argc++] = "-m64";
new_argv[new_argc++] = src_filename; new_argv[new_argc++] = src_filename;
new_argv[new_argc++] = "-o"; new_argv[new_argc++] = "-o";
new_argv[new_argc++] = obj_filename; new_argv[new_argc++] = obj_filename;
...@@ -511,11 +515,11 @@ main (int argc, char **argv) ...@@ -511,11 +515,11 @@ main (int argc, char **argv)
unsigned new_argc = 0; unsigned new_argc = 0;
const char *new_argv[9]; const char *new_argv[9];
new_argv[new_argc++] = "ld"; new_argv[new_argc++] = "ld";
new_argv[new_argc++] = "-m";
if (target_ilp32) if (target_ilp32)
{ new_argv[new_argc++] = "elf_i386";
new_argv[new_argc++] = "-m"; else
new_argv[new_argc++] = "elf_i386"; new_argv[new_argc++] = "elf_x86_64";
}
new_argv[new_argc++] = "--relocatable"; new_argv[new_argc++] = "--relocatable";
new_argv[new_argc++] = host_descr_filename; new_argv[new_argc++] = host_descr_filename;
new_argv[new_argc++] = target_so_filename; new_argv[new_argc++] = target_so_filename;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment