Cole schrieb:
Hi,
I am busy trying to generate a package for gcc that is consistent
between two successive builds, and I am now down to the final few
files.
I am stuck with the file: cilk-abi-cilk-for.o, which is obviously
built with -O2, but between two successive builds, the assembly code
generated is different. Please refer to [1] for output and details.
Would anyone have any suggestions that I might be able to try to get
the file to generate the same assembly code?
IIRC the mentioned problem with qsort is in the register allocator as it
sorts registetr classes according to their cost. If two different
classes have the same cost then the result depends on the qsort
implementation. This can lead to different code across different
platforms, but the code built on one specific platform should be the same.
Some parts of the compiler use the address of objects to compute hashes,
but I don't remember which part(s) actually do this. That technique can
lead to different code for different runs of the compiler even on the
same system. This is hard to reproduce as it depends on how the OS is
supplying memory, and it might depend on the "history" of the machine
and the actual OS.
Johann