clang not emitting LLVM bit-code

Hi everyone,

I'm a PhD Student at the University of Southern California and my thesis involves using program analysis techniques to automatically discover interoperability issues in protocol implementations.

My analysis is performed on LLVM-bitcode so the first step in analyzing an implementation is to get it to compile with clang while emitting LLVM.

I'm currently doing this with chromium, and I have come across a weird assembly file which seems to be a part of a third party unicode library that clang insists on compiling into a native ELF, despite me trying -emit-llvm and -flto. The file in question looks something like this:
http://www.filewatcher.com/p/chromium-12.0.742.91.tar.bz2.151259660/chromium-12.0.742.91/third_party/icu/linux/icudt46l_dat.S.html
I'm not sure if this is the same version I have, but I can share mine if necessary.

I'm using clang RELEASE_33/final compiled from source. There is no error message or any other indication of failure. It quietly succeeds in compiling the file, just in the wrong output format.

In my search for related problems, I have seen that this file has been a problem with clang before, although it looks like it didn't use to compile at all. A work around seemed to involve the -no-integrated-as flag, but that didn't help me.

Am I missing something? Is there something else I should try as a work around?

Thank you.

-- Luis D. Pedrosa

There's no bitcode to be emitted from an assembly file.

-eric