RE: regression in qmtest_libstdcpp
"Wichmann, Mats D" <[email protected]>
| Newsgroups | gmane.linux.lsb.test-suite |
|---|---|
| Message-ID | <A06801158AE07847B27A52C1A074BC1D08502F4A@fmsmsx404.amr.corp.intel.com> |
>>Reviewing the gcc-4.0.1 source, I see the upstream tests have
>changed, ...
>>
>>- verify_demangle("f", "error code = -2: invalid mangled name");
>>+ verify_demangle("f", "float");
>>
>>Making the above change in the qmtest source tree and re-running
>>build_binary_testsuite, they now pass in that environment (they were
>>failing in the same manner as the binary test suite)
>>
>>Testing against our 10.2 release with libstdc++.so.6 built
>>from gcc-3.4.3, the tests pass.
Stew confirmed on IRC that the updated test fails against
an old library, which wasn't a surprise, but good to know.
>The test changelog entry is from Feb 15, and says "Adjust for
>2005-02-13 demangler change". I don't actually see a changelog
>entry in gcc that would indicate such a change, nonetheless,
>the date on this is after the 3.4.3 release, but before the
>3.4.4, 4.0, or 4.0.1 releases.
Okay, I found the entry, it was in libiberty where I didn't
think to look first. This is from the 3.4 branch:
2005-05-19 Release Manager
* GCC 3.4.4 released.
2005-02-13 Jason Merrill <[email protected]>
* cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
arguments.
2004-11-04 Release Manager
* GCC 3.4.3 released
Here are the various references:
// 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
Which says:
f C function or variable "f" or a global namespace variable "f"
Working off the spec wording which says:
5.1.2 General Structure
Entities with C linkage and global namespace variables are not mangled.