diff options
author | Andrey Ponomarenko <andrewponomarenko@yandex.ru> | 2016-10-04 19:41:25 +0300 |
---|---|---|
committer | Andrey Ponomarenko <andrewponomarenko@yandex.ru> | 2016-10-04 19:41:25 +0300 |
commit | dd17216a28b68b543069c28efdce2b8da415593e (patch) | |
tree | 9887faca40f6a94100435da75ba6d6da74909373 | |
parent | 868b1354cc4e1ebcad06358f6f6baf4a71491530 (diff) | |
download | abi-compliance-checker-dd17216a28b68b543069c28efdce2b8da415593e.tar.gz |
Released 1.99.24
-rw-r--r-- | INSTALL | 11 | ||||
-rw-r--r-- | README | 9 | ||||
-rw-r--r-- | abi-compliance-checker.pl | 24 | ||||
-rw-r--r-- | doc/Changelog.html | 57 | ||||
-rw-r--r-- | doc/index.html | 13 | ||||
-rw-r--r-- | modules/Internals/RegTests.pm | 7 |
6 files changed, 98 insertions, 23 deletions
@@ -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\) @@ -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"); |