From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id eC0hEcd64F7TVgAA0tVLHw (envelope-from ) for ; Wed, 10 Jun 2020 06:16:39 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id mEnuDMd64F5VEwAAB5/wlQ (envelope-from ) for ; Wed, 10 Jun 2020 06:16:39 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 705D29408E9 for ; Wed, 10 Jun 2020 06:16:38 +0000 (UTC) Received: from localhost ([::1]:49924 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jiu2N-0003Sl-ER for larch@yhetil.org; Wed, 10 Jun 2020 02:16:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47582) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jiu1q-0003QD-DT for bug-guix@gnu.org; Wed, 10 Jun 2020 02:16:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:49869) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jiu1q-0003vA-3H for bug-guix@gnu.org; Wed, 10 Jun 2020 02:16:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jiu1p-0000xk-V7 for bug-guix@gnu.org; Wed, 10 Jun 2020 02:16:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible In-Reply-To: <874krtnvk8.fsf@gmail.com> Resent-From: Chris Marusich Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 10 Jun 2020 06:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41669 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 41669@debbugs.gnu.org Received: via spool by 41669-submit@debbugs.gnu.org id=B41669.15917697173638 (code B ref 41669); Wed, 10 Jun 2020 06:16:01 +0000 Received: (at 41669) by debbugs.gnu.org; 10 Jun 2020 06:15:17 +0000 Received: from localhost ([127.0.0.1]:33182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jiu15-0000wb-UQ for submit@debbugs.gnu.org; Wed, 10 Jun 2020 02:15:17 -0400 Received: from mail-pj1-f66.google.com ([209.85.216.66]:37850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jiu13-0000wM-DY for 41669@debbugs.gnu.org; Wed, 10 Jun 2020 02:15:14 -0400 Received: by mail-pj1-f66.google.com with SMTP id m2so454151pjv.2 for <41669@debbugs.gnu.org>; Tue, 09 Jun 2020 23:15:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:user-agent:date:message-id :mime-version; bh=aETPuNJLkmW778+oww6ESA/VbfuajigFS1o9lvA0/pk=; b=vEjYDOV8NE/fxU+p7g8RYprFm9IvsXguRBg7faWphNc7udik67CwmYUXYCPDkXubtB mpbQGUYCpDmnlkvclXXbaiEutN85PzdPjWdJUqCsGEWNTyPCyVTdSqnc1lzcKwXexsIQ WqQSsgLsl61GpfMc+ctyyUNOBbGkl1YgR7vXdF77FWXVL+bhZ4xRQtPgud5ETj+Avb57 mpvRA6btzjGXeb+ixmfmNYjaMkXNak6YLJ+ZImpo32HmE2HbD+uNibJwbi68PWf7tBZN FU99ocMOPk5yjbLX0c4TII8L/FLoiyMhf63FXJRr2n8Nqf+YLx6vE8QCamPDKBU17mLZ 1+mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:user-agent:date :message-id:mime-version; bh=aETPuNJLkmW778+oww6ESA/VbfuajigFS1o9lvA0/pk=; b=gWrpPRKwj3U1vdz9OQVQ2pKtfQbKIDaB8T3XhaPLzQkl7sqdAw0WIDMPnJ18eSDBNW wyv+hVJlfYGOIjMIMlKLvCEjlwVDe7j30UuluSXm5J0RbicKCzjfuYrPQW9HxRtFqN5n fzP7Jt/uKVBIDZdS7HybkS5o2GGjHEWWxv5xydtMz4KXxK2xMs0EWM1ElUt1Jm9MCIga ntsH5U8zhi/sMd/er10Sp4ZoHSBGLULiSvw4n8QoaMTk9Z/POTdFg76DpPdJUMgpl9U9 bxqkVJAq8neKoIQb8Z1XtHfAsnG+JAIqsGuHouGPw4hccZ457zNwuQQjkrhs4lARX5V6 z7cQ== X-Gm-Message-State: AOAM53367yTpiYeAQGMlzjo7hzp4rwO/xqVOS4P3k233hr5M6Qq6K+uh lyh8fFMt6EkYGMzu+kfwyN0= X-Google-Smtp-Source: ABdhPJxio/jGTwBQWDnqjiT79UYewiOW0Y5DhvmCeNwn9DY/XWexa65mQHlc//eNGoBNK6n6rcQsZw== X-Received: by 2002:a17:90a:2622:: with SMTP id l31mr1636349pje.18.1591769707020; Tue, 09 Jun 2020 23:15:07 -0700 (PDT) Received: from garuda-lan (c-73-97-103-127.hsd1.wa.comcast.net. [73.97.103.127]) by smtp.gmail.com with ESMTPSA id 124sm11447927pfb.15.2020.06.09.23.15.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Jun 2020 23:15:05 -0700 (PDT) From: Chris Marusich References: <874krtnvk8.fsf@gmail.com> <87y2p4mqe2.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) Date: Tue, 09 Jun 2020 23:15:01 -0700 Message-ID: <87imfzcuqi.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vincent Legoll , =?UTF-8?Q?L=C3=A9o?= Le Bouter , Maxim Cournoyer Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=gmail.com header.s=20161025 header.b=vEjYDOV8; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: -0.51 X-TUID: ZqWI44lPScYp --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Vincent and everyone, Vincent Legoll writes: > Is that showing the same (or a similar) problem : > > https://data.guix-patches.cbaines.net/gnu/store/0lcbxpw1vrca02dzpzw2rxhad= 7pn4zw7-gcc-objc-5.5.0 > > ? Can you clarify what you mean? I'm not sure what you're referring to. Chris Marusich writes: > At present, it seems possible that within the context of a single > machine, gcc-stripped-tarball-5.5.0.drv builds reproducibly, but on a > different machine, it may (reproducibly) build a different output. > I'm a bit paranoid about making mistakes, so I'll perform another full > GC and then try yet again to build gcc-stripped-tarball-5.5.0.drv in > order to verify whether it truly produces the same output when all (or > nearly all) of its inputs are rebuilt from scratch. I repeated the experiment on the same machine (it took a day or two to build), and the result was the same: on my machine, gcc-stripped-tarball-5.5.0.drv builds identical output to what it built before. To be clear, using Guix 8159ce1970d91567468cf1bacac313099a009d2a on an x86_64-linux machine, I tried (yet again) the following steps: =2D I deleted as much as I could from the store using 'guix gc'. =2D I explicitly verified that all outputs for the following derivations no longer existed in the store: /gnu/store/pygln3lr6qbxcps3kmn3w4bc0d0nlpd3-gcc-stripped-tarball-5.5.0.drv /gnu/store/kcv3ja1rfr93hw6ly51878zjhdwpgv7z-gcc-stripped-5.5.0.drv /gnu/store/m9hfwppla8lph0vxa15lfkp81s2bbjjs-gcc-static-5.5.0.drv /gnu/store/g9fpkg2qa27mka1znqsvx8vxqyabsj2y-gcc-7.5.0.drv =2D I then built gcc-stripped-tarball-5.5.0.drv via the following command: guix build --no-substitutes --check --target=3Dpowerpc64-linux-gnu \ -e '(@@ (gnu packages make-bootstrap) %gcc-static)' This rebuilt basically everything, including gcc-7.5.0.drv and the other derivations mentioned above. When I checked the built output of the gcc-stripped-tarball-5.5.0.drv derivation, I found that its SHA-512 hash was identical to the one I calculated previously, which was: =2D-8<---------------cut here---------------start------------->8--- 8aca7f332a1ba8e3c2225c161a7545b0a04ddd690d164dc97afee9c9ea067b0c49bc155e9f0= 6d285c22e24cdd16d91e59730af5f1dd9efcda13a26bede5948a2 /gnu/store/rsmhiyplm= biqm1qwniiafi4ak76pd61v-gcc-stripped-tarball-5.5.0/gcc-stripped-5.5.0-power= pc64-linux-gnu.tar.xz =2D-8<---------------cut here---------------end--------------->8--- Anyway, this confirms what we already knew: GCC builds reproducibly on my machine, but it is different when other people build it on other machines. I'm now quite convinced of this fact. Jack and Vincent shared their build results on the email list. For reference, you can get them here: https://flashner.co.il/~efraim/gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz https://jackhill.us/misc/gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz https://media.marusich.info/gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz I also received a copy of Vincent's build results via private email. In short, they all seem to differ in basically the same ways: =2D-8<---------------cut here---------------start------------->8--- [1] marusich@garuda-lan:~/Documents/notes/guix/ppc/gcc-stripped-tarballs $ diff -r chris jack Binary files chris/bin/c++ and jack/bin/c++ differ Binary files chris/bin/cpp and jack/bin/cpp differ Binary files chris/bin/g++ and jack/bin/g++ differ Binary files chris/bin/gcc and jack/bin/gcc differ Binary files chris/bin/gcov and jack/bin/gcov differ Binary files chris/bin/gcov-dump and jack/bin/gcov-dump differ Binary files chris/bin/gcov-tool and jack/bin/gcov-tool differ Binary files chris/bin/powerpc64-linux-gnu-c++ and jack/bin/powerpc64-linux= -gnu-c++ differ Binary files chris/bin/powerpc64-linux-gnu-g++ and jack/bin/powerpc64-linux= -gnu-g++ differ Binary files chris/bin/powerpc64-linux-gnu-gcc and jack/bin/powerpc64-linux= -gnu-gcc differ Binary files chris/bin/powerpc64-linux-gnu-gcc-5.5.0 and jack/bin/powerpc64= -linux-gnu-gcc-5.5.0 differ Binary files chris/lib/libstdc++.a and jack/lib/libstdc++.a differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1 and jack/libex= ec/gcc/powerpc64-linux-gnu/5.5.0/cc1 differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus and jack/l= ibexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 and jack/= libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper and ja= ck/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper differ [1] marusich@garuda-lan:~/Documents/notes/guix/ppc/gcc-stripped-tarballs $ diff -r chris vincent Binary files chris/bin/c++ and vincent/bin/c++ differ Binary files chris/bin/cpp and vincent/bin/cpp differ Binary files chris/bin/g++ and vincent/bin/g++ differ Binary files chris/bin/gcc and vincent/bin/gcc differ Binary files chris/bin/gcov and vincent/bin/gcov differ Binary files chris/bin/gcov-dump and vincent/bin/gcov-dump differ Binary files chris/bin/gcov-tool and vincent/bin/gcov-tool differ Binary files chris/bin/powerpc64-linux-gnu-c++ and vincent/bin/powerpc64-li= nux-gnu-c++ differ Binary files chris/bin/powerpc64-linux-gnu-g++ and vincent/bin/powerpc64-li= nux-gnu-g++ differ Binary files chris/bin/powerpc64-linux-gnu-gcc and vincent/bin/powerpc64-li= nux-gnu-gcc differ Binary files chris/bin/powerpc64-linux-gnu-gcc-5.5.0 and vincent/bin/powerp= c64-linux-gnu-gcc-5.5.0 differ Binary files chris/lib/libstdc++.a and vincent/lib/libstdc++.a differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1 and vincent/li= bexec/gcc/powerpc64-linux-gnu/5.5.0/cc1 differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus and vincen= t/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 and vince= nt/libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper and vi= ncent/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper differ [1] marusich@garuda-lan:~/Documents/notes/guix/ppc/gcc-stripped-tarballs $ diff -r chris efraim Binary files chris/bin/c++ and efraim/bin/c++ differ Binary files chris/bin/cpp and efraim/bin/cpp differ Binary files chris/bin/g++ and efraim/bin/g++ differ Binary files chris/bin/gcc and efraim/bin/gcc differ Binary files chris/bin/gcov and efraim/bin/gcov differ Binary files chris/bin/gcov-dump and efraim/bin/gcov-dump differ Binary files chris/bin/gcov-tool and efraim/bin/gcov-tool differ Binary files chris/bin/powerpc64-linux-gnu-c++ and efraim/bin/powerpc64-lin= ux-gnu-c++ differ Binary files chris/bin/powerpc64-linux-gnu-g++ and efraim/bin/powerpc64-lin= ux-gnu-g++ differ Binary files chris/bin/powerpc64-linux-gnu-gcc and efraim/bin/powerpc64-lin= ux-gnu-gcc differ Binary files chris/bin/powerpc64-linux-gnu-gcc-5.5.0 and efraim/bin/powerpc= 64-linux-gnu-gcc-5.5.0 differ diff -r chris/lib/gcc/powerpc64-linux-gnu/5.5.0/include-fixed/bits/statx.h = efraim/lib/gcc/powerpc64-linux-gnu/5.5.0/include-fixed/bits/statx.h 5c5 < "/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include/bits/sta= tx.h" =2D-- > "/gnu/store/cb88z63hyg1icd2kkahiink2p291mhr2-glibc-2.31/include/bits/sta= tx.h" Binary files chris/lib/libstdc++.a and efraim/lib/libstdc++.a differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1 and efraim/lib= exec/gcc/powerpc64-linux-gnu/5.5.0/cc1 differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus and efraim= /libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 and efrai= m/libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 differ Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper and ef= raim/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper differ [1] marusich@garuda-lan:~/Documents/notes/guix/ppc/gcc-stripped-tarballs $=20 =2D-8<---------------cut here---------------end--------------->8--- Efraim's diff looks a little different in statx.h, even though he used the same Guix commit as me. Maybe this is because he cross-compiled on an aarch64-linux machine, while I cross-compiled on an x86_64-linux machine. In the other cases, it looks like the binary files differ in basically the same ways. I will share some examples below. Here is some diffoscope output between my c++ and Efraim's (many other sections also differed in similarly cryptic ways): =2D-8<---------------cut here---------------start------------->8--- diffoscope chris/bin/c++ efraim/bin/c++ ... =E2=94=9C=E2=94=80=E2=94=80 /gnu/store/xakj5dgs1729297nv50s84sdmq2jiz64-bin= utils-2.34/bin/readelf --wide --symbols {} =E2=94=82 @@ -328,18 +328,18 @@ =E2=94=82 324: 00000000101aece0 152 FUNC LOCAL DEFAULT 19 check= _free.isra.0 =E2=94=82 325: 00000000101aed28 24 FUNC LOCAL DEFAULT 19 fini =E2=94=82 326: 00000000101b6008 8 OBJECT LOCAL DEFAULT 24 stati= c_buf =E2=94=82 327: 00000000101b6010 32 OBJECT LOCAL DEFAULT 24 last_= result =E2=94=82 328: 00000000101b6030 4 OBJECT LOCAL DEFAULT 24 key =E2=94=82 329: 00000000101b6034 4 OBJECT LOCAL DEFAULT 24 once =E2=94=82 330: 00000000101b23b8 104 OBJECT LOCAL DEFAULT 22 _dlfc= n_hooks =E2=94=82 - 331: 00000000101a98f8 524 FUNC LOCAL DEFAULT 19 _ZN12= _GLOBAL__N_14pool4freeEPv.constprop.2 =E2=94=82 - 332: 00000000101a9910 524 FUNC LOCAL DEFAULT 19 _ZN12= _GLOBAL__N_14pool8allocateEm.constprop.3 =E2=94=82 - 333: 00000000101a99a0 180 FUNC LOCAL DEFAULT 19 _GLOB= AL__sub_I_eh_alloc.cc =E2=94=82 - 334: 00000000101b4f68 64 OBJECT LOCAL DEFAULT 24 _ZN12= _GLOBAL__N_114emergency_poolE =E2=94=82 + 331: 00000000101a9880 524 FUNC LOCAL DEFAULT 19 _ZN12= _GLOBAL__N_14pool4freeEPv.constprop.2 =E2=94=82 + 332: 00000000101a9898 524 FUNC LOCAL DEFAULT 19 _ZN12= _GLOBAL__N_14pool8allocateEm.constprop.3 =E2=94=82 + 333: 00000000101a9928 180 FUNC LOCAL DEFAULT 19 _GLOB= AL__sub_I_eh_alloc.cc =E2=94=82 + 334: 00000000101b4f78 64 OBJECT LOCAL DEFAULT 24 _ZN12= _GLOBAL__N_114emergency_poolE =E2=94=82 335: 000000001011c5a8 19 OBJECT LOCAL DEFAULT 7 _ZZ18= ggc_internal_allocmPFvPvEmmE12__FUNCTION__ =E2=94=82 336: 000000001011c5c0 27 OBJECT LOCAL DEFAULT 7 _ZZ26= ggc_internal_cleared_allocmPFvPvEmmE12__FUNCTION__ =E2=94=82 337: 000000001011c600 21 OBJECT LOCAL DEFAULT 7 _ZZ20= lang_specific_driverPP17cl_decoded_optionPjPiE12__FUNCTION__ =E2=94=82 338: 00000000101a42d0 228 FUNC LOCAL DEFAULT 19 _ZL12= elf_platformv =E2=94=82 339: 00000000101a42e8 236 FUNC LOCAL DEFAULT 19 _ZL15= elf_dcachebsizev =E2=94=82 340: 00000000101a4300 164 FUNC LOCAL DEFAULT 19 _ZL14= describe_cachejjjj.isra.0.constprop.1 =E2=94=82 341: 000000001011c6b8 752 OBJECT LOCAL DEFAULT 7 _ZL9a= sm_names ... =E2=94=82 @@ -1379,25 +1379,25 @@ =E2=94=82 1375: 00000000101b2448 0 SECTION LOCAL DEFAULT 23=20 =E2=94=82 1376: 00000000101b2b80 0 SECTION LOCAL DEFAULT 24=20 =E2=94=82 1377: 00000000101b6860 0 SECTION LOCAL DEFAULT 25=20 =E2=94=82 1378: 0000000000000000 0 SECTION LOCAL DEFAULT 26=20 =E2=94=82 1379: 0000000000000000 0 SECTION LOCAL DEFAULT 27=20 =E2=94=82 1380: 00000000101a2a28 752 OBJECT GLOBAL DEFAULT 18 _nl_C= _LC_CTYPE =E2=94=82 1381: 00000000101ace20 56 IFUNC GLOBAL DEFAULT 19 __lib= c_strcspn =E2=94=82 - 1382: 00000000101a9958 100 FUNC GLOBAL DEFAULT 19 __cxa= _free_exception =E2=94=82 + 1382: 00000000101a98e0 100 FUNC GLOBAL DEFAULT 19 __cxa= _free_exception =E2=94=82 1383: 00000000101acfe8 104 FUNC WEAK DEFAULT 19 stpcpy =E2=94=82 1384: 00000000101ab7e8 516 FUNC GLOBAL DEFAULT 19 putch= ar =E2=94=82 - 1385: 00000000101a9598 20 FUNC GLOBAL DEFAULT 19 _ZNKS= t9type_info15__is_function_pEv =E2=94=82 + 1385: 00000000101a9778 20 FUNC GLOBAL DEFAULT 19 _ZNKS= t9type_info15__is_function_pEv =E2=94=82 1386: 000000001016a3cc 76 OBJECT GLOBAL DEFAULT 7 _nl_C= _LC_CTYPE_class_print =E2=94=82 1387: 00000000101adfc0 640 FUNC WEAK DEFAULT 19 tsear= ch =E2=94=82 1388: 00000000101af0a0 176 FUNC WEAK DEFAULT 19 clock= _gettime =E2=94=82 1389: 00000000101a4150 4856 FUNC GLOBAL DEFAULT 19 _ZNK6= driver12set_up_specsEv =E2=94=82 1390: 00000000101a9268 88 FUNC GLOBAL DEFAULT 19 xmall= oc =E2=94=82 1391: 00000000101b1d68 8 OBJECT GLOBAL DEFAULT 22 __mor= ecore =E2=94=82 - 1392: 00000000101a9568 40 FUNC GLOBAL DEFAULT 19 _ZSt1= 0unexpectedv =E2=94=82 + 1392: 00000000101a94f0 40 FUNC GLOBAL DEFAULT 19 _ZSt1= 0unexpectedv =E2=94=82 1393: 00000000101a8ef0 60 FUNC GLOBAL DEFAULT 19 lbase= name =E2=94=82 1394: 00000000101aded0 96 FUNC GLOBAL DEFAULT 19 __get= dtablesize =E2=94=82 1395: 00000000101a4348 752 FUNC GLOBAL DEFAULT 19 updat= e_path ... =E2=94=9C=E2=94=80=E2=94=80 /gnu/store/xakj5dgs1729297nv50s84sdmq2jiz64-bin= utils-2.34/bin/readelf --wide --decompress --hex-dump=3D.data.rel.ro {} =E2=94=82 @@ -112,27 +112,27 @@ =E2=94=82 0x101a1718 00000000 10164560 00000009 00000001 ......E`........ =E2=94=82 0x101a1728 00000000 10164570 00000000 10164578 ......Ep......Ex =E2=94=82 0x101a1738 0000000c 00000002 00000000 101499e8 ................ =E2=94=82 0x101a1748 00000000 10116018 00000001 00000001 ......`......... =E2=94=82 0x101a1758 00000000 10164588 00000000 10164590 ......E.......E. =E2=94=82 0x101a1768 00000007 00000001 00000000 10119850 ...............P =E2=94=82 0x101a1778 00000000 1015e290 00000002 00000002 ................ =E2=94=82 - 0x101a1788 00000000 101641c0 00000000 101653e8 ......A.......S. =E2=94=82 + 0x101a1788 00000000 101641c0 00000000 101653a8 ......A.......S. =E2=94=82 0x101a1798 00000001 00000002 00000000 10164598 ..............E. =E2=94=82 0x101a17a8 00000000 10117df0 00000001 00000002 ......}......... =E2=94=82 0x101a17b8 00000000 101645a0 00000000 1015e238 ......E........8 =E2=94=82 0x101a17c8 00000002 00000002 00000000 101645a8 ..............E. =E2=94=82 0x101a17d8 00000000 101631d8 00000001 00000002 ......1......... =E2=94=82 0x101a17e8 00000000 101645b0 00000000 1015e1e0 ......E......... =E2=94=82 - 0x101a17f8 00000002 00000002 00000000 101653c0 ..............S. =E2=94=82 + 0x101a17f8 00000002 00000002 00000000 10165380 ..............S. =E2=94=82 0x101a1808 00000000 1015e268 00000003 00000003 .......h........ =E2=94=82 - 0x101a1818 00000000 101653c8 00000000 1015e268 ......S........h =E2=94=82 - 0x101a1828 00000003 00000003 00000000 101653d0 ..............S. =E2=94=82 + 0x101a1818 00000000 10165388 00000000 1015e268 ......S........h =E2=94=82 + 0x101a1828 00000003 00000003 00000000 10165390 ..............S. =E2=94=82 0x101a1838 00000000 1015e268 00000003 00000002 .......h........ =E2=94=82 - 0x101a1848 00000000 101653d8 00000000 1015e268 ......S........h =E2=94=82 + 0x101a1848 00000000 10165398 00000000 1015e268 ......S........h =E2=94=82 0x101a1858 00000003 00000002 00000000 10144ea8 ..............N. =E2=94=82 0x101a1868 00000000 1015e1f0 00000002 00000002 ................ ... =2D-8<---------------cut here---------------end--------------->8--- Here is some diffoscope output betweeen my c++ and Jack's (many other sections also differed in similarly cryptic ways): =2D-8<---------------cut here---------------start------------->8--- diffoscope chris/bin/c++ jack/bin/c++ ... =E2=94=9C=E2=94=80=E2=94=80 /gnu/store/xakj5dgs1729297nv50s84sdmq2jiz64-bin= utils-2.34/bin/readelf --wide --symbols {} =E2=94=82 @@ -328,17 +328,17 @@ =E2=94=82 324: 00000000101aece0 152 FUNC LOCAL DEFAULT 19 check= _free.isra.0 =E2=94=82 325: 00000000101aed28 24 FUNC LOCAL DEFAULT 19 fini =E2=94=82 326: 00000000101b6008 8 OBJECT LOCAL DEFAULT 24 stati= c_buf =E2=94=82 327: 00000000101b6010 32 OBJECT LOCAL DEFAULT 24 last_= result =E2=94=82 328: 00000000101b6030 4 OBJECT LOCAL DEFAULT 24 key =E2=94=82 329: 00000000101b6034 4 OBJECT LOCAL DEFAULT 24 once =E2=94=82 330: 00000000101b23b8 104 OBJECT LOCAL DEFAULT 22 _dlfc= n_hooks =E2=94=82 - 331: 00000000101a98f8 524 FUNC LOCAL DEFAULT 19 _ZN12= _GLOBAL__N_14pool4freeEPv.constprop.2 =E2=94=82 - 332: 00000000101a9910 524 FUNC LOCAL DEFAULT 19 _ZN12= _GLOBAL__N_14pool8allocateEm.constprop.3 =E2=94=82 - 333: 00000000101a99a0 180 FUNC LOCAL DEFAULT 19 _GLOB= AL__sub_I_eh_alloc.cc =E2=94=82 + 331: 00000000101a94c0 524 FUNC LOCAL DEFAULT 19 _ZN12= _GLOBAL__N_14pool4freeEPv.constprop.2 =E2=94=82 + 332: 00000000101a94d8 524 FUNC LOCAL DEFAULT 19 _ZN12= _GLOBAL__N_14pool8allocateEm.constprop.3 =E2=94=82 + 333: 00000000101a9568 180 FUNC LOCAL DEFAULT 19 _GLOB= AL__sub_I_eh_alloc.cc =E2=94=82 334: 00000000101b4f68 64 OBJECT LOCAL DEFAULT 24 _ZN12= _GLOBAL__N_114emergency_poolE =E2=94=82 335: 000000001011c5a8 19 OBJECT LOCAL DEFAULT 7 _ZZ18= ggc_internal_allocmPFvPvEmmE12__FUNCTION__ =E2=94=82 336: 000000001011c5c0 27 OBJECT LOCAL DEFAULT 7 _ZZ26= ggc_internal_cleared_allocmPFvPvEmmE12__FUNCTION__ =E2=94=82 337: 000000001011c600 21 OBJECT LOCAL DEFAULT 7 _ZZ20= lang_specific_driverPP17cl_decoded_optionPjPiE12__FUNCTION__ =E2=94=82 338: 00000000101a42d0 228 FUNC LOCAL DEFAULT 19 _ZL12= elf_platformv =E2=94=82 339: 00000000101a42e8 236 FUNC LOCAL DEFAULT 19 _ZL15= elf_dcachebsizev =E2=94=82 340: 00000000101a4300 164 FUNC LOCAL DEFAULT 19 _ZL14= describe_cachejjjj.isra.0.constprop.1 ... =E2=94=9C=E2=94=80=E2=94=80 /gnu/store/xakj5dgs1729297nv50s84sdmq2jiz64-bin= utils-2.34/bin/readelf --wide --decompress --hex-dump=3D.data.rel.ro {} =E2=94=82 @@ -206,60 +206,60 @@ =E2=94=82 0x101a1cf8 00000000 101a3b08 00000000 10118108 ......;......... =E2=94=82 0x101a1d08 00000000 101a4120 00000000 10118120 ......A .......= =20 =E2=94=82 0x101a1d18 00000000 101a4108 00000000 10115758 ......A.......WX =E2=94=82 0x101a1d28 00000000 101a3a60 00000000 10118138 ......:`.......8 =E2=94=82 0x101a1d38 00000000 101a3a48 00000000 10115ae8 ......:H......Z. =E2=94=82 0x101a1d48 00000000 101a3c10 00000000 10118150 ......<........P =E2=94=82 0x101a1d58 00000000 101a4318 00000000 00000000 ......C......... =E2=94=82 - 0x101a1d68 00000000 00000000 00000000 101a1dd8 ................ =E2=94=82 - 0x101a1d78 00000000 101650d0 00000000 101a1e70 ......P........p =E2=94=82 - 0x101a1d88 00000000 00000000 00000000 101a1d70 ...............p =E2=94=82 - 0x101a1d98 00000000 101a9388 00000000 101a93a0 ................ =E2=94=82 - 0x101a1da8 00000000 101a9370 00000000 101a1dd8 .......p........ =E2=94=82 - 0x101a1db8 00000000 101650f0 00000000 101a1fd8 ......P......... =E2=94=82 - 0x101a1dc8 00000000 00000000 00000000 101a1db0 ................ =E2=94=82 - 0x101a1dd8 00000000 101a93d0 00000000 101a93e8 ................ =E2=94=82 - 0x101a1de8 00000000 101a9598 00000000 101a9598 ................ =E2=94=82 - 0x101a1df8 00000000 101a9b20 00000000 101a9a90 ....... ........ =E2=94=82 - 0x101a1e08 00000000 101a9430 00000000 101a9418 .......0........ =E2=94=82 - 0x101a1e18 00000000 101a9400 00000000 101a2000 .............. . =E2=94=82 - 0x101a1e28 00000000 10165118 00000000 00000000 ......Q......... =E2=94=82 - 0x101a1e38 00000000 101a1e20 00000000 101a9580 ....... ........ =E2=94=82 - 0x101a1e48 00000000 101a95c8 00000000 101a9598 ................ =E2=94=82 - 0x101a1e58 00000000 101a9598 00000000 101a95e0 ................ =E2=94=82 - 0x101a1e68 00000000 101a95b0 00000000 101a2000 .............. . =E2=94=82 - 0x101a1e78 00000000 10165128 00000000 101a1dd8 ......Q(........ =E2=94=82 - 0x101a1e88 00000000 10165138 00000000 101a1e70 ......Q8.......p =E2=94=82 - 0x101a1e98 00000000 101a2000 00000000 10165150 ...... .......QP =E2=94=82 - 0x101a1ea8 00000000 101a2000 00000000 10165170 ...... .......Qp =E2=94=82 - 0x101a1eb8 00000000 00000000 00000000 101a1e70 ...............p =E2=94=82 - 0x101a1ec8 00000000 101a96e8 00000000 101a9748 ...............H =E2=94=82 - 0x101a1ed8 00000000 101a9718 00000000 00000000 ................ =E2=94=82 - 0x101a1ee8 00000000 101a1e80 00000000 101a9700 ................ =E2=94=82 - 0x101a1ef8 00000000 101a9760 00000000 101a9730 .......`.......0 =E2=94=82 - 0x101a1f08 00000000 00000000 00000000 101a1e98 ................ =E2=94=82 - 0x101a1f18 00000000 00000000 00000000 00000000 ................ =E2=94=82 - 0x101a1f28 00000000 101a99b8 00000000 00000000 ................ =E2=94=82 - 0x101a1f38 00000000 101a1ea8 00000000 00000000 ................ =E2=94=82 - 0x101a1f48 00000000 00000000 00000000 101a99b8 ................ =E2=94=82 - 0x101a1f58 00000000 101a1dd8 00000000 101651c0 ..............Q. =E2=94=82 - 0x101a1f68 00000000 101a1e70 00000000 101a1dd8 .......p........ =E2=94=82 - 0x101a1f78 00000000 101651e8 00000000 101a1e70 ......Q........p =E2=94=82 - 0x101a1f88 00000000 00000000 00000000 101a1f58 ...............X =E2=94=82 - 0x101a1f98 00000000 101a9880 00000000 101a98b0 ................ =E2=94=82 - 0x101a1fa8 00000000 101a9850 00000000 00000000 .......P........ =E2=94=82 - 0x101a1fb8 00000000 101a1f70 00000000 101a9898 .......p........ =E2=94=82 - 0x101a1fc8 00000000 101a98c8 00000000 101a9868 ...............h =E2=94=82 - 0x101a1fd8 00000000 101a1dd8 00000000 101652a8 ..............R. =E2=94=82 - 0x101a1fe8 00000000 101a1e20 00000000 00000000 ....... ........ =E2=94=82 - 0x101a1ff8 00000000 101a1fd8 00000000 101a9ac0 ................ =E2=94=82 - 0x101a2008 00000000 101a9ad8 00000000 101a9598 ................ =E2=94=82 - 0x101a2018 00000000 101a9598 00000000 101a9b20 ...............= =20 =E2=94=82 - 0x101a2028 00000000 101a9a90 00000000 101a9b08 ................ =E2=94=82 - 0x101a2038 00000000 101a9af0 00000000 101a9aa8 ................ =E2=94=82 + 0x101a1d68 00000000 00000000 00000000 101a1f40 ...............@ =E2=94=82 + 0x101a1d78 00000000 101650d0 00000000 101a1e30 ......P........0 =E2=94=82 + 0x101a1d88 00000000 101a1f40 00000000 101650f8 .......@......P. =E2=94=82 + 0x101a1d98 00000000 101a1e30 00000000 00000000 .......0........ =E2=94=82 + 0x101a1da8 00000000 101a1d70 00000000 101a9448 .......p.......H =E2=94=82 + 0x101a1db8 00000000 101a9478 00000000 101a9418 .......x........ =E2=94=82 + 0x101a1dc8 00000000 00000000 00000000 101a1d88 ................ =E2=94=82 + 0x101a1dd8 00000000 101a9460 00000000 101a9490 .......`........ =E2=94=82 + 0x101a1de8 00000000 101a9430 00000000 101a1f40 .......0.......@ =E2=94=82 + 0x101a1df8 00000000 10165178 00000000 101a1e30 ......Qx.......0 =E2=94=82 + 0x101a1e08 00000000 00000000 00000000 101a1df0 ................ =E2=94=82 + 0x101a1e18 00000000 101a9610 00000000 101a9628 ...............( =E2=94=82 + 0x101a1e28 00000000 101a95f8 00000000 101a1fb0 ................ =E2=94=82 + 0x101a1e38 00000000 10165198 00000000 101a1f40 ......Q........@ =E2=94=82 + 0x101a1e48 00000000 101651a8 00000000 101a1e30 ......Q........0 =E2=94=82 + 0x101a1e58 00000000 101a1fb0 00000000 101651c0 ..............Q. =E2=94=82 + 0x101a1e68 00000000 101a1fb0 00000000 101651e0 ..............Q. =E2=94=82 + 0x101a1e78 00000000 00000000 00000000 101a1e30 ...............0 =E2=94=82 + 0x101a1e88 00000000 101a9760 00000000 101a97c0 .......`........ =E2=94=82 + 0x101a1e98 00000000 101a9790 00000000 00000000 ................ =E2=94=82 + 0x101a1ea8 00000000 101a1e40 00000000 101a9778 .......@.......x =E2=94=82 + 0x101a1eb8 00000000 101a97d8 00000000 101a97a8 ................ =E2=94=82 + 0x101a1ec8 00000000 00000000 00000000 101a1e58 ...............X =E2=94=82 + 0x101a1ed8 00000000 00000000 00000000 00000000 ................ =E2=94=82 + 0x101a1ee8 00000000 101a98b0 00000000 00000000 ................ =E2=94=82 + 0x101a1ef8 00000000 101a1e68 00000000 00000000 .......h........ =E2=94=82 + 0x101a1f08 00000000 00000000 00000000 101a98b0 ................ =E2=94=82 + 0x101a1f18 00000000 101a1f40 00000000 10165270 .......@......Rp =E2=94=82 + 0x101a1f28 00000000 101a1f88 00000000 00000000 ................ =E2=94=82 + 0x101a1f38 00000000 101a1f18 00000000 101a98e0 ................ =E2=94=82 + 0x101a1f48 00000000 101a98f8 00000000 101a9af0 ................ =E2=94=82 + 0x101a1f58 00000000 101a9af0 00000000 101a9ac0 ................ =E2=94=82 + 0x101a1f68 00000000 101a9a30 00000000 101a9940 .......0.......@ =E2=94=82 + 0x101a1f78 00000000 101a9928 00000000 101a9910 .......(........ =E2=94=82 + 0x101a1f88 00000000 101a1f40 00000000 10165298 .......@......R. =E2=94=82 + 0x101a1f98 00000000 101a1ff8 00000000 00000000 ................ =E2=94=82 + 0x101a1fa8 00000000 101a1f88 00000000 101a9a60 ...............` =E2=94=82 + 0x101a1fb8 00000000 101a9a78 00000000 101a9af0 .......x........ =E2=94=82 + 0x101a1fc8 00000000 101a9af0 00000000 101a9ac0 ................ =E2=94=82 + 0x101a1fd8 00000000 101a9a30 00000000 101a9aa8 .......0........ =E2=94=82 + 0x101a1fe8 00000000 101a9a90 00000000 101a9a48 ...............H =E2=94=82 + 0x101a1ff8 00000000 101a1fb0 00000000 101652c0 ..............R. =E2=94=82 + 0x101a2008 00000000 00000000 00000000 101a1ff8 ................ =E2=94=82 + 0x101a2018 00000000 101a9ad8 00000000 101a9b20 ...............= =20 =E2=94=82 + 0x101a2028 00000000 101a9af0 00000000 101a9af0 ................ =E2=94=82 + 0x101a2038 00000000 101a9b38 00000000 101a9b08 .......8........ =E2=94=82 0x101a2048 00000000 10165a28 00000000 101aa888 ......Z(........ =E2=94=82 0x101a2058 00000000 00000000 04040404 00000000 ................ =E2=94=82 0x101a2068 00000000 10165a38 00000000 101aa8a0 ......Z8........ =E2=94=82 0x101a2078 00000000 00000000 04040404 00000000 ................ =E2=94=82 0x101a2088 00000000 10165a58 00000000 101aa8b8 ......ZX........ =E2=94=82 0x101a2098 00000000 00000000 04040404 00000000 ................ =E2=94=82 0x101a20a8 00000000 10165a70 00000000 101aa8d0 ......Zp........ =2D-8<---------------cut here---------------end--------------->8--- If I'm reading this correctly, one problem seems to be that our GCC toolchains are putting symbols at different locations. This issue (and maybe others) could be trickling down, causing other aspects of the binaries to differ (e.g., in length). Nothing really stands out, but when we discussed this on IRC, we thought perhaps factors like the following might contribute to the non-reproducibility: =2D Perhaps we are all running different Linux kernel versions? In some cases, the kernel version can unfortunately influence the build output, so this might be worth testing. =2D Perhaps the GCC Makefiles etc. are doing something non-deterministic? =2D Something else? Avenues of investigation: =2D If anything obvious stands out from the diffoscope output, please leave a comment. =2D Try building with different kernel versions on the same machine, to see if they differ. =2D If somebody else could please confirm that running the following command reports no difference on their own machine (i.e., exit code 0), that would be good to know, since it would help further solidify the theory that on a single machine, the build of gcc-static-5.5.0.drv is reproducible, even if it is not reproducible across machines: guix build --no-substitutes --check --target=3Dpowerpc64-linux-gnu \ -e '(@@ (gnu packages make-bootstrap) %gcc-static)' =2D Try building two different versions of gcc-7.5.0 (maybe by hand?), and then use them to build a simple reproduction case and compare results. If we're lucky, maybe this will help us understand the problem better. We'll get there! =2D-=20 Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl7gemUACgkQ3UCaFdgi Rp3CJA/+I1u4W3TlKPLAWFq8mPWkE9iJGwWKcbSfVAMONQGqqNFv6nBfix2AhZDj trMnElbu7sDXDsihJnopBeoKmSpfYl59O4eFbRcpKzVxSg4aJ78GFoqwX9KKTNTG l0BJNnnrSwdxWQWZiZ3+ujexdSd3gpWk176WkcrDzUWLknBfGE+SRQf2j4JldnZ+ 8dDhMRhT+2jkRQBWUi6hZ6FP0xAmrOP6fpBv+aIrjQXgx6OsERpFy+paqn4lLjnn Lr0J943KlrpSDRDTX6VOZkpgNnZqq75QWoOWdVpcNrGtzEDusw6AoxUudQm1ZNZf TZqq1LQiH4S4V7M5T//PftkDRoCoHyynaePNrkQpzcNKjeG0jGK4xRZss+2eAEVV pZZAXMbe17JhkNjjxxlYI+CwhXAXV5Xy5llUM1DMd9oG9TCl+21xgboIaV9Nvyz8 8fYU4B0diXCXSGLc7odtDhZfukhag9geVuOh+7XfzTdItYEfC/vwrzC9JZZt0vbj jI6iKR5yvG6oEqdJkMTUBDONphCq2H7R3s+hyr8W5CO/VZ2UonE7Q/lE610hfpaS lagRuriOAkFtsyt15IsfJ/dHNJDnlzwrpe2YI/7Wr+cyUBGAnAzRHsGw0oYiQNUV jYoht9mw3kpqvh9/C8TLAF9KZBDUDWAcMaOFLSPgN72oGufMCq4= =7To8 -----END PGP SIGNATURE----- --=-=-=--