Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Issues with native build of -10 on VAX
> On Nov 22, 2023, at 6:40 PM, Hans Rosenfeld <hans%netbsd.org@localhost> wrote:
>
> ...
> So I cross-built the same kernel on amd64, disassembled all the object
> files generated by both builds, and ran diff. There was really only one
> thing standing out, in ffs_truncate():
>
> @@ -1958,9 +1958,9 @@
> 1247: 7c 44 c3 d0 clrd 0xd0(r3)[r4]
> 124b: 00
> lastiblock[level] = -1;
> - 124c: 7d 8f ff ff movq $0xffffffffffffffff,0xfffffedc(fp)[r4]
> - 1250: ff ff ff ff
> - 1254: ff ff 44 cd
> + 124c: 7d 8f ff ff movq $0x00000000ffffffff,0xfffffedc(fp)[r4]
> + 1250: ff ff 00 00
> + 1254: 00 00 44 cd
> 1258: dc fe
> blks[i] = DIP(oip, db[i]);
> 125a: d0 a6 14 50 movl 0x14(r6),r0
>
> Looking at the assembly that gcc generated, it's the same when native or
> cross-built:
>
> clrq 208(%r3)[%r4]
> .LM720:
> .LM721:
> .LM722:
> movq $-1,-292(%fp)[%r4]
> .LM723:
> movl 20(%r6),%r0
>
>
> So it's all the assembler's fault, I guess? Attached is a minimal test
> case, in case anyone wants to take a closer look.
Sure looks like an assembler error. Does it also show up when crossbuilding on a 32 bit host? It looks a bit like a case of using a host type when a target type is needed.
paul
Home |
Main Index |
Thread Index |
Old Index