http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46179
Summary: Codegen/TLS: invalid assembler syntax Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: fth...@telegraphics.com.au Target: m68k-linux-gnu Created attachment 22157 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22157 pre-processed source from gen_uuid.c from util-linux gcc version 4.5.2 20101021 (prerelease) (GCC) $ m68k-linux-gnu-gcc -c gen_uuid.i -O2 /tmp/cceVtxzz.s: Assembler messages: /tmp/cceVtxzz.s:709: Error: syntax error -- statement `move.l %d1,last.5...@tlsle+4(%a0)' ignored /tmp/cceVtxzz.s:886: Error: syntax error -- statement `move.l %d1,last.5...@tlsle+4(%a0)' ignored Some background may be found here (relating to debian's gcc-4.4 package which has TLS backported): http://lists.debian.org/debian-68k/2010/10/msg00037.html (In that compiler, the code generated is an offset against TLSLDO, but shows the same bug.) The bug was initially filed for binutils (since closed as invalid): http://sourceware.org/bugzilla/show_bug.cgi?id=12157 Bug may be worked around with -O0.