Repository navigation
edg_decode and the prelinker do not decode IA-64 mangled names on Linux
#240
thinkoid
started this conversation in
Issue Triage - General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Issue Summary
On Linux,
edg_decodepasses IA-64 mangled names through undecoded, and the prelinker warns "an error occurred during name decoding" on some of them.c++filtdecodes the same names. The prelinker's messages then print mangled names. Building a library of about 100 objects with automatic instantiation, we saw the warning 22 times.Observed Behavior
edg_decodeleaves every name in this list unchanged, including names with no template or namespace:c++filtgives:The prelinker, with this source:
The program links and runs. With the namespace named
nthere is no warning, but the assignment message still shows the mangled name,_ZN1n1fIiEET_S1_.Seen at e24bb9a with
linux-gcc-release,linux-gcc-debuggable-releaseandlinux-gcc-debug. The two latter fail the final link on-lCin our builds, after the prelinker has run; the warning is the same.Expected Behavior
edg_decodedecodes these names asc++filtdoes. The prelinker decodes them without a warning and prints decoded names in its messages, as in the expected output quoted in #68.Additional Details
The 22 names from the library build are all instances of one function template,
__rw::__rw_extract<charT, Traits, T>, forcharandwchar_twith eleven typesT:The test programs built against the library drew the same warning for 2,089 more distinct names.
I acknowledge that:
All reactions