This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author zaytsev
Recipients David.Edelsohn, christian.heimes, dmalcolm, python-dev, zaytsev
Date 2014-01-07.17:07:37
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1389114457.95.0.727976599468.issue20162@psf.upfronthosting.co.za>
In-reply-to
Content
Digging more into it, I guess I know why we couldn't come up with a minimal reproducer for this problem. If I compile with -O2 instead of -O1, I get the following warning from gcc:

Python/pyhash.c:413: warning: dereferencing pointer 'pt.32' does break strict-aliasing rules

which points to the following line:

case 4: *((PY_UINT32_T*)&pt[0]) = *((PY_UINT32_T*)&m[0]); break;

If I re-compile with -O2, but -fno-strict-aliasing, then the result doesn't fail.

Not sure if siphash code can be changed to not require aliasing, though.
History
Date User Action Args
2014-01-07 17:07:37zaytsevsetrecipients: + zaytsev, christian.heimes, dmalcolm, python-dev, David.Edelsohn
2014-01-07 17:07:37zaytsevsetmessageid: <1389114457.95.0.727976599468.issue20162@psf.upfronthosting.co.za>
2014-01-07 17:07:37zaytsevlinkissue20162 messages
2014-01-07 17:07:37zaytsevcreate