On 15/08/14 01:24 PM, Jason Evans wrote:
> On Aug 6, 2014, at 6:34 AM, Ingvar Hagelund <ing...@redpill-linpro.com> wrote:
>>> Ingvar Hagelund wrote
>>>> jemalloc-3.6.0 fails to build on to-be-fedora-21
>>>>
>>>> https://kojipkgs.fedoraproject.org//work/tasks/2036/7002036/build.log
>>>>
>>>> Seems like gcc-4.9.0 changed emmintrin.h
>>>
>>> ... though only when compiling against Fedora's i686 target, that is
>>> "gcc -m32 -march=i686 -mtune=atom"
>>>
>>> x86_64 and the generic i386 target, that is "gcc -march=i386
>>> -mtune=generic" , works fine (though generic i386 is not a primary
>>> Fedora target anymore).
>>
>>
>> This is because of github commit
>> cb657e3170349a27e753cdf6316513f56550205e
>>
>> See also jemalloc github issue 52:
>>
>> https://github.com/jemalloc/jemalloc/issues/52
>>
>> Adding -msse2 to CFLAGS fixes the build on Fedora, but there is an issue
>> with this: Fedora supports the i686 arch. i686 predates SSE2. i686 means
>> PentiumPro and above, while SSE2 was included around Pentium II, that is
>> later. So there is no guaranteed support for SSE2 in Fedora.
>>
>> Grepping through the code, it looks like SSE2 is only used for test
>> cases. Does jemalloc use SSE2 features at runtime? If it does, will it
>> work correctly without SSE2 available?
> 
> jemalloc doesn’t explicitly use SSE2; it’s for test code only.  If I’d known 
> how much portability trouble the SSE2 optimizations for the Merseinne Twister 
> PRNG would cause, I’d have left them completely disabled.  Maybe it’s time to 
> give up on SSE2, since nothing important depends on it.
> 
> Jason

If performance is critical, perhaps a much simpler XorShift RNG would be
a better choice. They're blazing fast and the quality is more than good
enough for fuzzing.

http://xorshift.di.unimi.it/

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
jemalloc-discuss mailing list
jemalloc-discuss@canonware.com
http://www.canonware.com/mailman/listinfo/jemalloc-discuss

Reply via email to