rtems-addr2line not working on ARM?

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Sep 6 06:20:59 UTC 2019


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. The mapping to 
the function (-f option) get both tools right.

I don't understand the logic here:

     bool
     file::get_source (const unsigned int addr,
                       std::string&       source_file,
                       int&               source_line)
     {
[...]
       address match;

       for (auto& cu : cus)
       {
         address line;
         r = cu.get_source (addr, line);
         if (r)
         {

<-- Why is there a "match = line" in both cases?

           if (match.valid () &&
               (match.is_an_end_sequence () || !!line.is_an_end_sequence 
()))
           {
             match = line;
           }
           else
           {
             match = line;
           }
         }
       }
-- 
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