On Sun, Jul 26, 2015 at 10:40:03AM +0200, Milian Wolff wrote: > On Saturday, July 25, 2015 11:05:35 AM Arun Sharma wrote: > > On Thu, Jul 23, 2015 at 9:29 AM, Milian Wolff <[email protected]> wrote: > > > Hello all, > > > > > > I noticed today that gold completely breaks libunwind when you use it to > > > link libunwind itself. I use "GNU gold (GNU Binutils 2.25.0) 1.11" and > > > libunwind > > > from current git master. Running the tests, 13 fail, some even crash: > > Do you get different results if you revert this? I had one other > > report of problems with gold. > > > > http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=commit;h=68a2910bae7ed > > 1bff8e1e03cd7239bfd7e1cfe79 > > Yep, that makes it work. Can we either revert that one, or conditionally > revert it based on the gold linker version? I'm not sure whether that is > easily done though :-/
The original bug was about handling of libraries that were linked with a broken version of gold. With binutils 2.25.1 and -fuse-ld=gold I can also reproduce the crashes in the test suite, though not as severe: ========================================= libunwind 1.1: tests/test-suite.log ========================================= # TOTAL: 32 # PASS: 23 # SKIP: 0 # XFAIL: 2 # FAIL: 7 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: Gtest-resume-sig ====================== FAIL Gtest-resume-sig (exit status: 139) FAIL: Ltest-resume-sig ====================== FAIL Ltest-resume-sig (exit status: 139) FAIL: Gtest-resume-sig-rt ========================= FAIL Gtest-resume-sig-rt (exit status: 139) FAIL: Ltest-resume-sig-rt ========================= FAIL Ltest-resume-sig-rt (exit status: 139) XFAIL: Gtest-dyn1 ================= Too many steps (21) XFAIL Gtest-dyn1 (exit status: 255) XFAIL: Ltest-dyn1 ================= Too many steps (21) XFAIL Ltest-dyn1 (exit status: 255) FAIL: Gtest-trace ================= FAILURE: detected 4 errors FAILURE: unw_step() loop and unw_backtrace() depths differ: 3 vs. 7 FAILURE: unw_step() loop and backtrace() depths differ: 3 vs. 7 FAILURE: unw_step() loop and unw_backtrace() depths differ: 3 vs. 7 FAILURE: unw_step() loop and backtrace() depths differ: 3 vs. 7 FAIL Gtest-trace (exit status: 255) FAIL: Ltest-trace ================= FAILURE: detected 4 errors FAILURE: unw_step() loop and unw_backtrace() depths differ: 3 vs. 7 FAILURE: unw_step() loop and backtrace() depths differ: 3 vs. 7 FAILURE: unw_step() loop and unw_backtrace() depths differ: 3 vs. 7 FAILURE: unw_step() loop and backtrace() depths differ: 3 vs. 7 FAIL Ltest-trace (exit status: 255) FAIL: test-async-sig ==================== FAILURE: unw_step() returned -1 for ip=7fe2c2cbf6d8 FAIL test-async-sig (exit status: 139) Will further investigate it. Note that I also tried an ASAN build which has some other failure modes (even with the patch reverted). LSan hangs somewhere because it tries to report an issue and then calls libunwind... -- Kind regards, Peter Wu https://lekensteyn.nl _______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
