Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 02 Nov 2020 11:19:19 +0000
From:      bugzilla-noreply@freebsd.org
To:        toolchain@FreeBSD.org
Subject:   [Bug 250702] c++filt crashes on a symbol representing a C++ lambda function
Message-ID:  <bug-250702-29464-1eAiJTWYtV@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-250702-29464@https.bugs.freebsd.org/bugzilla/>
References:  <bug-250702-29464@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D250702

--- Comment #14 from Dimitry Andric <dim@FreeBSD.org> ---
(In reply to Yuri Victorovich from comment #13)
Yes, the elftoolchain demangler misses a few more modern features, and its
development does not seem very active. (Not necessarily for the other parts=
 of
elftoolchain such as libelf, btw.)

That said, with the fixes I've proposed for upstream, only the lambda examp=
les
don't demangle correctly, but the rest does. E.g. I now get:

_ZZ5func1vENK3$_0clEv ->
func1()::$_0::operator()() const

_ZZN7WebCore19SVGAnimatedProperty20LookupOrCreateHelperINS_32SVGAnimatedSta=
ticPropertyTearOffIbEEbLb1EE21lookupOrCreateWrapperEPNS_10SVGElementEPKNS_1=
5SVGPropertyInfoERbE19__PRETTY_FUNCTION__
->
WebCore::SVGAnimatedProperty::LookupOrCreateHelper<WebCore::SVGAnimatedStat=
icPropertyTearOff<bool>,
bool, true>::lookupOrCreateWrapper(WebCore::SVGElement*,
WebCore::SVGPropertyInfo const*, bool&)::__PRETTY_FUNCTION__

_ZNSt3__116__copy_unalignedINS_6vectorIbNS_9allocatorIbEEEELb0EEENS_14__bit=
_iteratorIT_Lb0EXLi0EEEENS5_IS6_XT0_EXLi0EEEES8_S7_
->
std::__1::__bit_iterator<bool, false, 0>
std::__1::__copy_unaligned<std::__1::vector<bool, std::__1::allocator<bool>=
 >,
false>(std::__1::__bit_iterator<bool, std::__1::allocator<bool>, 0>,
std::__1::__bit_iterator<bool, std::__1::allocator<bool>, 0>,
std::__1::__bit_iterator<bool, false, 0>)

_ZZN10half_float6detail15half2float_implEjfNSt3__117integral_constantIbLb1E=
EEE14exponent_table
->
half_float::detail::half2float_impl(unsigned int, float,
std::__1::integral_constant<bool, true>)::exponent_table


So the remaining one is:

_ZZN9libunwind17LocalAddressSpace18findUnwindSectionsEjRNS_18UnwindInfoSect=
ionsEENUlP12dl_phdr_infojPvE_8__invokeES4_jS5_

That said, it might be more future-proof if we import libcxxabi from the ll=
vm
project into contrib, and start building that, at least for its demangler
support. At some point it might even replace libcxxrt, or serve as a drop-in
replacement.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-250702-29464-1eAiJTWYtV>