Hi Chris, Getting some build errors here. It complains about dwarf.h and libdwarf.h so theres 2 packages that I can get them from but both end up producing some problems. 'Elf' has a previous declaration in one and missing typedef for the other. Is there a particular version of these libraries that you are using?
sudo apt-get install libdwarf-freebsd-dev Theres a typedef error for Dwarf_Handler and Dwarf_Sig8 cpod@cpod ~/development/rtems/test/rtems-tools $ ./waf Waf: Entering directory `/home/cpod/development/rtems/test/rtems-tools/build' [188/229] Compiling tester/covoar/app_common.cc [189/229] Compiling tester/covoar/CoverageFactory.cc [193/229] Compiling tester/covoar/CoverageReaderBase.cc [194/229] Compiling tester/covoar/CoverageReaderQEMU.cc In file included from ../rtemstoolkit/rld-dwarf.h:29:0, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/CoverageReaderBase.h:10, from ../tester/covoar/CoverageFactory.h:12, from ../tester/covoar/CoverageFactory.cc:13: ../rtemstoolkit/rld-dwarf-types.h:39:15: error: ‘Dwarf_Handler’ in namespace ‘::’ does not name a type typedef ::Dwarf_Handler dwarf_handler; ^ ../rtemstoolkit/rld-dwarf-types.h:50:15: error: ‘Dwarf_Sig8’ in namespace ‘::’ does not name a type typedef ::Dwarf_Sig8 dwarf_sig8; ^ In file included from ../rtemstoolkit/rld-dwarf.h:29:0, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/CoverageReaderBase.h:10, from ../tester/covoar/CoverageReaderBase.cc:8: ../rtemstoolkit/rld-dwarf-types.h:39:15: error: ‘Dwarf_Handler’ in namespace ‘::’ does not name a type typedef ::Dwarf_Handler dwarf_handler; ^ ../rtemstoolkit/rld-dwarf-types.h:50:15: error: ‘Dwarf_Sig8’ in namespace ‘::’ does not name a type typedef ::Dwarf_Sig8 dwarf_sig8; ^ In file included from ../rtemstoolkit/rld-dwarf.h:29:0, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/DesiredSymbols.h:17, from ../tester/covoar/app_common.h:11, from ../tester/covoar/app_common.cc:40: ../rtemstoolkit/rld-dwarf-types.h:39:15: error: ‘Dwarf_Handler’ in namespace ‘::’ does not name a type typedef ::Dwarf_Handler dwarf_handler; ^ ../rtemstoolkit/rld-dwarf-types.h:50:15: error: ‘Dwarf_Sig8’ in namespace ‘::’ does not name a type typedef ::Dwarf_Sig8 dwarf_sig8; ^ In file included from ../rtemstoolkit/rld-dwarf.h:29:0, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/DesiredSymbols.h:17, from ../tester/covoar/app_common.h:11, from ../tester/covoar/CoverageReaderQEMU.cc:14: ../rtemstoolkit/rld-dwarf-types.h:39:15: error: ‘Dwarf_Handler’ in namespace ‘::’ does not name a type typedef ::Dwarf_Handler dwarf_handler; ^ ../rtemstoolkit/rld-dwarf-types.h:50:15: error: ‘Dwarf_Sig8’ in namespace ‘::’ does not name a type typedef ::Dwarf_Sig8 dwarf_sig8; ^ Waf: Leaving directory `/home/cpod/development/rtems/test/rtems-tools/build' Build failed -> task in 'ccovoar' failed with exit status 1 (run with -v to display more information) -> task in 'ccovoar' failed with exit status 1 (run with -v to display more information) -> task in 'ccovoar' failed with exit status 1 (run with -v to display more information) -> task in 'ccovoar' failed with exit status 1 (run with -v to display more information) -------------------------------------------------------------------------------------------------------------- If I chose sudo apt-get install libdwarf-dev theres a conflict with 'Elf' having a previous declaration. Waf: Entering directory `/home/cpod/development/rtems/test/rtems-tools/build' [138/229] Linking build/rtemstoolkit/libdwarf.a [177/229] Linking build/linkers/rtems-ld [179/229] Linking build/linkers/rtems-ra [181/229] Linking build/linkers/rtems-tld [183/229] Linking build/linkers/rtems-syms [189/229] Linking build/linkers/rtems-rap [190/229] Linking build/linkers/rtems-exeinfo [191/229] Compiling tester/covoar/app_common.cc [192/229] Compiling tester/covoar/CoverageFactory.cc [193/229] Compiling tester/covoar/CoverageReaderBase.cc [194/229] Compiling tester/covoar/CoverageReaderQEMU.cc In file included from ../rtemstoolkit/rld-dwarf-types.h:29:0, from ../rtemstoolkit/rld-dwarf.h:29, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/DesiredSymbols.h:17, from ../tester/covoar/app_common.h:11, from ../tester/covoar/app_common.cc:40: /usr/include/libdwarf.h:66:8: error: using typedef-name ‘Elf’ after ‘struct’ struct Elf; ^ In file included from ../rtemstoolkit/elftoolchain/libelf/gelf.h:32:0, from ../rtemstoolkit/rld-elf-types.h:29, from ../rtemstoolkit/rld.h:72, from ../rtemstoolkit/rld-dwarf.h:28, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/DesiredSymbols.h:17, from ../tester/covoar/app_common.h:11, from ../tester/covoar/app_common.cc:40: ../rtemstoolkit/elftoolchain/libelf/libelf.h:43:21: note: ‘Elf’ has a previous declaration here typedef struct _Elf Elf; ^ In file included from ../rtemstoolkit/rld-dwarf-types.h:29:0, from ../rtemstoolkit/rld-dwarf.h:29, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/DesiredSymbols.h:17, from ../tester/covoar/app_common.h:11, from ../tester/covoar/app_common.cc:40: /usr/include/libdwarf.h:67:16: error: using typedef-name ‘Elf’ after ‘struct’ typedef struct Elf* dwarf_elf_handle; ^ In file included from ../rtemstoolkit/elftoolchain/libelf/gelf.h:32:0, from ../rtemstoolkit/rld-elf-types.h:29, from ../rtemstoolkit/rld.h:72, from ../rtemstoolkit/rld-dwarf.h:28, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/DesiredSymbols.h:17, from ../tester/covoar/app_common.h:11, from ../tester/covoar/app_common.cc:40: ../rtemstoolkit/elftoolchain/libelf/libelf.h:43:21: note: ‘Elf’ has a previous declaration here typedef struct _Elf Elf; ^ In file included from ../rtemstoolkit/rld-dwarf-types.h:29:0, from ../rtemstoolkit/rld-dwarf.h:29, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/CoverageReaderBase.h:10, from ../tester/covoar/CoverageFactory.h:12, from ../tester/covoar/CoverageFactory.cc:13: /usr/include/libdwarf.h:66:8: error: using typedef-name ‘Elf’ after ‘struct’ struct Elf; ^ In file included from ../rtemstoolkit/elftoolchain/libelf/gelf.h:32:0, from ../rtemstoolkit/rld-elf-types.h:29, from ../rtemstoolkit/rld.h:72, from ../rtemstoolkit/rld-dwarf.h:28, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/CoverageReaderBase.h:10, from ../tester/covoar/CoverageFactory.h:12, from ../tester/covoar/CoverageFactory.cc:13: ../rtemstoolkit/elftoolchain/libelf/libelf.h:43:21: note: ‘Elf’ has a previous declaration here typedef struct _Elf Elf; ^ In file included from ../rtemstoolkit/rld-dwarf-types.h:29:0, from ../rtemstoolkit/rld-dwarf.h:29, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/CoverageReaderBase.h:10, from ../tester/covoar/CoverageFactory.h:12, from ../tester/covoar/CoverageFactory.cc:13: /usr/include/libdwarf.h:67:16: error: using typedef-name ‘Elf’ after ‘struct’ typedef struct Elf* dwarf_elf_handle; ^ In file included from ../rtemstoolkit/elftoolchain/libelf/gelf.h:32:0, from ../rtemstoolkit/rld-elf-types.h:29, from ../rtemstoolkit/rld.h:72, from ../rtemstoolkit/rld-dwarf.h:28, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/CoverageReaderBase.h:10, from ../tester/covoar/CoverageFactory.h:12, from ../tester/covoar/CoverageFactory.cc:13: ../rtemstoolkit/elftoolchain/libelf/libelf.h:43:21: note: ‘Elf’ has a previous declaration here typedef struct _Elf Elf; ^ In file included from ../rtemstoolkit/rld-dwarf-types.h:29:0, from ../rtemstoolkit/rld-dwarf.h:29, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/CoverageReaderBase.h:10, from ../tester/covoar/CoverageReaderBase.cc:8: /usr/include/libdwarf.h:66:8: error: using typedef-name ‘Elf’ after ‘struct’ struct Elf; ^ In file included from ../rtemstoolkit/elftoolchain/libelf/gelf.h:32:0, from ../rtemstoolkit/rld-elf-types.h:29, from ../rtemstoolkit/rld.h:72, from ../rtemstoolkit/rld-dwarf.h:28, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/CoverageReaderBase.h:10, from ../tester/covoar/CoverageReaderBase.cc:8: ../rtemstoolkit/elftoolchain/libelf/libelf.h:43:21: note: ‘Elf’ has a previous declaration here typedef struct _Elf Elf; ^ In file included from ../rtemstoolkit/rld-dwarf-types.h:29:0, from ../rtemstoolkit/rld-dwarf.h:29, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/CoverageReaderBase.h:10, from ../tester/covoar/CoverageReaderBase.cc:8: /usr/include/libdwarf.h:67:16: error: using typedef-name ‘Elf’ after ‘struct’ typedef struct Elf* dwarf_elf_handle; ^ In file included from ../rtemstoolkit/elftoolchain/libelf/gelf.h:32:0, from ../rtemstoolkit/rld-elf-types.h:29, from ../rtemstoolkit/rld.h:72, from ../rtemstoolkit/rld-dwarf.h:28, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/CoverageReaderBase.h:10, from ../tester/covoar/CoverageReaderBase.cc:8: ../rtemstoolkit/elftoolchain/libelf/libelf.h:43:21: note: ‘Elf’ has a previous declaration here typedef struct _Elf Elf; ^ In file included from ../rtemstoolkit/rld-dwarf-types.h:29:0, from ../rtemstoolkit/rld-dwarf.h:29, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/DesiredSymbols.h:17, from ../tester/covoar/app_common.h:11, from ../tester/covoar/CoverageReaderQEMU.cc:14: /usr/include/libdwarf.h:66:8: error: using typedef-name ‘Elf’ after ‘struct’ struct Elf; ^ In file included from ../rtemstoolkit/elftoolchain/libelf/gelf.h:32:0, from ../rtemstoolkit/rld-elf-types.h:29, from ../rtemstoolkit/rld.h:72, from ../rtemstoolkit/rld-dwarf.h:28, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/DesiredSymbols.h:17, from ../tester/covoar/app_common.h:11, from ../tester/covoar/CoverageReaderQEMU.cc:14: ../rtemstoolkit/elftoolchain/libelf/libelf.h:43:21: note: ‘Elf’ has a previous declaration here typedef struct _Elf Elf; ^ In file included from ../rtemstoolkit/rld-dwarf-types.h:29:0, from ../rtemstoolkit/rld-dwarf.h:29, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/DesiredSymbols.h:17, from ../tester/covoar/app_common.h:11, from ../tester/covoar/CoverageReaderQEMU.cc:14: /usr/include/libdwarf.h:67:16: error: using typedef-name ‘Elf’ after ‘struct’ typedef struct Elf* dwarf_elf_handle; ^ In file included from ../rtemstoolkit/elftoolchain/libelf/gelf.h:32:0, from ../rtemstoolkit/rld-elf-types.h:29, from ../rtemstoolkit/rld.h:72, from ../rtemstoolkit/rld-dwarf.h:28, from ../tester/covoar/ExecutableInfo.h:14, from ../tester/covoar/DesiredSymbols.h:17, from ../tester/covoar/app_common.h:11, from ../tester/covoar/CoverageReaderQEMU.cc:14: ../rtemstoolkit/elftoolchain/libelf/libelf.h:43:21: note: ‘Elf’ has a previous declaration here typedef struct _Elf Elf; ^ Waf: Leaving directory `/home/cpod/development/rtems/test/rtems-tools/build' Build failed -> task in 'ccovoar' failed with exit status 1 (run with -v to display more information) -> task in 'ccovoar' failed with exit status 1 (run with -v to display more information) -> task in 'ccovoar' failed with exit status 1 (run with -v to display more information) -> task in 'ccovoar' failed with exit status 1 (run with -v to display more information) On 5 May 2018 at 09:40, Chris Johns <chr...@rtems.org> wrote: > Hi > > The patch series adds 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. > > The patches build and the source line details are loaded from the DWARF > debug info. I however do not have any coverage data to check the change > cleanly replaces the existing addr2line calls. > > If someone can run the existing covoar and then this build of covoar and > confirm the source files and lines match. If there are issues please let > me know. > > Chris > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel