What C Runtime functions do you call? What Kernel Level calls do you make? Do you make use of any other Library services external to GLIBC?
Maybe there was a BUG fix in one of them that explains this.
-----Original Message----- From: email@example.com [mailto:firstname.lastname@example.org] Sent: Monday, May 02, 2005 1:10 PM To: email@example.com Subject: [suse-programming-e] Code produces different results
I experience a strange problem with a C-Program. When I run it on different machines, sometimes it produces different results, and sometimes it doesn't.
Basically, there seem to exist two different cases: a) I compiled the program at the end of January. The compiled binary was copied to different computers, and produces different results on different machines. b) I recompiled the program recently. With the _new_ binary of April, all machines calculate the same result!
First ideas: 1) Yes, the code was identical for case a) and b). 2) Could it be that the hardware of my computers differs too much? This does not seem to be the case. Also, for the case b) it does not matter on which of the machines I compile before running it on all of them. 3) Could it be that some kernel update (or gcc update?) partially "broke" the compiler, and led to the results of case a) (which was compiled on a SuSE Linux 9.0 with kernel 2.4.21-99). A later kernel update possibly "repaired" this problem (case b) was compiled with SuSE Linux 9.0 with 2.4.21-xxx kernel, with xxx > 166). Also, a check with a SuSE 9.1, kernelversion 2.6.5-7.111 reproduces case b).
Is the idea of problems with online-updates plausible at all? Does anyone have other ideas?
Thank you very much,
P.S. Please reply also to firstname.lastname@example.org in addition to posting to the list. Thanks!