te-freebsd.h has #define LOCAL_LABELS_DOLLAR 1
But LOCAL_LABELS_DOLLAR never really works completely for x86 assembler. When assembler sees $foo, it can't tell if $foo is a label or the value of symbol foo. I do have a hack for x86 assembler, which assumes $_XXX is a local label if LOCAL_LABELS_DOLLAR is defined. But it won't work when _XXX is a real label. bash-3.2$ cat /tmp/f.s $foo: movl $foo(%eax), %eax bash-3.2$ ./as-new -o f.o /tmp/f.s /tmp/f.s: Assembler messages: /tmp/f.s:2: Error: junk `(%eax)' after expression bash-3.2$ I think LOCAL_LABELS_DOLLAR should be undefined for all x86 targets. -- Summary: LOCAL_LABELS_DOLLAR doesn't work on Freebsd/x86 Product: binutils Version: 2.20 (HEAD) Status: NEW Severity: normal Priority: P2 Component: gas AssignedTo: unassigned at sources dot redhat dot com ReportedBy: hjl dot tools at gmail dot com CC: bug-binutils at gnu dot org GCC target triplet: i386-pc-freebsd http://sourceware.org/bugzilla/show_bug.cgi?id=9915 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils