ID: 22887 Updated by: [EMAIL PROTECTED] Reported By: josh at chatgris dot com -Status: Open +Status: Bogus Bug Type: Scripting Engine problem Operating System: Gentoo Linux /w apache2 PHP Version: 4.3.1 New Comment:
Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Thank you for your interest in PHP. This is a known bug in gcc 3.2.X with pentium4 optimized code. Not a PHP issue. Previous Comments: ------------------------------------------------------------------------ [2003-03-28 11:26:35] [EMAIL PROTECTED] I haven't had any problems on my system using pentium3. When I came across the problem, I was using pentium4 and I switched it over to pentium3, so my system is slowly being converted. (I have so much on this system, I can't re-emerge everything at once as I need it for work, so I'm doing it bit by bit.) Fwiw, my CFLAGS is "-march=pentium3 -O3 -pipe -fomit-frame-pointer", on a P4 Dell laptop. Slight correction to previous post: I meant CFLAGS, not the USE flag in make.conf. J ------------------------------------------------------------------------ [2003-03-28 11:23:12] josh at chatgris dot com Thank you for the suggestion!! I am going to try and compile my entire gentoo system from scratch using mcpu=i686 (I feel kinda iffy using march=pentium3 on a pentium4). I'll respond as soon as I have new information. Thanks again!!!! Josh. ------------------------------------------------------------------------ [2003-03-28 11:16:00] [EMAIL PROTECTED] This is most likely being caused by over-optimization when compiling. I had a similar problem on my gentoo box, and the problem was traced back to over-optimizing when compiling glibc. (var_dump() was printing some weird floats, and I believe this problem is similar, as both use modf() at some point.) Basically, tone down the optimizations a bit. If you compile glibc with CFLAGS along the lines of "-march=pentium4 -O3...", modf() starts dying. The solution (for gentoo, at least) is to modify your USE flag in make.conf to use -march=pentium3 if you're using pentium4 and re-emerge glibc, then recompile PHP. gcc has problems with march pentium4 spitting out bad instructions, so you should stay away from it, even if you're actually on a Pentium 4. Use march=pentium3 or mcpu=i686 instead. There are threads on the gentoo forums about this, and newer versions of portage mention it in the make.conf comments. If this is indeed the problem, it affects python, too, fwiw. J ------------------------------------------------------------------------ [2003-03-28 10:27:01] josh at chatgris dot com I believe the problem is related.. For example, we are both using Pentium$ CPU's.. sprintf works fine on my Athlon, but not my pentium4... In addition, his example produced the same output on my machine. and I've tried putting the float in a variable, float as a string it alwasy returns the same so I am pretty sure that the problem is within sprintf.. Could anyone tell me where the sprintf code is in php? I don't mind messing with it and trying to figure out what is wrong... Josh. ------------------------------------------------------------------------ [2003-03-28 04:41:25] [EMAIL PROTECTED] Works fine here (Gentoo with glibc 2.3.2), using php5 cvs from two days ago (cli). -tal ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/22887 -- Edit this bug report at http://bugs.php.net/?id=22887&edit=1