I get the same results...
 
/Volumes/btc-0.12/gcc-4.4/lib/gcc/m68k-linux-gnu/4.4.5/../../../../m68k-linux-gnu/bin/as
 -m68020 --pcrel -V -Qy -o gen_uuid.o /var/tmp//cc8hhpkh.s
GNU assembler version 2.20.1 (m68k-linux-gnu) using BFD version (GNU Binutils) 
2.20.1.20100303
/var/tmp//cc8hhpkh.s: Assembler messages:
/var/tmp//cc8hhpkh.s:1299: Error: syntax error -- statement `move.l 
%a2,last.5...@tlsldo+4(%a0)' ignored
/var/tmp//cc8hhpkh.s:1736: Error: syntax error -- statement `move.l 
%a2,last.5...@tlsldo+4(%a0)' ignored


$ fgrep -n TLSLDO /tmp/gen_uuid.s 
[snip]
1735:   move.l %a1,last.5...@tlsldo(%a0)
1736:   move.l %a2,last.5...@tlsldo+4(%a0)
[snip]

gas is happy with line 1735 (and all the other occurrances except line 
1299). It seems to be the "+4" offset that gas doesn't like:

$ fgrep -n TLSLDO+ /tmp/gen_uuid.s
1299:   move.l %a2,last.5...@tlsldo+4(%a0)
1736:   move.l %a2,last.5...@tlsldo+4(%a0)
5668:   .long   adjustment.5...@tlsldo+0x8000
5674:   .long   last.5...@tlsldo+0x8000
5680:   .long   state_fd.5...@tlsldo+0x8000
5686:   .long   state_f.5...@tlsldo+0x8000
5692:   .long   clock_seq.5...@tlsldo+0x8000
5745:   .long   num.5...@tlsldo+0x8000
5754:   .long   uu.5...@tlsldo+0x8000
5763:   .long   last_time.5...@tlsldo+0x8000
5795:   .long   jrand_s...@tlsldo+0x8000
$ 

I'm afraid I have no idea whether this is a bug in gas or gcc.

Finn


On Sun, 24 Oct 2010, Thorsten Glaser wrote:

> Finn Thain dixit:
> 
> >Send me the file and I'll see if I can reproduce it.
> 
> Sent. The .loc are line numbers in the C file, I see, but I fail
> to be able to produce a reduced testcase…
> 
> Anyway, it’s 06:09 localtime, so I should be sleeping for a couple
> of hours already (but this is fun…) which I’ll do now.
> 
> gn8,
> //mirabilos
> 

Reply via email to