This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc-4.9.1 generating different code between two successive builds


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]