[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [issues] arm gdb backtrace for read syscall



Carlos O'Donell a écrit :
> On Mon, Oct 20, 2008 at 10:38 AM, Matthieu CASTET
> <matthieu.castet@xxxxxxxxxx> wrote:
>> (gdb) thread 2
>> [Switching to thread 2 (Thread 723)]#0  0x40033844 in read ()
>>   from /opt/arm-eglibc/arm-none-linux-gnueabi/libc/lib/libpthread.so.0
>> Current language:  auto; currently asm
>> (gdb) bt
>> #0  0x40033844 in read ()
>>   from /opt/arm-eglibc/arm-none-linux-gnueabi/libc/lib/libpthread.so.0
>> #1  0x400330ac in __pthread_enable_asynccancel () at cancellation.c:42
>> #2  0x00000000 in ?? ()
>>
> 
> Thanks for the test case.
> 
> Are you using stripped libraries?
>
On the target the libraries are stripped but not on the host.

> Is there any debug information in the libraries?
Yes

For example for the pthread_join, I got [1]. Also there is debug
sections [2].

Didn't you manage to reproduce it ?

May be gdb use debug_frame infos, and the PSEUDO macro in
ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h miss cfi
annotation .
So gdb get lost by the push/pop in this function.

Matthieu


[1]

Program received signal SIGINT, Interrupt.
0x4002b8b8 in pthread_join (threadid=0x4095d490, thread_return=0xbecfdd64)
    at pthread_join.c:89
89          lll_wait_tid (pd->tid);

[2]
$ readelf -S
/opt/arm-eglibc/arm-none-linux-gnueabi/libc/lib/libpthread-2.7.so |grep
debug
  [29] .debug_aranges    PROGBITS        00000000 014df0 001510 00
0   0  8
  [30] .debug_pubnames   PROGBITS        00000000 016300 0027fb 00
0   0  1
  [31] .debug_info       PROGBITS        00000000 018afb 0672b5 00
0   0  1
  [32] .debug_abbrev     PROGBITS        00000000 07fdb0 010a03 00
0   0  1
  [33] .debug_line       PROGBITS        00000000 0907b3 01533d 00
0   0  1
  [34] .debug_frame      PROGBITS        00000000 0a5af0 00218c 00
0   0  4
  [35] .debug_str        PROGBITS        00000000 0a7c7c 006ae2 01  MS
0   0  1
  [36] .debug_loc        PROGBITS        00000000 0ae75e 016f79 00
0   0  1
  [37] .debug_ranges     PROGBITS        00000000 0c56d8 003578 00
0   0  8