[PATCH] Forward -target-feature option through to assembler.
Charlie Turner
charlie.turner at arm.com
Mon Nov 10 03:16:28 PST 2014
Hi Renato and Rafael,
On 7 November 2014 18:04, Rafael EspĂndola <rafael.espindola at gmail.com> wrote:
> We normally use -Wa,FOO to be compatible with gnu as. Is there a gnu
> as option that you could use?
Not to my knowledge. Closest thing I can see is the GNU as -mcpu=processor[+extension..] flag that I suppose I could use if that were supported by the integrated assembler, not sure if you can disable certain features with this syntax though, but it does not seem appropriate for Clang anyway.
> I agree, -target-feature is a clang-specific flag and we should not use it that way.
Why does the `cc1as` driver support the `-target-option` flag then? Is the main concern that I can pass -no-integrated-as and get an error from the system assembler? Must we always be compatible with the system assembler? I'm making this change in the method that collects args for the integrated assembler, so I'm uncertain why I need to worry about what GNU as does and whether this is Clang-specific (or if this was even your main concern :)) The target-feature flag isn't actually passed through to the MC layer, it's just used by the driver to build a comma-delimited feature-string which is actually passed through to MC.
> Having the same flag passed again with -Wa and -Wl is what's expected. If that doesn't work, it's a bog.
So the interface should instead be `clang ... -Wa,-mp some_file.s` if I want the behavior explained in my previous email (you'd get an error using that hypothetical syntax with GNU as well BTW)?
If instead you mean the correct way to fix this is to pass `-Wa,-mcpu=bleh-mp` to be "compatible" with GNU as (which doesn't know about multiprocessing extensions AFAICT) then I'll have to come back to this at a later date. :)
I have a feeling I misunderstood your points, apologies in advance if that's the case!
Thank you both for your time,
Charlie.
More information about the cfe-commits
mailing list