Fix conflicting prototype of posix_memalign for c++ http://www.openwall.com/lists/musl/2013/11/10/1 --- ./gcc/config/i386/pmm_malloc.h.orig +++ ./gcc/config/i386/pmm_malloc.h @@ -28,11 +28,7 @@ /* We can't depend on since the prototype of posix_memalign may not be visible. */ -#ifndef __cplusplus -extern int posix_memalign (void **, size_t, size_t); -#else -extern "C" int posix_memalign (void **, size_t, size_t) throw (); -#endif +extern int __gcc_posix_memalign (void **, size_t, size_t) __asm__("posix_memalign"); static __inline void * _mm_malloc (size_t size, size_t alignment) @@ -42,7 +38,7 @@ return malloc (size); if (alignment == 2 || (sizeof (void *) == 8 && alignment == 4)) alignment = sizeof (void *); - if (posix_memalign (&ptr, alignment, size) == 0) + if (__gcc_posix_memalign (&ptr, alignment, size) == 0) return ptr; else return NULL;