libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libunwind-devel] gold linker completely breaks libunwind


From: Peter Wu
Subject: Re: [Libunwind-devel] gold linker completely breaks libunwind
Date: Tue, 11 Aug 2015 01:34:40 +0200
User-agent: Mutt/1.5.23+64 (e44d7de51fa8) (2014-03-12)

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 <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]