https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93398
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|WORKSFORME |--- Status|RESOLVED |REOPENED --- Comment #10 from Martin Liška <marxin at gcc dot gnu.org> --- It's so easy to end up with a different binary for GCC: @@ -174,7 +174,7 @@ .//objdir/gcc/c/c-decl.gcda: 01ab0000: 0:COUNTERS average 0 counts .//objdir/gcc/c/c-decl.gcda: 01ad0000: 0:COUNTERS ior 0 counts .//objdir/gcc/c/c-decl.gcda: 01af0000: 2:COUNTERS time_profiler 1 counts -.//objdir/gcc/c/c-decl.gcda: 0: 2419 +.//objdir/gcc/c/c-decl.gcda: 0: 2420 .//objdir/gcc/c/c-decl.gcda: 01000000: 3:FUNCTION ident=1446792123, lineno_checksum=0x069e6627, cfg_checksum=0x4c361918 .//objdir/gcc/c/c-decl.gcda: 01a10000: 28:COUNTERS arcs 14 counts .//objdir/gcc/c/c-decl.gcda: 0: 29954 2 2 28793 0 0 873 0 @@ -184,7 +184,7 @@ .//objdir/gcc/c/c-decl.gcda: 01ab0000: 0:COUNTERS average 0 counts .//objdir/gcc/c/c-decl.gcda: 01ad0000: 0:COUNTERS ior 0 counts .//objdir/gcc/c/c-decl.gcda: 01af0000: 2:COUNTERS time_profiler 1 counts -.//objdir/gcc/c/c-decl.gcda: 0: 2421 +.//objdir/gcc/c/c-decl.gcda: 0: 2422 .//objdir/gcc/c/c-decl.gcda: 01000000: 3:FUNCTION ident=1033776594, lineno_checksum=0x0314bcea, cfg_checksum=0xa707611a .//objdir/gcc/c/c-decl.gcda: 01a10000: 16:COUNTERS arcs 8 counts .//objdir/gcc/c/c-decl.gcda: 0: 50 16 0 50 0 50 0 0 So a slightly different tp_first_run can cause different function order: $ objfolderdiff.py /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-reproducible/base/objdir/gcc/ /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-reproducible/next/objdir/gcc/ -d 103/ 624: c/c-decl.o: different --- /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-reproducible/base/objdir/gcc/c/c-decl.o.s.txt 2020-04-07 17:43:18.280993473 +0200 +++ /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-reproducible/next/objdir/gcc/c/c-decl.o.s.txt 2020-04-07 17:43:18.280993473 +0200 @@ -34570,15 +34570,6 @@ 36: 89 f8 mov %edi,%eax 38: c3 retq -Disassembly of section .text._Z17ggc_cleared_allocI9lang_typeEPT_v: - -0000000000000000 <_Z17ggc_cleared_allocI9lang_typeEPT_v>: - 0: b9 01 00 00 00 mov $0x1,%ecx - 5: 31 d2 xor %edx,%edx - 7: 31 f6 xor %esi,%esi - 9: bf 20 00 00 00 mov $0x20,%edi - e: e9 00 00 00 00 jmpq 13 <current_function_returns_null+0x3> - Disassembly of section .text.hot._Z15hash_table_mod2jj: 0000000000000000 <_Z15hash_table_mod2jj>: @@ -34618,6 +34609,15 @@ } 3c: c3 retq +Disassembly of section .text._Z17ggc_cleared_allocI9lang_typeEPT_v: + +0000000000000000 <_Z17ggc_cleared_allocI9lang_typeEPT_v>: + 0: b9 01 00 00 00 mov $0x1,%ecx + 5: 31 d2 xor %edx,%edx + 7: 31 f6 xor %esi,%esi + 9: bf 20 00 00 00 mov $0x20,%edi + e: e9 00 00 00 00 jmpq 13 <current_function_returns_null+0x3> + Disassembly of section .text.hot._ZN2wi5neg_pI16generic_wide_intI20wide_int_ref_storageILb1ELb0EEEEEbRKT_6signop: 0000000000000000 <_ZN2wi5neg_pI16generic_wide_intI20wide_int_ref_storageILb1ELb0EEEEEbRKT_6signop>: