On Thu, 31 Aug 2017 08:07:45 -0400 Jeremy Bicha <jbi...@ubuntu.com> wrote:
> This bug is still unfixed in Debian right? It makes debci less useful
> for packages that use dh-acc.
> 

you are right

the following debdiff is going in unstable *right now*

(I also took the gcc fixes from Ubuntu)

thanks!

G.
> Thanks,
> Jeremy Bicha
> 
> 
diff -Nru abi-compliance-checker-1.99.22/debian/changelog 
abi-compliance-checker-1.99.22/debian/changelog
--- abi-compliance-checker-1.99.22/debian/changelog     2016-07-16 
21:24:13.000000000 +0200
+++ abi-compliance-checker-1.99.22/debian/changelog     2017-09-01 
07:51:53.000000000 +0200
@@ -1,3 +1,16 @@
+abi-compliance-checker (1.99.22-1.1) unstable; urgency=high
+
+  [ Dmitry Shachnev ]
+  * Add a patch to fix tests compilation with new GCC.
+  * Add a patch to not rely on GCC for symbols mangling, it is not working
+    with GCC 6 and GCC 7 because of PR c++/78040.
+
+  [ Gianfranco Costamagna ]
+  * Non-maintainer upload
+  * Fix autopkgtests, due to bad doit call (Closes: #868473)
+
+ -- Gianfranco Costamagna <locutusofb...@debian.org>  Fri, 01 Sep 2017 
07:51:53 +0200
+
 abi-compliance-checker (1.99.22-1) unstable; urgency=medium
 
   * New upstream release
diff -Nru abi-compliance-checker-1.99.22/debian/dh/dh_acc 
abi-compliance-checker-1.99.22/debian/dh/dh_acc
--- abi-compliance-checker-1.99.22/debian/dh/dh_acc     2016-07-16 
21:23:50.000000000 +0200
+++ abi-compliance-checker-1.99.22/debian/dh/dh_acc     2017-09-01 
07:51:12.000000000 +0200
@@ -56,11 +56,11 @@
 
        if ($definition) {
            # TODO if next command fails, should output debug/log info?
-           doit("abi-compliance-checker -q -l $package -v1 $version -dump 
$definition -dump-path $abidump");
+           doit('abi-compliance-checker', '-q', '-l', $package, '-v1', 
$version, '-dump', $definition, '-dump-path', $abidump);
        }
        if ($base) {
-           doit("abi-compliance-checker -l $package -d1 $base -d2 $abidump 
-report-path ${path}_report.html");
-           doit("abi-compliance-checker -q -l $package -d1 $base -d2 $abidump 
-xml -report-path ${path}_report.xml");
+           doit('abi-compliance-checker', '-l', $package, '-d1', $base, '-d2', 
$abidump, '-report-path', ${path}.'_report.html');
+           doit('abi-compliance-checker', '-q', '-l', $package, '-d1', $base, 
'-d2', $abidump, '-xml', '-report-path', ${path}.'_report.xml');
        }
        # TODO clean up temp files & logs
 }
diff -Nru abi-compliance-checker-1.99.22/debian/patches/emergency-mode.patch 
abi-compliance-checker-1.99.22/debian/patches/emergency-mode.patch
--- abi-compliance-checker-1.99.22/debian/patches/emergency-mode.patch  
1970-01-01 01:00:00.000000000 +0100
+++ abi-compliance-checker-1.99.22/debian/patches/emergency-mode.patch  
2017-09-01 07:51:12.000000000 +0200
@@ -0,0 +1,27 @@
+Description: enable emergency mode for newer GCC versions too, not only 4.8
+ GCC 6 and newer do not mangle symbols, see 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78040.
+Author: Dmitry Shachnev <mity...@debian.org>
+Bug: https://github.com/lvc/abi-compliance-checker/issues/62
+Forwarded: no
+Last-Update: 2017-08-13
+
+--- a/abi-compliance-checker.pl
++++ b/abi-compliance-checker.pl
+@@ -4939,7 +4939,7 @@
+     # try to mangle symbol
+     if((not check_gcc($GCC_PATH, "4") and 
$SymbolInfo{$Version}{$InfoId}{"Class"})
+     or (check_gcc($GCC_PATH, "4") and not 
$SymbolInfo{$Version}{$InfoId}{"Class"})
+-    or $EMERGENCY_MODE_48)
++    or true)
+     { # GCC 3.x doesn't mangle class methods names in the TU dump (only 
functions and global data)
+       # GCC 4.x doesn't mangle C++ functions in the TU dump (only class 
methods) except extern "C" functions
+       # GCC 4.8.[012] doesn't mangle anything
+@@ -4951,7 +4951,7 @@
+         }
+         if($CheckHeadersOnly
+         or not $BinaryOnly
+-        or $EMERGENCY_MODE_48)
++        or true)
+         { # 1. --headers-only mode
+           # 2. not mangled src-only symbols
+             if(my $Mangled = mangle_symbol($InfoId, $Version, "GCC")) {
diff -Nru 
abi-compliance-checker-1.99.22/debian/patches/fix-test-compilation.patch 
abi-compliance-checker-1.99.22/debian/patches/fix-test-compilation.patch
--- abi-compliance-checker-1.99.22/debian/patches/fix-test-compilation.patch    
1970-01-01 01:00:00.000000000 +0100
+++ abi-compliance-checker-1.99.22/debian/patches/fix-test-compilation.patch    
2017-09-01 07:51:12.000000000 +0200
@@ -0,0 +1,17 @@
+Description: fix test compilation with new GCC
+ The implicit constructor is implicitly deleted because the const
+ member is not initialized. So we have to use an explicit one.
+Author: Dmitry Shachnev <mity...@debian.org>
+Forwarded: no (this test is disabled upstream)
+Last-Update: 2017-08-13
+
+--- a/modules/Internals/RegTests.pm
++++ b/modules/Internals/RegTests.pm
+@@ -81,6 +81,7 @@
+             T array[_P];
+             typedef int My;
+             My var;
++            ChangedTemplate(): field(nullptr) {};
+         };
+         ChangedTemplate<int, 1>* changedTemplate();";
+     $SOURCE1 .= "
diff -Nru abi-compliance-checker-1.99.22/debian/patches/series 
abi-compliance-checker-1.99.22/debian/patches/series
--- abi-compliance-checker-1.99.22/debian/patches/series        2016-07-16 
21:23:50.000000000 +0200
+++ abi-compliance-checker-1.99.22/debian/patches/series        2017-09-01 
07:51:12.000000000 +0200
@@ -1,3 +1,5 @@
 remove-gcc-check.patch
 bug798481.patch
 typos.patch
+fix-test-compilation.patch
+emergency-mode.patch

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to