http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55142



--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> 2012-10-31 08:26:10 
UTC ---

Patch doesn't work and elf_get_dynamic_info is miscompiled:



   0xf7dddc88 <+5224>:    neg    %eax

   0xf7dddc8a <+5226>:    lea    (%rcx,%rax,4),%eax

---Type <return> to continue, or q <return> to quit---

=> 0xf7dddc8d <+5229>:    mov    %edx,-0x40000300(%rax)



(gdb) p *(int *) $rax

Cannot access memory at address 0x37ffe064

(gdb) bt

#0  0xf7dddc8d in elf_get_dynamic_info (temp=0x0, l=0xf7ffdc18)

    at get-dynamic-info.h:61

#1  dl_main (phdr=<optimized out>, phnum=9, user_entry=<optimized out>, 

    auxv=<optimized out>) at rtld.c:1311

#2  0xf7df12a0 in _dl_sysdep_start (

    start_argptr=start_argptr@entry=0xffffd0c0, dl_main=<optimized out>)

    at ../elf/dl-sysdep.c:241

#3  0xf7ddfaa8 in _dl_start_final (arg=0xffffd0c0) at rtld.c:331

#4  _dl_start (arg=<optimized out>) at rtld.c:557

#5  0xf7ddc057 in _start ()

   from /export/build/gnu/glibc-x32-long/build-x86_64-linux/elf/ld.so

Reply via email to