On Wed, 26 Oct 2011, Mike Stump wrote: > On Oct 26, 2011, at 6:10 AM, Richard Guenther wrote: > > This completely rewrites LTO option merging. > > > Any comments? > > Wondering if It breaks darwin? > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50876 > > We have: > > %{Zmultiply_defined*:-multiply_defined %*} > > in LINK_SPEC. > > and: > > ; Various linker options have a -Z added so that they can get to specs > ; processing without interference. Note that an option name with a > ; prefix that matches another option name, that also takes an > ; argument, being mapped to a -Z linker option, needs to be modified > ; so the prefix is different, otherwise a '*' after the shorter option > ; will match with the longer one. > > multiply_defined > Driver RejectNegative Separate Alias(Zmultiply_defined) > > in the .opt file. We may well be the only port that does these sorts of > tricks. Essentially, we want to allow linker arguments on the command line, > and have them never hit any machine independent option processing code, > because they match (prefix match). We accomplish this this by hiding them > early, doing all the normal processing, and then way late, just before link, > turning them back into the normal names.
Well, it shouldn't - the options should be properly parsed and marked as CL_DRIVER and thus should get passed through just fine. You have to debug what goes wrong. Richard.