diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2014-05-08 07:04:30 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2014-05-08 07:04:30 +0000 |
commit | 64dbc4edca8839ab51afbfc8d77449c25d7ff4c5 (patch) | |
tree | 4f67a2f222e233f5cebc6e78d5ec62216175667e /main/gcc/musl-posix_memalign-c++.patch | |
parent | f8827d9b6c18c5c1b3b89ad509b54b3abd024474 (diff) | |
download | aports-64dbc4edca8839ab51afbfc8d77449c25d7ff4c5.tar.bz2 aports-64dbc4edca8839ab51afbfc8d77449c25d7ff4c5.tar.xz |
main/gcc: fix posix_memalign prototype for c++
Diffstat (limited to 'main/gcc/musl-posix_memalign-c++.patch')
-rw-r--r-- | main/gcc/musl-posix_memalign-c++.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/main/gcc/musl-posix_memalign-c++.patch b/main/gcc/musl-posix_memalign-c++.patch new file mode 100644 index 0000000000..15375651eb --- /dev/null +++ b/main/gcc/musl-posix_memalign-c++.patch @@ -0,0 +1,27 @@ +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 <stdlib.h> 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; |