[Reproducible-builds] [PATCH] Bug #777753: GCC variation with link-time optimization (LTO)

Daniel Kahn Gillmor dkg at fifthhorseman.net
Wed Apr 15 17:39:40 UTC 2015


When GCC does link-time optimizations, it embeds some randomness in
the generated object.  This is https://bugs.debian.org/777753, and it
affects several packages.

it may be the underlying cause of several instances of
build_id_variation_requiring_further_investigation, but i haven't
removed those issues yet, because there may be other build_id
variation mechanisms on the packages affected by LTO as well, and i
haven't tested them all.

The changes to packages.yml were found based on the "affects:"
annotations on #777753.
---
 issues.yml   |  8 ++++++++
 packages.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)

diff --git a/issues.yml b/issues.yml
index 1fb1c6d..c83a886 100644
--- a/issues.yml
+++ b/issues.yml
@@ -505,3 +505,11 @@ timezone_variance_because_of_automake_mdate:
     automake's mdate-sh script pretty-prints the modification time of a file.
     This output can influence further steps in the build process and make it unreproducible.
   url: https://wiki.debian.org/ReproducibleBuilds/TimezoneVarianceBecauseOfAutomakeMdate
+randomness_in_lto_debug_symbols:
+  description: |
+    GCC-produced binaries that use link time optimization (LTO) embed
+    randomized intermediate filenames (e.g. cc<randomness>.ltrans.[0-9]+)
+    in generated debug symbols.
+    .
+    see also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65015
+  url: https://bugs.debian.org/777753
diff --git a/packages.yml b/packages.yml
index 4b63e19..ca8afc8 100644
--- a/packages.yml
+++ b/packages.yml
@@ -381,6 +381,10 @@ apt:
     - timestamps_from_cpp_macros
   bugs:
     - 774342
+apt-cacher-ng:
+  version: 0.8.0-3
+  issues:
+    - randomness_in_lto_debug_symbols
 apt-dater:
   version: 1.0.1-1
   issues:
@@ -601,6 +605,10 @@ avfs:
   version: 1.0.1-2
   issues:
     - bad_handling_of_extra_warnings
+avian:
+  version: 1.1.0-4
+  issues:
+    - randomness_in_lto_debug_symbols
 avinfo:
   version: 1.0.a15+20090102-1
   bugs:
@@ -745,6 +753,7 @@ batmand:
   version: 0.3.2-15
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 bb:
   version: 1.3rc1-8.1
   issues:
@@ -1549,6 +1558,7 @@ cloop:
   issues:
     - timestamps_in_tarball
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 closure-compiler:
   version: 20130227+dfsg1-8
   issues:
@@ -2937,6 +2947,7 @@ encfs:
   version: 1.7.4-5
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 enemies-of-carlotta:
   version: 1.2.6-4
   issues:
@@ -3200,6 +3211,10 @@ evolution-webcal:
   version: 2.32.0-2
   bugs:
     - 759823
+exactimage:
+  version: 0.8.9-7
+  issues:
+    - randomness_in_lto_debug_symbols
 exifprobe:
   version: 2.0.1-3
   comments: |
@@ -6060,6 +6075,10 @@ kvpnc:
   version: 0.9.6a-2.1
   issues:
     - build_id_variation_requiring_further_investigation
+kwalletcli:
+  version: 2.12-3
+  issues:
+    - randomness_in_lto_debug_symbols
 kwin-style-crystal:
   version: 2.2.1-2
   issues:
@@ -10367,6 +10386,10 @@ maitreya:
   version: 7.0.7-1
   issues:
     - timestamps_from_cpp_macros
+makefs:
+  version: 20100306-5
+  issues:
+    - randomness_in_lto_debug_symbols
 makehuman:
   version: 1.0.0~alpha6-5
   issues:
@@ -11065,34 +11088,43 @@ mupen64plus-audio-sdl:
   version: 2.0-2
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 mupen64plus-core:
   version: 2.0-7
   comments: |
     Fails to build reproducibly due to link-time optimization (-flto)
+  issues:
+    - randomness_in_lto_debug_symbols
 mupen64plus-input-sdl:
   version: 2.0-4
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 mupen64plus-rsp-hle:
   version: 2.0-3
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 mupen64plus-rsp-z64:
   version: 2.0.0-2
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 mupen64plus-ui-console:
   version: 2.0-2
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 mupen64plus-video-arachnoid:
   version: 2.0.0-2
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 mupen64plus-video-glide64:
   version: 2.0.0-2
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 mupen64plus-video-glide64mk2:
   version: 2.0-3
   issues:
@@ -11101,10 +11133,12 @@ mupen64plus-video-rice:
   version: 2.0-3
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 mupen64plus-video-z64:
   version: 2.0.0-2
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 muse-el:
   version: 3.20+dfsg-0.1
   issues:
@@ -12442,6 +12476,8 @@ pax:
     Use gcc to go from .c to final executable directly, having
     temporary .o files in debug symbols, resulting in different
     build id.
+  issues:
+    - randomness_in_lto_debug_symbols
 pax-utils:
   version: 0.8.1-1
   issues:
@@ -13148,6 +13184,7 @@ py3cairo:
   version: 1.10.0+dfsg-4
   issues:
     - randomness_in_documentation_generated_by_sphinx
+    - randomness_in_lto_debug_symbols
 pyabiword:
   version: 0.8.0-11
   issues:
@@ -14083,6 +14120,7 @@ rna-star:
   version: 2.4.0i-1
   issues:
     - build_id_variation_requiring_further_investigation
+    - randomness_in_lto_debug_symbols
 roarplaylistd:
   version: 0.1.9-1
   comments: |
@@ -14123,6 +14161,10 @@ rrdtool:
   issues:
     - timestamps_from_cpp_macros
     - timestamps_from_cpp_macros
+rs:
+  version: 20140609-3
+  issues:
+    - randomness_in_lto_debug_symbols
 rsbackup:
   version: 1.1-4
   issues:
@@ -14738,6 +14780,7 @@ simgrid:
   issues:
     - timestamps_in_documentation_generated_by_doxygen
     - timezones_manpages_podman
+    - randomness_in_lto_debug_symbols
 simh:
   version: 3.8.1-5
   issues:
@@ -15331,6 +15374,10 @@ sysstat:
   version: 11.0.1-1
   issues:
     - timestamps_from_cpp_macros
+systemd:
+  version: 215-14
+  issues:
+    - randomness_in_lto_debug_symbols
 systraq:
   version: 0.0.20081217-7
   issues:
-- 
2.1.4




More information about the Reproducible-builds mailing list