Message108728
| Author |
mark.dickinson |
| Recipients |
drkirkby, mark.dickinson, skrah |
| Date |
2010年06月26日.14:56:59 |
| SpamBayes Score |
9.938301e-09 |
| Marked as misclassified |
No |
| Message-id |
<1277564222.1.0.33225783909.issue9069@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Okay---this one I *can* reproduce. :)
I'm going to call it a gcc optimization bug. Specifically, it seems to be a bug involving gcc's builtin version of the copysign function.
When I build a current svn trunk checkout (r82245) with:
CC='gcc-4.4 -m64' ./configure && make
I get the wrong result:
Python 2.7rc2+ (trunk:82245, Jun 26 2010, 05:35:07)
[GCC 4.4.4] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> (-0.0).hex()
'0x0.0p+0'
But when building with either:
CC='gcc-4.4 -m64 -fno-builtin-copysign' ./configure && make
or
CC='gcc-4.4 -m64' ./configure --with-pydebug && make
I get the expected results. If I have time I'll investigate further and see if I can generate the bug from smaller code. At any rate, I don't think this is something that can sensibly be fixed in Python itself, so I think this issue should be closed, and a bug filed upstream if necessary.
I also can't see a good reason why this bug would be specific to OpenSolaris. Does anyone have gcc-4.4.4 available to test this on OS X, Linux or *BSD? |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2010年06月26日 14:57:02 | mark.dickinson | set | recipients:
+ mark.dickinson, skrah, drkirkby |
| 2010年06月26日 14:57:02 | mark.dickinson | set | messageid: <1277564222.1.0.33225783909.issue9069@psf.upfronthosting.co.za> |
| 2010年06月26日 14:57:00 | mark.dickinson | link | issue9069 messages |
| 2010年06月26日 14:56:59 | mark.dickinson | create |
|