r195676 - Make the integrated assembler the default for cygwin/mingw too.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Sat Nov 30 07:24:53 PST 2013


On 30 November 2013 08:10, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
> Rafael,
>
> Since llvm's r195798, clang -no-integrated-as has been broken, at
> least on cygming gnu as.
> Would you like to hide incompatibility to gnu as?
>
> FYI, release_34 has been broken due to lack of this, r195676, on
> cygwin selfhosting.
> http://bb.pgr.jp/builders/clang-3stage-cygwin/builds/1348

How come 34 has r195798 but not r195676?

The short answer is that gnu as has the fundamental limitation of not
supporting two sections with the same name on COFF (it does support it
on ELF). Defining the same sections as gcc is pretty much impossible
given that it can't agree with itself in different optimization levels
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59236).

If we really need to support gnu as on COFF, we can do some arbitrary
section name uniquing behind a flag. The best course I think is to not
have r195798 on 3.4 and produce an error for -no-integrated-as on
trunk (as we already do for -win32 triples).

Cheers,
Rafael



More information about the cfe-commits mailing list