I tried to build the coredump2 branch on ia64 and fixed what I could (first patch). The code builds now and doesn't cause any test to fail that also doesn't fail on master branch. However, you have to disable build of libunwind-coredump.a, see below. I also wrote a simple automated test for coredump unwinding (second patch).
There are two remaining issues: 1. The source won't build on anything that is not i386/x86_64 Linux/FreeBSD, due to #error macros in coredump/, where platform-specific code is required. I see two possible solutions: disable building of libunwind-coredump.a in configure script for platforms that do not support it yet, or build it but with platform-specific functions always returning error code. 2. I don't know if ia64_find_unwind_table conforms to the function/visibility conventions used in the rest of the code. The patches are also available here: https://github.com/b42/libunwind/tree/coredump-test Let me know if there's anything else I can do. Martin * * * Martin Milata (2): Fix compilation on IA64 coredump: add test .gitignore | 2 + include/tdep-arm/libunwind_i.h | 1 + include/tdep-hppa/libunwind_i.h | 1 + include/tdep-ia64/libunwind_i.h | 1 + include/tdep-mips/libunwind_i.h | 1 + include/tdep-ppc32/libunwind_i.h | 1 + include/tdep-ppc64/libunwind_i.h | 1 + include/tdep-x86/libunwind_i.h | 1 + include/tdep-x86_64/libunwind_i.h | 1 + src/Makefile.am | 4 +- src/ia64/Gfind_unwind_table.c | 3 - src/ptrace/_UPT_find_proc_info.c | 2 +- src/ptrace/_UPT_get_dyn_info_list_addr.c | 2 +- tests/Makefile.am | 29 +++++++++++--- tests/crasher.c | 27 +++++++++++++ tests/run-coredump-unwind | 30 +++++++++++++++ tests/test-coredump-unwind.c | 60 ++++++++++++++++++++++++------ 17 files changed, 141 insertions(+), 26 deletions(-) create mode 100644 tests/crasher.c create mode 100755 tests/run-coredump-unwind -- 1.7.7.6 _______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
