Mailinglist Archive: opensuse-bugs (4297 mails)

< Previous Next >
[Bug 1040589] New: bash/gcc/gzip/python differ between builds because of profiling
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Wed, 24 May 2017 12:27:48 +0000
  • Message-id: <bug-1040589-21960@http.bugzilla.opensuse.org/>
http://bugzilla.opensuse.org/show_bug.cgi?id=1040589


Bug ID: 1040589
Summary: bash/gcc/gzip/python differ between builds because of
profiling
Classification: openSUSE
Product: openSUSE Tumbleweed
Version: Current
Hardware: Other
OS: openSUSE 13.2
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Basesystem
Assignee: rguenther@xxxxxxxx
Reporter: bwiedemann@xxxxxxxx
QA Contact: qa-bugs@xxxxxxx
CC: matz@xxxxxxxx
Found By: Development
Blocker: ---

In https://build.opensuse.org/project/prjconf/openSUSE:Factory
we have
%do_profiling 1

and because of that
in our bash.spec we enable gcc's
'profile feedback directed optimizations'

but that causes the jobs.o and resulting bash binary
to differ between builds, even when running on the same build host.

And because of that, build-compare always thinks there is a change
and triggers a re-publish
and rebuild of depending packages

We also have such binary diffs in gcc6
and gcc6.spec calls a
make profiledbootstrap


The do_profiling macro is used in
bash
gzip
hello
python3-base
python-base
sed
xz

and in
http://rb.zq1.de/compare.factory-20170523/bash-compare.out
http://rb.zq1.de/compare.factory-20170523/gcc6-compare.out
http://rb.zq1.de/compare.factory-20170523/gzip-compare.out
http://rb.zq1.de/compare.factory-20170523/python-base-compare.out
http://rb.zq1.de/compare.factory-20170523/python3-base-compare.out

we have strange diffs in assembler that I could not trace down
to other sources of non-determinism until today.
Diffs did go away when building without profiling
(it was harder to disable for gcc6 and bash though)


Do the profiles just count invocations of functions
or do they depend on the type and speed of the system?

In the first case, it should be possible to fix the profiling runs
to be deterministic, but for that it would be useful
to be able to see the differences between runs.
How could I diff gcc's .gcda files?

--
You are receiving this mail because:
You are on the CC list for the bug.
< Previous Next >
Follow Ups