Hello
I have a static linked binary, I want run it on a mipsel_24kc platform
with uclibc-ng-1.0.22.
But when I run it, it show Segmentation fault. I only have the binary,
no source code
This binary can run with uclibc0.9.33, have you any suggestion ?
exec output
_dl_get_ready_to_run:461: Cool, ldso survived making function calls
_dl_malloc:237: mmapping more memory
_dl_get_ready_to_run:671: calling mprotect on the application program
_dl_get_ready_to_run:1065: Loading: (0x772f1000) /lib/libdl.so.0
_dl_get_ready_to_run:1065: Loading: (0x772ce000) /lib/libgcc_s.so.1
_dl_load_elf_shared_library:825: Found TLS header for /lib/libc.so.0
_dl_load_elf_shared_library:852: Relocated TLS initial image from
0x93ee4 to 0x772b5ee4 (size = 0x4)
_dl_get_ready_to_run:1065: Loading: (0x77222000) /lib/libc.so.0
_dl_get_ready_to_run:1065: Loading: (0x77222000) /lib/libc.so.0
_dl_get_ready_to_run:1065: Loading: (0x7730c000) /lib/ld-uClibc.so.0
_dl_get_ready_to_run:1206: Calling init_tls()!
_dl_malloc:237: mmapping more memory
_dl_get_ready_to_run:1306: Beginning relocation fixups
_dl_get_ready_to_run:1336: Calling _dl_allocate_tls_init()!
Segmentation fault
gdb result
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) up
#1 0x77f6b3bc in __pthread_initialize_minimal_internal () at
libpthread/nptl/init.c:309
(gdb)
(gdb) info reg
zero at v0 v1 a0 a1 a2 a3
R0 00000000 7ffff950 77ff946c ffff900c 00000000 00200000 00000000 00000000
t0 t1 t2 t3 t4 t5 t6 t7
R8 00000000 7ffff95c 00000000 00000000 7ffff940 77f963b0 00000000 10000008
s0 s1 s2 s3 s4 s5 s6 s7
R16 77fe317c 77f4fbd0 77ff946c 00000003 77fed9f0 77fe54bc 77fedb30 77ffe004
t8 t9 k0 k1 gp sp s8 ra
R24 00000000 00000000 00000000 00000000 77f963b0 7ffff920 7ffff9e0 77f6b3bc
status lo hi badvaddr cause pc
0100fc13 00000000 0000000f 00000000 50800008 77f6b3bc
fcsr fir hi1 lo1 hi2 lo2 hi3 lo3
00000000 00730000 00000000 00000000 00000000 00000000 00000000 00000000
dspctl restart
00000000 00000000
(gdb)
asm
│0x77f6b37c <__pthread_initialize_minimal_internal+596> 0xa4180a
│0x77f6b380 <__pthread_initialize_minimal_internal+600> addiu v1,v1,-1
│0x77f6b384 <__pthread_initialize_minimal_internal+604> addu v1,v1,v0
│0x77f6b388 <__pthread_initialize_minimal_internal+608> negu v0,v0
│0x77f6b38c <__pthread_initialize_minimal_internal+612> and v0,v1,v0
│0x77f6b390 <__pthread_initialize_minimal_internal+616> lw s1,-29680(gp)
│0x77f6b394 <__pthread_initialize_minimal_internal+620> lw v1,-30256(gp)
│0x77f6b398 <__pthread_initialize_minimal_internal+624> move t9,s1
│0x77f6b39c <__pthread_initialize_minimal_internal+628> sw v0,0(v1)
│0x77f6b3a0 <__pthread_initialize_minimal_internal+632> jalr t9
│0x77f6b3a4 <__pthread_initialize_minimal_internal+636> sw v0,52(sp)
│0x77f6b3a8 <__pthread_initialize_minimal_internal+640> lw gp,16(sp)
│0x77f6b3ac <__pthread_initialize_minimal_internal+644> lw s0,-29664(gp)
│0x77f6b3b0 <__pthread_initialize_minimal_internal+648> lw t9,0(s0)
│0x77f6b3b4 <__pthread_initialize_minimal_internal+652> jalr t9
│0x77f6b3b8 <__pthread_initialize_minimal_internal+656> move s2,v0
│0x77f6b3bc
<__pthread_initialize_minimal_internal+660> lw gp,16(sp)
│0x77f6b3c0
<__pthread_initialize_minimal_internal+664> lw v0,0(v0)
│0x77f6b3c4 <__pthread_initialize_minimal_internal+668> lw v1,-30252(gp)
│0x77f6b3c8 <__pthread_initialize_minimal_internal+672> sw v0,0(s2)
│0x77f6b3cc <__pthread_initialize_minimal_internal+676> lw v0,-29888(gp)
│0x77f6b3d0 <__pthread_initialize_minimal_internal+680> lw a1,-30248(gp)
│0x77f6b3d4 <__pthread_initialize_minimal_internal+684> lw a0,-30372(gp)
│0x77f6b3d8 <__pthread_initialize_minimal_internal+688> lw t9,-29472(gp)
│0x77f6b3dc <__pthread_initialize_minimal_internal+692> sw v1,0(v0)
│0x77f6b3e0 <__pthread_initialize_minimal_internal+696> jalr t9
libpthread/nptl/init.c:309
#ifdef SHARED
/* Transfer the old value from the dynamic linker's internal location. */
*__libc_dl_error_tsd () = *(*GL(dl_error_catch_tsd)) ();
GL(dl_error_catch_tsd) = &__libc_dl_error_tsd;
#endif
BR