Hi Dave, On Thu, Aug 24, 2017 at 09:36:12AM -0700, Dave Watson wrote: > On 08/23/17 11:30 AM, Philippe De Muyter wrote: > > Hi, > > > > I cloned libunwind yesterday (hash e9e50d0) and built it on my armv7hl > > board with suse linux 13.1. > > > > Unfortunately, 'make check' fails with : > > > > /home/phdm/libunwind/src/.libs/libunwind.a(Lex_tables.o): In function > > `arm_search_unwind_table': > > /home/phdm/libunwind/src/arm/Gex_tables.c:388: multiple definition of > > `arm_search_unwind_table' > > ../src/.libs/libunwind-arm.a(Gex_tables.o):/home/phdm/libunwind/src/arm/Gex_tables.c:388: > > first defined here > > collect2: error: ld returned 1 exit status > > One of these two should work, not sure which: > > diff --git a/src/arm/Gex_tables.c b/src/arm/Gex_tables.c > index 3f6b5cf..88c36a3 100644 > --- a/src/arm/Gex_tables.c > +++ b/src/arm/Gex_tables.c > @@ -381,7 +381,7 @@ arm_exidx_extract (struct dwarf_cursor *c, uint8_t *buf) > return nbuf; > } > > -PROTECTED int > +static int > arm_search_unwind_table (unw_addr_space_t as, unw_word_t ip, > unw_dyn_info_t *di, unw_proc_info_t *pi, > int need_unwind_info, void *arg) > > > or maybe > > diff --git a/include/tdep-arm/ex_tables.h b/include/tdep-arm/ex_tables.h > index 9df5e0a..0b5388a 100644 > --- a/include/tdep-arm/ex_tables.h > +++ b/include/tdep-arm/ex_tables.h > @@ -47,6 +47,7 @@ struct arm_exbuf_data > #define arm_exidx_extract UNW_OBJ(arm_exidx_extract) > #define arm_exidx_decode UNW_OBJ(arm_exidx_decode) > #define arm_exidx_apply_cmd UNW_OBJ(arm_exidx_apply_cmd) > +#define arm_search_unwind_table UNW_OBJ(arm_search_unwind_table) > > int arm_exidx_extract (struct dwarf_cursor *c, uint8_t *buf); > int arm_exidx_decode (const uint8_t *buf, uint8_t len, struct dwarf_cursor > *c);
Both patches solve the link error, but the check results are not good :( The first patch gives slightly better results (19 FAIL's instead of 20) I have attached both logs Philippe
========================================= libunwind 1.2: tests/test-suite.log ========================================= # TOTAL: 34 # PASS: 13 # SKIP: 0 # XFAIL: 2 # FAIL: 19 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: Gtest-bt ============== FAIL Gtest-bt (exit status: 139) FAIL: Ltest-bt ============== FAIL Ltest-bt (exit status: 139) FAIL: Gtest-init ================ FAIL Gtest-init (exit status: 139) FAIL: Ltest-init ================ FAIL Ltest-init (exit status: 139) FAIL: Gtest-concurrent ====================== FAIL Gtest-concurrent (exit status: 139) FAIL: Ltest-concurrent ====================== FAIL Ltest-concurrent (exit status: 139) FAIL: Gtest-trace ================= FAIL Gtest-trace (exit status: 139) FAIL: Ltest-trace ================= FAIL Ltest-trace (exit status: 139) FAIL: Ltest-init-local-signal ============================= FAIL Ltest-init-local-signal (exit status: 139) FAIL: test-async-sig ==================== FAIL test-async-sig (exit status: 139) FAIL: test-flush-cache ====================== FAIL test-flush-cache (exit status: 139) FAIL: test-init-remote ====================== FAIL test-init-remote (exit status: 139) FAIL: Ltest-varargs =================== FAIL Ltest-varargs (exit status: 139) FAIL: Ltest-nomalloc ==================== FAIL Ltest-nomalloc (exit status: 139) FAIL: Ltest-nocalloc ==================== FAIL Ltest-nocalloc (exit status: 139) FAIL: Lrs-race ============== FAIL Lrs-race (exit status: 139) FAIL: test-ptrace ================= Automated test (self,/bin/ls,/usr,(null)) unw_get_proc_info(ip=0x76f151a0) failed: ret=-10 FAIL test-ptrace (exit status: 139) XFAIL: run-ptrace-mapper ======================== unw_get_proc_info(ip=0x76df8d9c) failed: ret=-10 ./run-ptrace-mapper: line 2: 31022 Segmentation fault ./test-ptrace -c -n -t ./mapper $* XFAIL run-ptrace-mapper (exit status: 139) XFAIL: run-ptrace-misc ====================== unw_get_proc_info(ip=0x76e00d9c) failed: ret=-10 ./run-ptrace-misc: line 2: 31043 Segmentation fault ./test-ptrace -c -t ./test-ptrace-misc XFAIL run-ptrace-misc (exit status: 139) FAIL: run-coredump-unwind ========================= FAIL run-coredump-unwind (exit status: 1) FAIL: run-coredump-unwind-mdi ============================= FAIL run-coredump-unwind-mdi (exit status: 1)
========================================= libunwind 1.2: tests/test-suite.log ========================================= # TOTAL: 34 # PASS: 12 # SKIP: 0 # XFAIL: 2 # FAIL: 20 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: Gtest-bt ============== FAIL Gtest-bt (exit status: 139) FAIL: Ltest-bt ============== FAIL Ltest-bt (exit status: 139) FAIL: Gtest-init ================ FAIL Gtest-init (exit status: 139) FAIL: Ltest-init ================ FAIL Ltest-init (exit status: 139) FAIL: Gtest-concurrent ====================== FAIL Gtest-concurrent (exit status: 139) FAIL: Ltest-concurrent ====================== FAIL Ltest-concurrent (exit status: 139) FAIL: Gtest-trace ================= FAIL Gtest-trace (exit status: 139) FAIL: Ltest-trace ================= FAIL Ltest-trace (exit status: 139) FAIL: Ltest-init-local-signal ============================= FAIL Ltest-init-local-signal (exit status: 139) FAIL: test-async-sig ==================== FAIL test-async-sig (exit status: 139) FAIL: test-flush-cache ====================== FAIL test-flush-cache (exit status: 139) FAIL: test-init-remote ====================== FAIL test-init-remote (exit status: 139) FAIL: Ltest-varargs =================== FAIL Ltest-varargs (exit status: 139) FAIL: Ltest-nomalloc ==================== FAIL Ltest-nomalloc (exit status: 139) FAIL: Ltest-nocalloc ==================== FAIL Ltest-nocalloc (exit status: 139) FAIL: Lrs-race ============== FAIL Lrs-race (exit status: 139) FAIL: test-ptrace ================= Automated test (self,/bin/ls,/usr,(null)) unw_get_proc_info(ip=0x76fe91a0) failed: ret=-10 FAIL test-ptrace (exit status: 139) FAIL: run-check-namespace ========================= ERROR: Extraneous symbols: 0000478c T _ULarm_arm_search_unwind_table ERROR: Extraneous symbols: 00005670 T _Uarm_arm_search_unwind_table FAILURE: Detected 2 errors FAIL run-check-namespace (exit status: 1) XFAIL: run-ptrace-mapper ======================== unw_get_proc_info(ip=0x76e0ed9c) failed: ret=-10 ./run-ptrace-mapper: line 2: 24004 Segmentation fault ./test-ptrace -c -n -t ./mapper $* XFAIL run-ptrace-mapper (exit status: 139) XFAIL: run-ptrace-misc ====================== unw_get_proc_info(ip=0x76dfdd9c) failed: ret=-10 ./run-ptrace-misc: line 2: 24025 Segmentation fault ./test-ptrace -c -t ./test-ptrace-misc XFAIL run-ptrace-misc (exit status: 139) FAIL: run-coredump-unwind ========================= FAIL run-coredump-unwind (exit status: 1) FAIL: run-coredump-unwind-mdi ============================= FAIL run-coredump-unwind-mdi (exit status: 1)
_______________________________________________ Libunwind-devel mailing list Libunwind-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/libunwind-devel