TPDonahue <tdonahue@xxxxxxxxx> writes: >> # 0 "" 2 The 2 at the end means that this is returning to the previous file. The compiler will emit this construct after inline assembler to indicate to the assembler that the subsequent source is from the original file. This is only done if the configure tests run at the time the compiler is configured indicate that the assembler supports it. The GCC patch for this is here: http://gcc.gnu.org/ml/gcc-patches/2007-03/msg00168.html It sounds like you are using a compiler configured and built with one version of the assembler and used with a different, older version of the assembler. That normally works, but this is a case where it doesn't. > Problem seen with gas 2.15, not seen with gas 2.17. We think 2.16 or 2.17 > were modified to tolerate line number 0. Problem seen with -O2, not seen > with no optimization. Obviously gas 2.15 is fairly old. The current version is 2.22. Ian