Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

When passed an @file, the clang driver should also use one when running ld #15171

Open Quuxplusone opened 11 years ago

Quuxplusone commented 11 years ago
Bugzilla Link PR15171
Status NEW
Importance P enhancement
Reported by Rafael Ávila de Espíndola (rafael@espindo.la)
Reported on 2013-02-05 13:34:47 -0800
Last modified on 2013-12-06 14:42:56 -0800
Version unspecified
Hardware PC Linux
CC llvm-bugs@lists.llvm.org, llvm.org@richardlee.name
Fixed by commit(s)
Attachments
Blocks
Blocked by
See also

Gcc has an heuristic for long command lines: If the driver is passed an @file, it creates a temporary @file when running the linker too.

Clang currently will read the @file correctly, but it will create a command line that is too long when running the linker.

Quuxplusone commented 10 years ago

Any movement on this? Definitely a problem on OSX Mavericks.

Quuxplusone commented 10 years ago
(In reply to comment #1)
> Any movement on this?  Definitely a problem on OSX Mavericks.

We got the argumentsFitWithinSystemLimits, but clang was never updated to use
it. I think the main issue was that ld64 on OS X doesn't support @, it only has
a -filelist option.
Quuxplusone commented 10 years ago

As far as I can tell, "-filelist file" is just another way of saying "@file". Could clang support using the -filelist arg on OSX?

Quuxplusone commented 10 years ago
(In reply to comment #3)
> As far as I can tell, "-filelist file" is just another way of saying
> "@file".  Could clang support using the -filelist arg on OSX?

Will ld64 read options from the file? The documentation at least says that it
reads only objects from it.

Clang could and should support -filelist even if it can only put object files
in it. It just hasn't been implemented yet.