V2 Add DWARF support to the rtemstoolkit and put it to use.

Chris Johns chrisj at rtems.org
Tue May 8 05:09:37 UTC 2018


Hi,

This is a wrap up patch of all the issues that have been raise. Thanks to
the excellent debugging and teamwork in finding the linking issue on Linux,
that is a really strange one to trip over.

The patches:

- Add a DWARF framework to the rtemstoolkit to access the
  source file and line given an address in an executable. This allows
  us to remove exec'ing addr2line in covoar.

- Add producer support to rtems-exe-info to list the compilers used
  to build the executables plus list the common flags and optionally
  list all the object files with the flags that are not common.

- Clean up exception handling in destructors in some places. This
  avoids a terminate if an exception is thrown in an exception
  unwind.

Changes since v1:

- Fix rld::path::path_abs() to not walk above the root directory.

- Fix a memory issue with the dwarf_srcfiles(). The libdwarf we are
  using manages all memory and does not need to have it dealloced
  while the man pages state it should be.

- Add producer support to collect and manage CU producer attributes.

- Remove libgen.h from covoar and use RLD path. I have not tested
  those changes.

I recommend anyone shipping RTEMS executables to run rtems-exe-info over
your executables and have a look. It will let you know if you are using
the same compiler in all parts as well as listing the machine flags
used to control GCC.

Chris



More information about the devel mailing list