[parisc-linux] 64-bit binutils problem

Matthew Wilcox matthew@wil.cx
Thu, 10 Aug 2000 18:06:24 -0400


ok, i'm in way over my head here.

in arch/parisc64/real/head.S:

        /* And the return address(es) too */
        ldil            L%start_parisc,%r10
        ldo             R%start_parisc(%r10),%r10
        depdi           0, 31, 32, %r10
        mtctl           %r10,%cr18
        ldo             4(%r10),%r10
        mtctl           %r10,%cr18

which (after linking) becomes:

    c0100074:   21 42 28 07     ldil -3fcfb000,r10
    c0100078:   35 4a 09 c0     ldo 4e0(r10),r10
    c010007c:   f5 40 0c 00     depdi 0,31,32,r10
    c0100080:   02 4a 18 40     mtctl r10,pcoq
    c0100084:   35 4a 00 08     ldo 4(r10),r10
    c0100088:   02 4a 18 40     mtctl r10,pcoq

however, C03054E0 is in the middle of gateway_init and start_parisc is
nowhere to be found, except as:

0000000000000000       F *UND*  0000000000000304 start_parisc

which seems rather bogus to me.  i'll put my compiled kernel tree up on
pehc:/home/willy/parisc64/ in a few moments.

p.s.  does anyone want to change the `-3fcfb000' to an unsigned representation?
this would please me more:

    c0100074:   21 42 28 07     ldil ffffffffc0305000,r10
    c0100078:   35 4a 09 c0     ldo 4e0(r10),r10
    c010007c:   f5 40 0c 00     depdi 0,31,32,r10

as it would make it more clear exactly what's going on.


p.p.s.  anyone know why my piece of debug code:

        ldil            0xdecf0000, %r9

is getting assembled as:

    c0100000:   21 20 0f 00     ldil 78000000,r9

? ser pim hpmc dumps show the value 78000008 in r9, so i'm convinced it's
not objdump misdisassembling it.

-- 
Revolutions do not require corporate support.