Message286391
| Author |
gco |
| Recipients |
benjamin.peterson, christian.heimes, doko, gco, ned.deily, serhiy.storchaka, skrah, vstinner, ztane |
| Date |
2017年01月28日.00:19:44 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1485562785.22.0.746842785973.issue28055@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
32-bit and 64-bit SPARC ABIs have 64-bit integer data types.
SPARC, like many RISC architectures, also has natural alignment requirements. Attempting to dereference a pointer to a 4-byte-sized object requires 4-byte alignment, for example. 2-byte-sized objects require 2-byte alignment. 8-byte-sized objects require 8-byte alignment.
siphash24 is encountering this bug on modern SPARC (32-bit ABI currently, haven't tried compiling as 64-bit yet). The code simply is not portable.
Benjamin's patch gets the failing self-test (test_plistlib) to pass as well as the simple test case in msg275493 above. |
|