Message ID | 87iocerjdt.fsf@schwinge.name |
---|---|
State | New |
Headers | show |
Hi! OK for gcc-5-branch? On Wed, 29 Apr 2015 18:26:06 +0200, I wrote: > Committed in r222583: > > commit df615909263269988fd9611f8d007902580829d9 > Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> > Date: Wed Apr 29 16:23:26 2015 +0000 > > [PR libgomp/65099] nvptx mkoffload: pass "-m32" or "-m64" to the compiler > > ... depending on "-foffload-abi=[...]". > > Coding style/code copied from gcc/config/i386/intelmic-mkoffload.c for > consistency. > > gcc/ > * config/nvptx/mkoffload.c (target_ilp32): New variable. > (main): Set it depending on "-foffload-abi=[...]". > (compile_native, main): Use it to pass "-m32" or "-m64" to the > compiler. > > git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222583 138bc75d-0d04-0410-961f-82ee72b054a4 > --- > gcc/ChangeLog | 8 ++++++++ > gcc/config/nvptx/mkoffload.c | 18 +++++++++++++++++- > 2 files changed, 25 insertions(+), 1 deletion(-) > > diff --git gcc/ChangeLog gcc/ChangeLog > index aaa06c3..d7455e4 100644 > --- gcc/ChangeLog > +++ gcc/ChangeLog > @@ -1,3 +1,11 @@ > +2015-04-29 Thomas Schwinge <thomas@codesourcery.com> > + > + PR libgomp/65099 > + * config/nvptx/mkoffload.c (target_ilp32): New variable. > + (main): Set it depending on "-foffload-abi=[...]". > + (compile_native, main): Use it to pass "-m32" or "-m64" to the > + compiler. > + > 2015-04-29 Alan Lawrence <alan.lawrence@arm.com> > > PR target/65770 > diff --git gcc/config/nvptx/mkoffload.c gcc/config/nvptx/mkoffload.c > index dbc68bc..8687154 100644 > --- gcc/config/nvptx/mkoffload.c > +++ gcc/config/nvptx/mkoffload.c > @@ -126,6 +126,9 @@ static id_map *var_ids, **vars_tail = &var_ids; > static const char *ptx_name; > static const char *ptx_cfile_name; > > +/* Shows if we should compile binaries for i386 instead of x86-64. */ > +bool target_ilp32 = false; > + > /* Delete tempfiles. */ > > /* Unlink a temporary file unless requested otherwise. */ > @@ -885,6 +888,7 @@ compile_native (const char *infile, const char *outfile, const char *compiler) > struct obstack argv_obstack; > obstack_init (&argv_obstack); > obstack_ptr_grow (&argv_obstack, compiler); > + obstack_ptr_grow (&argv_obstack, target_ilp32 ? "-m32" : "-m64"); > obstack_ptr_grow (&argv_obstack, infile); > obstack_ptr_grow (&argv_obstack, "-c"); > obstack_ptr_grow (&argv_obstack, "-o"); > @@ -962,11 +966,23 @@ main (int argc, char **argv) > passed with @file. Expand them into argv before processing. */ > expandargv (&argc, &argv); > > + /* Find out whether we should compile binaries for i386 or x86-64. */ > + for (int i = argc - 1; i > 0; i--) > + if (strncmp (argv[i], "-foffload-abi=", sizeof ("-foffload-abi=") - 1) == 0) > + { > + if (strstr (argv[i], "ilp32")) > + target_ilp32 = true; > + else if (!strstr (argv[i], "lp64")) > + fatal_error (input_location, > + "unrecognizable argument of option -foffload-abi"); > + break; > + } > + > struct obstack argv_obstack; > obstack_init (&argv_obstack); > obstack_ptr_grow (&argv_obstack, driver); > obstack_ptr_grow (&argv_obstack, "-xlto"); > - obstack_ptr_grow (&argv_obstack, "-m64"); > + obstack_ptr_grow (&argv_obstack, target_ilp32 ? "-m32" : "-m64"); > obstack_ptr_grow (&argv_obstack, "-S"); > > for (int ix = 1; ix != argc; ix++) Grüße, Thomas
On July 14, 2015 10:03:32 PM GMT+02:00, Thomas Schwinge <thomas@codesourcery.com> wrote: >Hi! > >OK for gcc-5-branch? OK Richard >On Wed, 29 Apr 2015 18:26:06 +0200, I wrote: >> Committed in r222583: >> >> commit df615909263269988fd9611f8d007902580829d9 >> Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> >> Date: Wed Apr 29 16:23:26 2015 +0000 >> >> [PR libgomp/65099] nvptx mkoffload: pass "-m32" or "-m64" to the >compiler >> >> ... depending on "-foffload-abi=[...]". >> >> Coding style/code copied from >gcc/config/i386/intelmic-mkoffload.c for >> consistency. >> >> gcc/ >> * config/nvptx/mkoffload.c (target_ilp32): New variable. >> (main): Set it depending on "-foffload-abi=[...]". >> (compile_native, main): Use it to pass "-m32" or "-m64" to the >> compiler. >> >> git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222583 >138bc75d-0d04-0410-961f-82ee72b054a4 >> --- >> gcc/ChangeLog | 8 ++++++++ >> gcc/config/nvptx/mkoffload.c | 18 +++++++++++++++++- >> 2 files changed, 25 insertions(+), 1 deletion(-) >> >> diff --git gcc/ChangeLog gcc/ChangeLog >> index aaa06c3..d7455e4 100644 >> --- gcc/ChangeLog >> +++ gcc/ChangeLog >> @@ -1,3 +1,11 @@ >> +2015-04-29 Thomas Schwinge <thomas@codesourcery.com> >> + >> + PR libgomp/65099 >> + * config/nvptx/mkoffload.c (target_ilp32): New variable. >> + (main): Set it depending on "-foffload-abi=[...]". >> + (compile_native, main): Use it to pass "-m32" or "-m64" to the >> + compiler. >> + >> 2015-04-29 Alan Lawrence <alan.lawrence@arm.com> >> >> PR target/65770 >> diff --git gcc/config/nvptx/mkoffload.c gcc/config/nvptx/mkoffload.c >> index dbc68bc..8687154 100644 >> --- gcc/config/nvptx/mkoffload.c >> +++ gcc/config/nvptx/mkoffload.c >> @@ -126,6 +126,9 @@ static id_map *var_ids, **vars_tail = &var_ids; >> static const char *ptx_name; >> static const char *ptx_cfile_name; >> >> +/* Shows if we should compile binaries for i386 instead of x86-64. >*/ >> +bool target_ilp32 = false; >> + >> /* Delete tempfiles. */ >> >> /* Unlink a temporary file unless requested otherwise. */ >> @@ -885,6 +888,7 @@ compile_native (const char *infile, const char >*outfile, const char *compiler) >> struct obstack argv_obstack; >> obstack_init (&argv_obstack); >> obstack_ptr_grow (&argv_obstack, compiler); >> + obstack_ptr_grow (&argv_obstack, target_ilp32 ? "-m32" : "-m64"); >> obstack_ptr_grow (&argv_obstack, infile); >> obstack_ptr_grow (&argv_obstack, "-c"); >> obstack_ptr_grow (&argv_obstack, "-o"); >> @@ -962,11 +966,23 @@ main (int argc, char **argv) >> passed with @file. Expand them into argv before processing. >*/ >> expandargv (&argc, &argv); >> >> + /* Find out whether we should compile binaries for i386 or x86-64. > */ >> + for (int i = argc - 1; i > 0; i--) >> + if (strncmp (argv[i], "-foffload-abi=", sizeof >("-foffload-abi=") - 1) == 0) >> + { >> + if (strstr (argv[i], "ilp32")) >> + target_ilp32 = true; >> + else if (!strstr (argv[i], "lp64")) >> + fatal_error (input_location, >> + "unrecognizable argument of option -foffload-abi"); >> + break; >> + } >> + >> struct obstack argv_obstack; >> obstack_init (&argv_obstack); >> obstack_ptr_grow (&argv_obstack, driver); >> obstack_ptr_grow (&argv_obstack, "-xlto"); >> - obstack_ptr_grow (&argv_obstack, "-m64"); >> + obstack_ptr_grow (&argv_obstack, target_ilp32 ? "-m32" : "-m64"); >> obstack_ptr_grow (&argv_obstack, "-S"); >> >> for (int ix = 1; ix != argc; ix++) > > >Grüße, > Thomas
diff --git gcc/ChangeLog gcc/ChangeLog index aaa06c3..d7455e4 100644 --- gcc/ChangeLog +++ gcc/ChangeLog @@ -1,3 +1,11 @@ +2015-04-29 Thomas Schwinge <thomas@codesourcery.com> + + PR libgomp/65099 + * config/nvptx/mkoffload.c (target_ilp32): New variable. + (main): Set it depending on "-foffload-abi=[...]". + (compile_native, main): Use it to pass "-m32" or "-m64" to the + compiler. + 2015-04-29 Alan Lawrence <alan.lawrence@arm.com> PR target/65770 diff --git gcc/config/nvptx/mkoffload.c gcc/config/nvptx/mkoffload.c index dbc68bc..8687154 100644 --- gcc/config/nvptx/mkoffload.c +++ gcc/config/nvptx/mkoffload.c @@ -126,6 +126,9 @@ static id_map *var_ids, **vars_tail = &var_ids; static const char *ptx_name; static const char *ptx_cfile_name; +/* Shows if we should compile binaries for i386 instead of x86-64. */ +bool target_ilp32 = false; + /* Delete tempfiles. */ /* Unlink a temporary file unless requested otherwise. */ @@ -885,6 +888,7 @@ compile_native (const char *infile, const char *outfile, const char *compiler) struct obstack argv_obstack; obstack_init (&argv_obstack); obstack_ptr_grow (&argv_obstack, compiler); + obstack_ptr_grow (&argv_obstack, target_ilp32 ? "-m32" : "-m64"); obstack_ptr_grow (&argv_obstack, infile); obstack_ptr_grow (&argv_obstack, "-c"); obstack_ptr_grow (&argv_obstack, "-o"); @@ -962,11 +966,23 @@ main (int argc, char **argv) passed with @file. Expand them into argv before processing. */ expandargv (&argc, &argv); + /* Find out whether we should compile binaries for i386 or x86-64. */ + for (int i = argc - 1; i > 0; i--) + if (strncmp (argv[i], "-foffload-abi=", sizeof ("-foffload-abi=") - 1) == 0) + { + if (strstr (argv[i], "ilp32")) + target_ilp32 = true; + else if (!strstr (argv[i], "lp64")) + fatal_error (input_location, + "unrecognizable argument of option -foffload-abi"); + break; + } + struct obstack argv_obstack; obstack_init (&argv_obstack); obstack_ptr_grow (&argv_obstack, driver); obstack_ptr_grow (&argv_obstack, "-xlto"); - obstack_ptr_grow (&argv_obstack, "-m64"); + obstack_ptr_grow (&argv_obstack, target_ilp32 ? "-m32" : "-m64"); obstack_ptr_grow (&argv_obstack, "-S"); for (int ix = 1; ix != argc; ix++)