This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] make check-abi

Benjamin Kosnik wrote:
> Adds 'make check-abi' to libstdc++'s test routines. When run, it
> extracts exported symbols from the binary and stores them
> in a text file. Then, an analysis tool is run, which compares this
> text file to a given baseline. At this point, the baseline file is
> gcc-3.2.0, as released.

Boy, you guys are quick.  I was still putting together comments about an
earlier version when this came out.

This is kind of picky, but as I understand it there is no C++ library
ABI, as in a documented and agreed-upon set of specifications for binary
interfaces, as there is for C++ compilers and runtime support.  You're
checking consistency from one release to another rather than conformance
to an ABI specification, unless the ABI is defined as "what libstdc++
does in GCC 3.2".  It would therefore be more accurate to use
"consistency" rather than "abi" in the names.

Will you have a provision for baseline data that depends on how the
library is configured, e.g., thread support?

Should these tests be run as part of the normal libstdc++ testing if the
appropriate baseline files exist?  Or, there could be a top-level
check-consistency target that would run compiler tests as well as
library tests.

The tests in gcc/testsuite/consistency.vlad also need baseline files.
Have any of you looked at those to see if the same mechanism can be
used?  Once again, there are compiler options that affect the results,
so there should be a provision for multiple baselines per target.

Has anyone tried running the consistency.vlad tests recently?  I can run
them with hacks to various .exp files, but I don't yet understand the
tools well enough to know what I'm doing.  If someone is already fixing
these, great, otherwise I'll keep plugging along so we can start using
those tests.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]