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 : > > phdm@dyn172:~/libunwind> make check > Making check in src > make[1]: Entering directory `/home/phdm/libunwind/src' > make check-am > make[2]: Entering directory `/home/phdm/libunwind/src' > make[2]: Nothing to be done for `check-am'. > make[2]: Leaving directory `/home/phdm/libunwind/src' > make[1]: Leaving directory `/home/phdm/libunwind/src' > Making check in tests > make[1]: Entering directory `/home/phdm/libunwind/tests' > make test-proc-info test-static-link test-strerror Gtest-bt Ltest-bt > Gtest-exc Ltest-exc Gtest-init Ltest-init Gtest-concurrent Ltest-concurrent > Gtest-resume-sig Ltest-resume-sig Gtest-resume-sig-rt Ltest-resume-sig-rt > Gtest-trace Ltest-trace Ltest-init-local-signal test-async-sig > test-flush-cache test-init-remote test-mem test-reg-state Ltest-varargs > Ltest-nomalloc Ltest-nocalloc Lrs-race test-ptrace test-setjmp > run-check-namespace run-ptrace-mapper run-ptrace-misc run-coredump-unwind > run-coredump-unwind-mdi > make[2]: Entering directory `/home/phdm/libunwind/tests' > make[2]: `test-proc-info' is up to date. > /bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -fexceptions -Wall > -Wsign-compare -static -o test-static-link test-static-link-loc.o > test-static-link-gen.o ../src/libunwind-arm.la > libtool: link: gcc -g -O2 -fexceptions -Wall -Wsign-compare -o > test-static-link test-static-link-loc.o test-static-link-gen.o > ../src/.libs/libunwind-arm.a /home/phdm/libunwind/src/.libs/libunwind.a > -lgcc_s -llzma -lc > /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 > make[2]: *** [test-static-link] Error 1 > make[2]: Leaving directory `/home/phdm/libunwind/tests' > make[1]: *** [check-am] Error 2 > make[1]: Leaving directory `/home/phdm/libunwind/tests' > make: *** [check-recursive] Error 1 > phdm@dyn172:~/libunwind>
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); _______________________________________________ Libunwind-devel mailing list Libunwind-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/libunwind-devel