Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Feb 2002 12:09:06 -0500 (EST)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        obrien@freebsd.org
Cc:        freebsd-alpha@freebsd.org, peter@freebsd.org, jdp@freebsd.org
Subject:   more on recent current alpha rtld/binutils breakage.
Message-ID:  <15460.1586.888567.63521@grasshopper.cs.duke.edu>

next in thread | raw e-mail | index | archive | help


I've found that if one links ld-elf.so.1 with the new ld, then it
produces an ld-elf.so.1 which will SEGV all dynamic bins.  However, if
you link it with the old ld, the resulting ld-elf.so.1 seems to work fine.

The SEGVs happen like this:

fatal user trap:

    trap entry     = 0x2 (memory management fault)
    faulting va    = 0x7540
    type           = access violation
    cause          = instruction fetch
    pc             = 0x7540
    ra             = 0x1600193a0
    sp             = 0xfffffe000b7d5e58
    usp            = 0x11fff6c0
    curthread      = 0xfffffe000b343760
        pid = 232, comm = du

(gotta love using printtrap to debug userland code...)

0x7540 is the address of _rtld:

nm -n /usr/testworld/usr/libexec/ld-elf.so.1 | grep 7540
0000000000007540 T _rtld
0000000000007540 t gcc2_compiled.


I think this implies that either the kernel isn't setting up the map
correctly, or that the elf header is wrong & its not marked
executable.

_rtld seems to be in the text section:

  5 .text         00012d20  0000000000007340  0000000000007340 00007340  2**5

I'm not sure I have enough elf fu to take this much further..  

help?


Drew





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15460.1586.888567.63521>