rtems-addr2line not working on ARM?

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Sep 6 09:09:21 UTC 2019


On 06/09/2019 09:26, Sebastian Huber wrote:
> On 06/09/2019 09:01, Chris Johns wrote:
>> On 6/9/19 4:20 pm, Sebastian Huber wrote:
>>> Hello,
>>>
>>> I tried the rtems-addr2line on ARM and SPARC. On SPARC it seems to 
>>> work fine,
>>> however, on ARM I get this:
>>>
>>> rtems-addr2line -e 
>>> build/arm-rtems5-xilinx_zynq_a9_qemu-everything/media01.exe
>>> 0x0000135a
>>> /home/EB/sebastian_h/git-rtems-5/c/src/lib/libbsp/arm/xilinx-zynq/../../../../../../bsps/arm/shared/irq/irq-gic.c:264 
>>>
>>>
>>>
>>> addr2line -e 
>>> build/arm-rtems5-xilinx_zynq_a9_qemu-everything/media01.exe 0000135a
>>> /scratch/git-rtems-libbsd/build/arm-rtems5-xilinx_zynq_a9_qemu-everything/../../testsuite/include/rtems/bsd/test/default-network-init.h:179 
>>>
>>>
>>>
>>> The GNU tool is right. It is also considerably faster.
>> I would hope it is faster and exact. It has had many years of work on it,
>> written in C and not a means to test a C++ framework so we can grow an
>> ecosystem. I have stated its purpose before. I am perplexed by the 
>> intent of
>> this statement.
>>
>> If you want to compare performance I suggest you try the elftools one? 
>> There is
>> one. It is not built because GNU provides one and good one.
>>
>> Also be-careful as the exec call is not as fast as Linux on all the 
>> hosts we
>> support.
> 
> That the GNU tool is faster was just an observation.
> 
> Do we have a working library solution to get from an address to the 
> source line/function? I don't have time to debug the DWARF support code 
> at the moment.
> 
> I have a working solution using "addr2line" and rld::process::execute().

Thanks for the hint to the elftoolchain:

https://github.com/elftoolchain/elftoolchain/blob/trunk/addr2line/addr2line.c

To me it looks pretty complicated. It should be possible to refactor 
this code to use it as a library, e.g. call translate() for each address 
you need the source information.

I tried to debug the rld get_source() problem for more than two hours 
and the elftoolchain code looks similar. I am not sure what to do.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list