[LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file

Liu, Yaxun (Sam) Yaxun.Liu at amd.com
Fri Sep 21 07:44:23 PDT 2012


I have no objection to that. Actually I am curious why it is disabled by default.

If we enable ReadResponseFiles=true by default, we will automatically get support of response file (@file) in all llvm tools. The only issue I can think of is that some users may have file names starting with "@".

Sam

-----Original Message-----
From: NAKAMURA Takumi [mailto:geek4civic at gmail.com] 
Sent: Thursday, September 20, 2012 10:14 PM
To: Nick Lewycky; Liu, Yaxun (Sam)
Cc: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file

Could we enable ReadResponseFiles=true by default?

2012/9/21 Liu, Yaxun (Sam) <Yaxun.Liu at amd.com>:
> Well, although cl::ParseCommandLineOptions contains support for @file. By default it is disabled, which is the case for llvm-link.
>
> To enable @file support in llvm-link, a small change is needed:
>
> --- llvm-link.cpp.orig  2012-09-20 16:10:50.000000000 -0400
> +++ llvm-link.cpp       2012-09-20 16:11:24.000000000 -0400
> @@ -83,7 +83,7 @@
>
>    LLVMContext &Context = getGlobalContext();
>    llvm_shutdown_obj Y;  // Call llvm_shutdown() on exit.
> -  cl::ParseCommandLineOptions(argc, argv, "llvm linker\n");
> +  cl::ParseCommandLineOptions(argc, argv, "llvm linker\n", true);
>
>    unsigned BaseArg = 0;
>    std::string ErrorMessage;
>
> Sam
>
> -----Original Message-----
> From: Liu, Yaxun (Sam)
> Sent: Thursday, September 20, 2012 2:59 PM
> To: 'Nick Lewycky'
> Cc: 'llvmdev at cs.uiuc.edu'
> Subject: RE: [LLVMdev] RFC: Adding an option to llvm-link to allow it 
> to get a list of input bitcode file names from a file
>
> Just found llvm-link (and other llvm commands) have already supported @file through cl::ParseCommandLineOptions, therefore no change is needed. Thanks.
>
> Sam
>
> -----Original Message-----
> From: Liu, Yaxun (Sam)
> Sent: Thursday, September 13, 2012 3:06 PM
> To: 'Nick Lewycky'
> Cc: llvmdev at cs.uiuc.edu
> Subject: RE: [LLVMdev] RFC: Adding an option to llvm-link to allow it 
> to get a list of input bitcode file names from a file
>
> It seems clang supports @file.
>
> http://llvm.org/svn/llvm-project/cfe/trunk/tools/driver/driver.cpp
>
> So maybe it is a better idea to let llvm-link support @file instead of adding a new option.
>
> Sam
> -----Original Message-----
> From: Nick Lewycky [mailto:nicholas at mxc.ca]
> Sent: Thursday, September 13, 2012 2:33 PM
> To: Liu, Yaxun (Sam)
> Cc: llvmdev at cs.uiuc.edu
> Subject: Re: [LLVMdev] RFC: Adding an option to llvm-link to allow it 
> to get a list of input bitcode file names from a file
>
> Liu, Yaxun (Sam) wrote:
>> I am proposing to add an option to llvm-link allow it to get a list 
>> of input bitcode file names from a file.
>>
>> The reason is that there is a limitation for command line length 
>> which limits the number of input bitcode files that can be passed to 
>> llvm-link. By adding this option we can bypass such limitation.
>>
>> The name of the option can be discussed. My initial proposal would be 
>> -input-file-list.
>
> It's common for tools to accept "@file" as an argument that means "read options from file", where options may include both flags and positional arguments (ie., more input files). For instance, gcc, as and ld all support @file.
>
> I realize this is more complicated than just reading in a list of 
> input bitcode files, but I think the right fix is to teach llvm to 
> support this. (It looks like clang already does? What are they doing?)
>
> Nick
>
>> Each line of the list file is a path to an input bitcode file.
>>
>> If this option is given, no input bitcode file names are allowed in 
>> the command line. If input bitcode file names are given in the 
>> command line, this option is not allowed.
>>
>> The implementation is simple. Only llvm-link.cpp is affected.
>>
>> Thanks.
>>
>> Sam Liu






More information about the llvm-dev mailing list