This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: alpha bits


On Wed, Nov 15, 2000 at 10:15:39AM -0800, Benjamin Kosnik wrote:
> As Michael correctly guessed, this place is in the function performing
> the relocations (_dl_relocate_object).  I cannot say more.  ld.so
> should have all relocation types implemented and so all which is left
> are incorrect relocations.  Now you might want to ask rth.

0x8ed0c in _dl_relocate_object () at ../sysdeps/alpha/dl-machine.h:519
519               memcpy (&reloc_addr_val, reloc_addr_1, 8);
(gdb) ppc
0x8ed0c <_dl_relocate_object+1740>:     ldbu    t2,0(s0)
(gdb) p/a $s0
$1 = 0x200006a7a1e

00000200004b2000-0000020000618000 r-xp 0000000000000000 08:06 583087     /fidel/ity/bkoz/bld-alpha-gcc-3/alphaev6-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.3.0.0
0000020000618000-0000020000712000 ---p 0000000000166000 08:06 583087     /fidel/ity/bkoz/bld-alpha-gcc-3/alphaev6-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.3.0.0
0000020000712000-0000020000748000 rwxp 0000000000160000 08:06 583087     /fidel/ity/bkoz/bld-alpha-gcc-3/alphaev6-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.3.0.0

So the segfault is because we're relocating into effectively
unmapped memory.  Subtract the base address 200004b2000 from
the fault address 200006a7a1e and we find ...

Relocation section '.rela.debug_info' at offset 0x7bdb8 contains 690 entries:
  Offset    Info  Type            Symbol's Value  Symbol's Name          Addend
  001f5a1e  166200000002 R_ALPHA_REFQUAD       0000000000267520  _Q23stdt23__mal

It's a linker bug -- there should be no (mapped) dynamic
relocations against unmapped sections.


r~

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]