The m68k build outputs bad assembly code around an inline assembly block. Compiling the attached file with gcc 4.3.0 and binutils 2.18 for --target=m68k-unknown-uclinux-uclibc on --host=i486-linux-gnu, I get:
Error: junk at end of line, first unrecognized character is `|' I won't attach the assembly generated by gcc...but I'll tell you that it contains what looks like an attempted comment before and after the inline assembly block. The apparent comment is prefixed by "|" instead of the usual "#". The ASM_COMMENT_START is #define'd as "|" for most of the m68k builds. I think that this is wrong, at least for "linux" builds. ASM_COMMENT_START has been "|" for a long time, but it seems that only recent gcc versions put comments around __asm__() blocks. A simple fix that worked for me was to change ASM_COMMENT_START to "#" in gcc/config/m68k/linux.h. This might also be appropriate for other m68k platforms. I couldn't find any other bugs reporting this problem. This bug seems a little too serious and a little too easy to fix, so maybe I'm missing something. My apologies if that's the case. -- Summary: m68k outputs bad assembly comment Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kendallc at vxitech dot com GCC build triplet: i486-linux-gnu GCC host triplet: i486-linux-gnu GCC target triplet: m68k-unknown-uclinux-uclibc http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36049