aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Ponomarenko <andrewponomarenko@yandex.ru>2016-10-04 19:41:25 +0300
committerAndrey Ponomarenko <andrewponomarenko@yandex.ru>2016-10-04 19:41:25 +0300
commitdd17216a28b68b543069c28efdce2b8da415593e (patch)
tree9887faca40f6a94100435da75ba6d6da74909373
parent868b1354cc4e1ebcad06358f6f6baf4a71491530 (diff)
downloadabi-compliance-checker-dd17216a28b68b543069c28efdce2b8da415593e.tar.gz
Released 1.99.24
-rw-r--r--INSTALL11
-rw-r--r--README9
-rw-r--r--abi-compliance-checker.pl24
-rw-r--r--doc/Changelog.html57
-rw-r--r--doc/index.html13
-rw-r--r--modules/Internals/RegTests.pm7
6 files changed, 98 insertions, 23 deletions
diff --git a/INSTALL b/INSTALL
index fe2260e..5d909f3 100644
--- a/INSTALL
+++ b/INSTALL
@@ -9,8 +9,8 @@ All rights reserved.
RELEASE INFORMATION
Project: ABI Compliance Checker (ABICC)
-Version: 1.99.23
-Date: 2016-08-15
+Version: 1.99.24
+Date: 2016-10-04
This file explains how to install and setup environment
@@ -42,7 +42,8 @@ Content:
============================
1. Xcode (g++, c++filt, otool, nm)
- 2. Ctags (5.8 or newer)
+ 2. Perl 5
+ 3. Ctags
2.1 Setup environment
@@ -67,12 +68,12 @@ Content:
3. Active Perl 5 (5.8 or newer)
4. Sigcheck v1.71 or newer
5. Info-ZIP 3.0 (zip, unzip)
- 6. Ctags (5.8 or newer)
+ 6. Ctags
3.1 Setup environment
1. Add tool locations to the PATH environment variable
- 2. Run vsvars32.bat script (C:\Microsoft Visual Studio 9.0\Common7\Tools\)
+ 2. Run vcvars64.bat script (C:\Microsoft Visual Studio 9.0\VC\bin\)
diff --git a/README b/README
index f44c5c7..7345b3a 100644
--- a/README
+++ b/README
@@ -15,7 +15,7 @@ REQUIRES:
G++
GNU Binutils
Ctags
- ABI Dumper (0.99.14 or newer)
+ ABI Dumper (0.99.15 or newer)
USAGE (WITH ABI DUMPER):
@@ -27,8 +27,11 @@ USAGE (WITH ABI DUMPER):
abi-dumper OLD.so -o ABI-0.dump -lver 0
abi-dumper NEW.so -o ABI-1.dump -lver 1
-
- 3. Compare ABI dumps to create report:
+
+ 3. You can filter public ABI with the help of
+ additional -public-headers option of the ABI Dumper tool.
+
+ 4. Compare ABI dumps to create report:
abi-compliance-checker -l NAME -old ABI-0.dump -new ABI-1.dump
diff --git a/abi-compliance-checker.pl b/abi-compliance-checker.pl
index cf9d9ef..26ff6b7 100644
--- a/abi-compliance-checker.pl
+++ b/abi-compliance-checker.pl
@@ -19,13 +19,13 @@
# Linux
# - G++ (3.0-4.7, 4.8.3, 4.9 or newer)
# - GNU Binutils (readelf, c++filt, objdump)
-# - Perl 5 (5.8 or newer)
-# - Ctags (5.8 or newer)
-# - ABI Dumper (0.99.15 or newer)
+# - Perl 5
+# - Ctags
+# - ABI Dumper >= 0.99.15
#
# Mac OS X
# - Xcode (g++, c++filt, otool, nm)
-# - Ctags (5.8 or newer)
+# - Ctags
#
# MS Windows
# - MinGW (3.0-4.7, 4.8.3, 4.9 or newer)
@@ -33,7 +33,7 @@
# - Active Perl 5 (5.8 or newer)
# - Sigcheck v2.52 or newer
# - GnuWin Zip and UnZip
-# - Exuberant Ctags (5.8 or newer)
+# - Ctags (Exuberant or Universal)
# - Add tool locations to the PATH environment variable
# - Run vcvars64.bat (C:\Microsoft Visual Studio 9.0\VC\bin\)
#
@@ -480,7 +480,13 @@ EXTRA OPTIONS:
-disable-constants-check
Do not check for changes in constants.
-
+
+ -skip-added-constants
+ Do not detect added constants.
+
+ -skip-removed-constants
+ Do not detect removed constants.
+
-headers-list PATH
The file with a list of headers, that should be checked/dumped.
@@ -663,7 +669,7 @@ OTHER OPTIONS:
-mingw-compatible
If input header files are compatible with the MinGW GCC compiler,
- then you can tell the tool about this and speedup the analysis .
+ then you can tell the tool about this and speedup the analysis.
-p|-params PATH
Path to file with the function parameter names. It can be used
@@ -8172,7 +8178,7 @@ sub checkCTags($)
if($OSgroup ne "linux")
{ # macos, freebsd, etc.
my $Info = `$CTags --version 2>\"$TMP_DIR/null\"`;
- if($Info!~/exuberant/i)
+ if($Info!~/universal|exuberant/i)
{
printMsg("WARNING", "incompatible version of \'ctags\' program");
return;
@@ -16191,7 +16197,7 @@ sub get_Summary($)
if($Level eq "Binary") {
$TestInfo .= "<tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr>\n"; # Run-time
}
- if($Level eq "Source") {
+ elsif($Level eq "Source") {
$TestInfo .= "<tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr>\n"; # Build-time
}
}
diff --git a/doc/Changelog.html b/doc/Changelog.html
index 80a099d..5d0998b 100644
--- a/doc/Changelog.html
+++ b/doc/Changelog.html
@@ -44,6 +44,63 @@
<p/>
<br/>
+<b>Version 1.99.24 (October 04, 2016)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Support for Clang
+ </li>
+ <li>
+ Improved a module to compare operating systems
+ </li>
+ <li>
+ Improved support for C++ keywords in C code
+ </li>
+ <li>
+ Improved support for Windows
+ </li>
+ <li>
+ Improved support for MinGW
+ </li>
+</ul>
+<b>New Options</b>
+<ul>
+ <li>
+ -skip-typedef-uncover: do not report a problem if type is covered or uncovered by typedef (useful for broken debug info)
+ </li>
+ <li>
+ -mingw-compatible: if input header files are compatible with the MinGW GCC compiler, then you can tell the tool about this and speedup the analysis
+ </li>
+ <li>
+ -skip-unidentified: skip header files in 'headers' and 'include_preamble' sections of the XML descriptor that cannot be found
+ </li>
+ <li>
+ -disable-constants-check: do not check for changes in constants
+ </li>
+ <li>
+ -skip-added-constants: do not detect added constants
+ </li>
+ <li>
+ -skip-removed-constants: do not detect removed constants
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Do not show GCC version in the source compatibility report
+ </li>
+ <li>
+ Renamed CPU Type column to Arch in the report
+ </li>
+ <li>
+ Support for ABI dumps v3.3
+ </li>
+ <li>
+ The -cpp-compatible option is now enabled by default
+ </li>
+</ul>
+<br/>
+
<b>Version 1.99.23 (August 15, 2016)</b><br/>
<b>Improvements</b>
<ul>
diff --git a/doc/index.html b/doc/index.html
index 8eafd8a..6375bee 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -110,16 +110,19 @@ GNU/Linux, FreeBSD, Mac OS X, MS Windows.
<h2>Dependencies</h2>
<ul>
<li>
- <a href="http://gcc.gnu.org/">G++</a> (3.0-4.7, 4.8.3 or newer)
+ G++ (3.0-4.7, 4.8.3 or newer)
</li>
<li>
- <a href="http://www.gnu.org/software/binutils/">GNU Binutils</a> (readelf, c++filt, objdump)
+ GNU Binutils (readelf, c++filt, objdump)
</li>
<li>
- <a href="http://www.perl.org/">Perl 5</a>
+ Perl 5
</li>
<li>
- <a href="http://ctags.sourceforge.net/">Ctags</a>
+ Ctags
+</li>
+<li>
+ <a href="https://github.com/lvc/abi-dumper">ABI Dumper</a>
</li>
</ul>
@@ -127,7 +130,7 @@ WARNING: if you are using ccache program (i.e. gcc points to /usr/lib/ccache/gcc
<p/>
On Mac OS X the tool also requires Xcode (g++, c++filt, nm and otool).
<p/>
-On MS Windows the tool also requires MinGW, MS Visual C++ (dumpbin, undname, cl), Active Perl 5, adding of tool locations to the PATH and execution of vsvars32.bat script (C:\Microsoft Visual Studio 9.0\Common7\Tools\).
+On MS Windows the tool also requires MinGW, MS Visual C++ (dumpbin, undname, cl), Active Perl 5, adding of tool locations to the PATH and execution of vcvars64.bat script (C:\Microsoft Visual Studio 9.0\VC\bin\).
<a name="Installation"></a>
<h2>Installation</h2>
diff --git a/modules/Internals/RegTests.pm b/modules/Internals/RegTests.pm
index 782e55f..81aaa98 100644
--- a/modules/Internals/RegTests.pm
+++ b/modules/Internals/RegTests.pm
@@ -4869,7 +4869,12 @@ sub runTests($$$$$$$$)
exitStatus("Error", "can't compile $LibName v.2: \'$Path_v2/build-log.txt\'");
}
# running the tool
- my @Cmd = ("perl", $0, "-l", $LibName, "-d1", "$LibName/v1.xml", "-d2", "$LibName/v2.xml", "-cxx-incompatible");
+ my @Cmd = ("perl", $0, "-l", $LibName, "-d1", "$LibName/v1.xml", "-d2", "$LibName/v2.xml");
+
+ if($Lang eq "C") {
+ @Cmd = (@Cmd, "-cxx-incompatible");
+ }
+
if($TestDump)
{
@Cmd = (@Cmd, "-use-dumps");