diff options
author | Andrey Ponomarenko <aponomarenko@rosalab.ru> | 2014-04-16 13:53:17 +0400 |
---|---|---|
committer | Andrey Ponomarenko <aponomarenko@rosalab.ru> | 2014-04-16 13:53:17 +0400 |
commit | b9ed4c907bb048c3aa651b7d88cf230a8a63fd8a (patch) | |
tree | b03e19a8c60d9ddbdfe2157cea9e23cfb678ec7e | |
parent | b862d1db5616ab2fabb7f983329ced73bef6a7d9 (diff) | |
download | abi-compliance-checker-b9ed4c907bb048c3aa651b7d88cf230a8a63fd8a.tar.gz |
More accurate checking of ABI dump names
-rw-r--r-- | INSTALL | 8 | ||||
-rwxr-xr-x | abi-compliance-checker.pl | 29 |
2 files changed, 19 insertions, 18 deletions
@@ -9,8 +9,8 @@ All rights reserved. RELEASE INFORMATION Project: ABI Compliance Checker (ACC) -Version: 1.99.9 -Date: 2014-03-06 +Version: 1.99.9.1 +Date: 2014-04-16 This file explains how to install and setup environment @@ -30,7 +30,7 @@ Content: 1. REQUIREMENTS FOR LINUX AND FREEBSD ===================================== - 1. G++ (3.0-4.7, 4.8.3, recommended 4.5 or newer) + 1. G++ (3.0-4.7, 4.9 or newer) 2. GNU Binutils (c++filt, readelf, objdump) 3. Perl 5 (5.8 or newer) 4. Ctags (5.8 or newer) @@ -48,7 +48,7 @@ Content: 3. REQUIREMENTS FOR MS WINDOWS ============================== - 1. MinGW (3.0-4.7, recommended 4.5 or newer) + 1. MinGW (3.0-4.7, 4.9 or newer) 2. MS Visual C++ (dumpbin, undname, cl) 3. Active Perl 5 (5.8 or newer) 4. Sigcheck v1.71 or newer diff --git a/abi-compliance-checker.pl b/abi-compliance-checker.pl index cae8e77..aa71c06 100755 --- a/abi-compliance-checker.pl +++ b/abi-compliance-checker.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl ########################################################################### -# ABI Compliance Checker (ACC) 1.99.9 +# ABI Compliance Checker (ABICC) 1.99.9.1 # A tool for checking backward compatibility of a C/C++ library API # # Copyright (C) 2009-2010 The Linux Foundation @@ -17,7 +17,7 @@ # REQUIREMENTS # ============ # Linux -# - G++ (3.0-4.7, 4.8.3, recommended 4.5 or newer) +# - G++ (3.0-4.7, 4.9 or newer) # - GNU Binutils (readelf, c++filt, objdump) # - Perl 5 (5.8 or newer) # - Ctags (5.8 or newer) @@ -27,7 +27,7 @@ # - Ctags (5.8 or newer) # # MS Windows -# - MinGW (3.0-4.7, recommended 4.5 or newer) +# - MinGW (3.0-4.7, 4.9 or newer) # - MS Visual C++ (dumpbin, undname, cl) # - Active Perl 5 (5.8 or newer) # - Sigcheck v1.71 or newer @@ -64,7 +64,7 @@ use Storable qw(dclone); use Data::Dumper; use Config; -my $TOOL_VERSION = "1.99.9"; +my $TOOL_VERSION = "1.99.9.1"; my $ABI_DUMP_VERSION = "3.2"; my $OLDEST_SUPPORTED_VERSION = "1.18"; my $XML_REPORT_VERSION = "1.2"; @@ -149,11 +149,10 @@ my %ERROR_CODE = ( my %HomePage = ( "Wiki"=>"http://ispras.linuxbase.org/index.php/ABI_compliance_checker", - "Dev1"=>"https://github.com/lvc/abi-compliance-checker", - "Dev2"=>"http://forge.ispras.ru/projects/abi-compliance-checker" + "Dev"=>"https://github.com/lvc/abi-compliance-checker" ); -my $ShortUsage = "ABI Compliance Checker (ACC) $TOOL_VERSION +my $ShortUsage = "ABI Compliance Checker (ABICC) $TOOL_VERSION A tool for checking backward compatibility of a C/C++ library API Copyright (C) 2014 ROSA Laboratory License: GNU LGPL or GNU GPL @@ -307,7 +306,7 @@ NAME: Check backward compatibility of a C/C++ library API DESCRIPTION: - ABI Compliance Checker (ACC) is a tool for checking backward binary and + ABI Compliance Checker (ABICC) is a tool for checking backward binary and source-level compatibility of a $SLIB_TYPE C/C++ library. The tool checks header files and $SLIB_TYPE libraries (*.$LIB_EXT) of old and new versions and analyzes changes in API and ABI (ABI=API+compiler ABI) that may break binary @@ -815,7 +814,7 @@ REPORT BUGS TO: MORE INFORMATION: ".$HomePage{"Wiki"}." - ".$HomePage{"Dev1"}."\n"); + ".$HomePage{"Dev"}."\n"); } my $DescriptorTemplate = " @@ -4430,7 +4429,7 @@ sub mangle_symbol($$$) } sub mangle_symbol_MSVC($$) -{ +{ # TODO my ($InfoId, $LibVersion) = @_; return ""; } @@ -8999,6 +8998,7 @@ sub unpackDump($) } elsif($FileName=~s/\Q.tar.gz\E(\.\w+|)\Z//g) { # *.tar.gz + # *.tar.gz.amd64 (dh & cdbs) if($OSgroup eq "windows") { # -xvzf option is not implemented in tar.exe (2003) # use "gzip.exe -k -d -f" + "tar.exe -xvf" instead @@ -19816,7 +19816,7 @@ sub registerObject($$) $RegisteredObjects_Short{$LibVersion}{$Short} = $Path; } - if(not $CheckedArch{$LibVersion}) + if(not $CheckedArch{$LibVersion} and -f $Path) { if(my $ObjArch = getArch_Object($Path)) { @@ -22297,7 +22297,8 @@ sub printErrorLog($) sub isDump($) { - if(get_filename($_[0])=~/\A(.+)\.(abi|abidump|dump)(\.tar\.gz|\.zip|\.xml|)(\.\w+|)\Z/) { + if(get_filename($_[0])=~/\A(.+)\.(abi|abidump|dump)(\.tar\.gz(\.\w+|)|\.zip|\.xml|)\Z/) + { # NOTE: name.abi.tar.gz.amd64 (dh & cdbs) return $1; } return 0; @@ -22305,7 +22306,7 @@ sub isDump($) sub isDump_U($) { - if(get_filename($_[0])=~/\A(.+)\.(abi|abidump|dump)(\.xml|)(\.\w+|)\Z/) { + if(get_filename($_[0])=~/\A(.+)\.(abi|abidump|dump)(\.xml|)\Z/) { return $1; } return 0; @@ -22938,7 +22939,7 @@ sub scenario() } if($ShowVersion) { - printMsg("INFO", "ABI Compliance Checker (ACC) $TOOL_VERSION\nCopyright (C) 2014 ROSA Laboratory\nLicense: LGPL or GPL <http://www.gnu.org/licenses/>\nThis program is free software: you can redistribute it and/or modify it.\n\nWritten by Andrey Ponomarenko."); + printMsg("INFO", "ABI Compliance Checker (ABICC) $TOOL_VERSION\nCopyright (C) 2014 ROSA Laboratory\nLicense: LGPL or GPL <http://www.gnu.org/licenses/>\nThis program is free software: you can redistribute it and/or modify it.\n\nWritten by Andrey Ponomarenko."); exit(0); } if($DumpVersion) |