This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 6/n] OpenMP 4.0 offloading infrastructure: option handling


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]