[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#777753: marked as done (gcc: LTO produces unreproducible debug information)



Your message dated Fri, 10 Apr 2015 22:18:36 +0000
with message-id <E1YghG0-0004Y1-HS@franck.debian.org>
and subject line Bug#777753: fixed in apt-cacher-ng 0.8.1-1
has caused the Debian Bug report #777753,
regarding gcc: LTO produces unreproducible debug information
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
777753: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777753
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Source: gcc-4.9
Version: 4.9.2-10
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: randomness toolchain
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org
Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65015

The GCC produced binaries seem to be only reproducible when not using
link time optimization. This was discussed on the mailing list [1]. Both
Jérémy Bobbio and Richard Biener pointed me in the direction of debug
information which contained artifacts from the randomly generated
temporary files of the LTO builds.

The last test [2] showed that these really seemed to be the culprit of
the problem. In the meantime, Richard Biener proposed patches which can
solve this problem. I've compiled my own version  of gcc-4.9 using the
attached patch and can confirm that the LTO builds are now working
perfectly fine and no changes to the affected packages are necessary
anymore.

Other versions of gcc might also have this problem but this is right now
only for the default gcc version used by the build infrastructure.

A small testcase is attached to the upstream bug.


[1] http://lists.alioth.debian.org/pipermail/reproducible-builds/Week-of-Mon-20150209/000933.html
[2] http://lists.alioth.debian.org/pipermail/reproducible-builds/Week-of-Mon-20150209/000942.html
diff -u gcc-4.9-4.9.2/debian/rules.patch gcc-4.9-4.9.2/debian/rules.patch
--- gcc-4.9-4.9.2/debian/rules.patch
+++ gcc-4.9-4.9.2/debian/rules.patch
@@ -232,6 +232,7 @@
 	sys-auxv-header \
 	libcilkrts-targets \
 	go-use-gold \
+	drop_opt \
 
 ifeq ($(with_softfloat),yes)
   debian_patches += arm-multilib-soft-float
only in patch2:
unchanged:
--- gcc-4.9-4.9.2.orig/debian/patches/drop_opt.diff
+++ gcc-4.9-4.9.2/debian/patches/drop_opt.diff
@@ -0,0 +1,28 @@
+Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65015
+
+--- a/src/gcc/dwarf2out.c
++++ b/src/gcc/dwarf2out.c
+@@ -19196,6 +19196,9 @@ gen_producer_string (void)
+       case OPT__sysroot_:
+       case OPT_nostdinc:
+       case OPT_nostdinc__:
++      case OPT_fpreprocessed:
++      case OPT_fltrans_output_list_:
++      case OPT_fresolution_:
+ 	/* Ignore these.  */
+ 	continue;
+       default:
+@@ -23984,8 +23987,11 @@ dwarf2out_finish (const char *filename)
+   gen_remaining_tmpl_value_param_die_attribute ();
+ 
+   /* Add the name for the main input file now.  We delayed this from
+-     dwarf2out_init to avoid complications with PCH.  */
+-  add_name_attribute (comp_unit_die (), remap_debug_filename (filename));
++     dwarf2out_init to avoid complications with PCH.
++     Avoid doing this for LTO produced units as it adds random
++     tempfile names.  */
++  if (!in_lto_p)
++    add_name_attribute (comp_unit_die (), remap_debug_filename (filename));
+   if (!IS_ABSOLUTE_PATH (filename) || targetm.force_at_comp_dir)
+     add_comp_dir_attribute (comp_unit_die ());
+   else if (get_AT (comp_unit_die (), DW_AT_comp_dir) == NULL)

--- End Message ---
--- Begin Message ---
Source: apt-cacher-ng
Source-Version: 0.8.1-1

We believe that the bug you reported is fixed in the latest version of
apt-cacher-ng, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 777753@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Eduard Bloch <blade@debian.org> (supplier of updated apt-cacher-ng package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Fri, 10 Apr 2015 23:40:20 +0200
Source: apt-cacher-ng
Binary: apt-cacher-ng
Architecture: source
Version: 0.8.1-1
Distribution: unstable
Urgency: low
Maintainer: Eduard Bloch <blade@debian.org>
Changed-By: Eduard Bloch <blade@debian.org>
Description:
 apt-cacher-ng - caching proxy server for software repositories
Closes: 734581 777753 779739 780550 780555 781328 781364 781447 781672 781921 782013 782026
Changes:
 apt-cacher-ng (0.8.1-1) unstable; urgency=low
 .
   * New upstream version
     + transition to libsystemd without -daemon where possible (closes: #779739)
     + LTO disabled by default (closes: #777753)
     + *.o file download as volatile type (LP: #1078224)
     + more Fedora mirrors (Carlos Maddela, closes: #780555)
     + corrects handling of SPfilePatternEx (Carlos Maddela, closes: #780550)
   * Debconf question to enable HTTP tunnels, e.g. for https (closes: #734581)
   * Debconf translation updates: German (Holger Wansing, closes: #781921),
     French (Jean-Baka Domelevo Entfellner, closes: #782026), Italian (Beatrice
     Torracca, closes: #782013), Dutch (Frans Spiesschaert), Polish (Łukasz
     <BartekChom@poczta.onet.pl>), Swedish (Martin Bagge, Anders Jonsson,
     closes: #781672), Czech (Miroslav Kure, closes: #781447), Russian (Yuri
     Kozlov, closes: #781364), Danish (Joe Dalton, closes: #781328)
Checksums-Sha1:
 85e4023eb04a090f2941fe166422e51d8cc61bcb 1982 apt-cacher-ng_0.8.1-1.dsc
 08fa2b4350a1374855b95bad02f1feacea11da9c 506356 apt-cacher-ng_0.8.1.orig.tar.xz
 e802dc568877bb86f702418bab8bcf0d0b3d861c 44756 apt-cacher-ng_0.8.1-1.debian.tar.xz
Checksums-Sha256:
 6ec9880c5d60addf132a0b9bcc2b355b7b8949249795746f3d237b1a7aadf6e8 1982 apt-cacher-ng_0.8.1-1.dsc
 fb628716079c2c5330aff3fcfc878682c42426906a8cc6376f2d77c0fecf50db 506356 apt-cacher-ng_0.8.1.orig.tar.xz
 76ed3c670272dc1712943bf5188f352644ec53dae868a8a61eb48e92e859d09b 44756 apt-cacher-ng_0.8.1-1.debian.tar.xz
Files:
 b7b59875d4b8de0812c1e29df1b69754 1982 net optional apt-cacher-ng_0.8.1-1.dsc
 a6ebd5e43d4aa9fca5d4f7b1015b7515 506356 net optional apt-cacher-ng_0.8.1.orig.tar.xz
 9bf161ef10a7e88abbe0158b64f2262f 44756 net optional apt-cacher-ng_0.8.1-1.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIVAwUBVShJBWl0DlyzX+w8AQimeg/+PPum6+e0C28ubC5qZYH17xbTMUYD8Fcn
cFzKG8AZoHioLHcuwg1LzHOmZdIVJ7ZzOExI/bIUJ37IMfKzayXoGNhZiH5/2w8B
9+xV1GJ+MkIaQ7X+Bhw6OXRUYxNavONeSTnOq0u/G/K9u82yFph7XIEVIzpE0htg
iEReftYIacU9kOg0Udt6OL6vhJwZ10d6ZNhrRkLCuQhorgrioXAIcLoo1p1Ctx1n
VZ4WNFAqtXCi4NQlaB95cd7DDH2d5TDzOmKTHzCGocW0ujTQTWVfFwci2Pllo6L4
E4gK2sb7tsvj8ZmyJgo9G2ouWXeTnZ1ogVAGrlH8EQ7l9WCwrNKYiG2z91xPbaGh
NwXiZxEJXu/3jhAzEUgJjB1l7nnxJYOAErKxjc0n2eE+ILPuMiu+jD/pEHFopFPE
jXK/gwq2zFDNKfMuJ9IDyd+f7t7QB4+QMcF0MYD/NT+p6M62GUmt9ErhZXZBzsch
Q342bkbctso/lULhrU1j2vIS/WB8iW1nu10GfPk2yXFCDjhFht9xmJkGYoh4NA1I
4LNWmM7W9xw20FEaQOFKWkCJoaq1qLSnC4wCjdOgQaxer7M2Dki8tbTQ0cumMInl
XXUU4LXWpUN4UzdzA5TNFevfo+PgeDRTpD7ot70P0QdIGayBKMrWL9nSbIvy/Yij
Ui7kP8Iisf0=
=RWb/
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: