Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Feb 2002 06:59:39 +0200 (SAT)
From:      John Hay <jhay@icomtek.csir.co.za>
To:        des@ofug.org (Dag-Erling Smorgrav)
Cc:        jhay@icomtek.csir.co.za (John Hay), obrien@FreeBSD.org, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/contrib/binutils
Message-ID:  <200202020459.g124xdL87420@zibbi.icomtek.csir.co.za>
In-Reply-To: <xzpd6zo25c4.fsf@flood.ping.uio.no> from Dag-Erling Smorgrav at "Feb 1, 2002 11:40:59 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> > #0  0x2805353a in reloc_non_plt (obj=0x0, obj_rtld=0x0)
> >     at /home/src/libexec/rtld-elf/i386/reloc.c:196
> > 196                     *where += (Elf_Addr) obj->relocbase;
> > [...]
> > It seems as if the stack or something gets clobbered in reloc_non_plt()
> > because obj has been used earlier in the function and didn't cause a bus
> > error then.
> 
> No.  The problem isn't obj, the problem is where, which is computed a
> few lines earlier, right before the switch:
> 
>             Elf_Addr *where = (Elf_Addr *) (obj->relocbase + rel->r_offset);
> 
> Try
> 
> (gdb) p where
> (gdb) p *obj
> (gdb) p *rel

(gdb) p where
$9 = (Elf_Addr *) 0x2808815d
(gdb) p *obj
Cannot access memory at address 0x0.
(gdb) p *rel
$10 = {r_offset = 115037, r_info = 8}
(gdb) 

> 
> where is probably way off in never-never land, which is possibly the
> result of a bug in binutils, and possibly the result of a bug in
> rtld-elf.  JDP should be able to help, given a proper backtrace.  I'll
> try to reproduce the problem and produce one.

What is a proper backtrace?

John
-- 
John Hay -- John.Hay@icomtek.csir.co.za / jhay@FreeBSD.org

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




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