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>