This is also PR#80 (http://www.opengroup.org:8000/lsb/publicpr/PRView?PR=0080).
Reproduced here to capture some more information beyond the discussion relating
to certification. This is an upstream behavior change in __cxa_demangle not
reflected by a symbol version change. It looks to me like the later behavior is
the correct one, and matches better what the spec says. If that's correct, then
the test should be updated as noted below.
/demangle/abi_examples/01.cc 1 FAIL
/demangle/abi_examples/02.cc 1 FAIL
The upstream source for these two tests has changed:
- verify_demangle("f", "error code = -2: invalid mangled name");
+ verify_demangle("f", "float");
The test changelog entry is from Feb 15, and says "Adjust for 2005-02-13
demangler change", and the matching ChangeLog in libiberty says: "cp-demangle.c
(__cxa_demangle): Change resolution of ambiguous arguments." The date is after
3.4.3 released, but before 3.4.4 or 4.0.0 released, so the changed code appears
in both of the latter versions.
It's been verified that the changed test passes against the new libraries, and
fails against the old.
Here are the various references:
Test code comments:
// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
#include <testsuite_hooks.h>
// Examples given in the IA64 C++ ABI
// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
The abi examples say:
f C function or variable "f" or a global namespace variable "f"
Working off the actual spec wording which says:
5.1.2 General Structure
Entities with C linkage and global namespace variables are not mangled.
--
Configure bugmail: http://bugs.linuxbase.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.