libunwind-devel
[Top][All Lists]
Advanced

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

Re: [Libunwind-devel] unw_step() fails at aarch64


From: Dave Watson
Subject: Re: [Libunwind-devel] unw_step() fails at aarch64
Date: Tue, 3 Oct 2017 09:09:53 -0700
User-agent: Mutt/1.6.0 (2016-04-01)

On 09/29/17 09:48 PM, Bingzheng Wu wrote:
> Hi all
> 
> I use libunwind at aarch64, but unw_step() fails.
> 
> Machine: Raspberry Pi 3B
> OS: SUSE Linux Enterprise Server
> [https://urldefense.proofpoint.com/v2/url?u=https-3A__www.suse.com_products_arm_raspberry-2Dpi_&d=DwICAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vou6lT5jmE_fWQWZZgNrsMWu4RT87QAB9V07tPHlP5U&m=r0pyTsM85cT0L4vwRpatiU8zRUpyLyIBTJFvuTXPAwI&s=dS3FN1I_eYJcl-YDu1Zx1ID4ftvVuCDiH_o2yD6cIN8&e=
>  ]
> Version of libunwind: 1.12.1
> 
> I just use the sample code in the man page
> [https://urldefense.proofpoint.com/v2/url?u=http-3A__www.nongnu.org_libunwind_man_libunwind-283-29.html&d=DwICAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vou6lT5jmE_fWQWZZgNrsMWu4RT87QAB9V07tPHlP5U&m=r0pyTsM85cT0L4vwRpatiU8zRUpyLyIBTJFvuTXPAwI&s=Su-y7JDyDrX9j4K8mIRdQ-nPxJKjML7dsTZIeGnyCQA&e=
>  ] , but it fails
> with the debug output:
> 
> ====
>  >_ULaarch64_init_local: (cursor=0xffffdd72d120)
>  >_ULaarch64_step: (cursor=0xffffdd72d120, ip=0x0000000000400b8c,
> cfa=0x0000ffffdd72bf30))
>                 >access_mem: mem[400b8c] -> 531f7800b9401fa0
>                 >get_rs_cache: acquiring lock
>               >_ULaarch64_dwarf_find_proc_info: looking for IP=0x400b8b
>                >_ULaarch64_dwarf_callback: checking , base=0x0)
>                >_ULaarch64_dwarf_callback: found table `':
> segbase=0x400ce4, len=2, gp=0x41ffe8, table_data=0x400cf0
>                >lookup: e->start_ip_offset = ffffffffffffff7c
>                >lookup: e->start_ip_offset = ffffffffffffff04
>  >_ULaarch64_dwarf_search_unwind_table: IP 400b8b inside range
> 400000-400d6c, but no explicit unwind info found
>                 >put_rs_cache: unmasking signals/interrupts and releasing lock
>                >_ULaarch64_dwarf_step: returning -10
>  >_ULaarch64_step: dwarf_step()=-10
> ====
> 
> It seem that dwarf_search_unwind_table() returns -UNW_ENOINFO(-10).
> 
> Dose anyone have the same problem?
> Anyone has idea?

Without more info, it sounds like missing unwind info? Maybe check
using readelf if you have unwind info for IP 400b8b. 

In older gcc versions it was sometimes necessary to pass extra flags,
like -funwind-tables, -fasynchronous-unwind-tables, or -fexceptions,
-fnon-call-exceptions, etc to get full unwind info for all IPs



reply via email to

[Prev in Thread] Current Thread [Next in Thread]