Re: gcc bug?
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.5547@TLSLDO+4(%a0)' ignored
/var/tmp//cc8hhpkh.s:1736: Error: syntax error -- statement `move.l %a2,last.5547@TLSLDO+4(%a0)' ignored
$ fgrep -n TLSLDO /tmp/gen_uuid.s
[snip]
1735: move.l %a1,last.5547@TLSLDO(%a0)
1736: move.l %a2,last.5547@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.5547@TLSLDO+4(%a0)
1736: move.l %a2,last.5547@TLSLDO+4(%a0)
5668: .long adjustment.5546@TLSLDO+0x8000
5674: .long last.5547@TLSLDO+0x8000
5680: .long state_fd.5548@TLSLDO+0x8000
5686: .long state_f.5549@TLSLDO+0x8000
5692: .long clock_seq.5550@TLSLDO+0x8000
5745: .long num.5799@TLSLDO+0x8000
5754: .long uu.5800@TLSLDO+0x8000
5763: .long last_time.5801@TLSLDO+0x8000
5795: .long jrand_seed@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 to: