pie segfaulting with 20070316

Rogelio Serrano rogelio.serrano at gmail.com
Sat Mar 17 16:01:32 UTC 2007


On 3/17/07, Rogelio Serrano <rogelio.serrano at gmail.com> wrote:
> is this a known problem with the uclibc DL?
>
> this is the gdb trace.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0xb7faca8a in elf_machine_relative (load_off=2147483648,
> rel_addr=2147484652, relative_count=3) at
> ./ldso/ldso/i386/dl-sysdep.h:79
> 79                      *reloc_addr += load_off;
> (gdb) bt
> #0  0xb7faca8a in elf_machine_relative (load_off=2147483648,
> rel_addr=2147484652, relative_count=3) at
> ./ldso/ldso/i386/dl-sysdep.h:79
> #1  0xb7fb1521 in _dl_fixup (rpnt=0xb7faa128, now_flag=0) at
> ldso/ldso/dl-elf.c:685
> #2  0xb7faea97 in _dl_get_ready_to_run (tpnt=0x0,
> load_addr=3086659584, auxvt=0xbfaacad8, envp=0xbfaaccdc,
> argv=0xbfaaccd4) at ldso/ldso/ldso.c:803
> #3  0xb7fac9a3 in _dl_start (args=1) at ldso/ldso/dl-startup.c:305
> #4  0xb7fac4f5 in _start () at ldso/ldso/i386/elfinterp.c:294
>
> this is the program:
>
>
> int
> main(void)
> {
>     return 0;
> }

The cause is a textrel with a value of 0x0. Look at the

Dynamic section at offset 0x8d4 contains 24 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libssp.so.0]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]
 0x0000000c (INIT)                       0x5a8
 0x0000000d (FINI)                       0x834
 0x00000004 (HASH)                       0x110
 0x00000005 (STRTAB)                     0x378
 0x00000006 (SYMTAB)                     0x1c8
 0x0000000a (STRSZ)                      239 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000015 (DEBUG)                      0x0
 0x00000003 (PLTGOT)                     0x19d0
 0x00000002 (PLTRELSZ)                   32 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x588
 0x00000011 (REL)                        0x4e0
 0x00000012 (RELSZ)                      168 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x00000016 (TEXTREL)                    0x0
 0x6ffffffe (VERNEED)                    0x4a0
 0x6fffffff (VERNEEDNUM)                 2
 0x6ffffff0 (VERSYM)                     0x468
 0x6ffffffa (RELCOUNT)                   9
 0x00000000 (NULL)                       0x0

-- 
the thing i like with my linux pc is that i can sum up my complaints in 5 items



More information about the uClibc mailing list