aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc/213-posix_memalign.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2015-06-02 08:56:31 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-06-05 13:47:16 +0000
commit6e1b72b5cd3e62bb418efaae68bd0f50d7391700 (patch)
tree8f802657da946121b31af0df7f917e365afc8a4e /main/gcc/213-posix_memalign.patch
parent6dd6cf5392171bfaaf099e04f774373ff9f486d9 (diff)
downloadaports-6e1b72b5cd3e62bb418efaae68bd0f50d7391700.tar.bz2
aports-6e1b72b5cd3e62bb418efaae68bd0f50d7391700.tar.xz
main/gcc: upgrade to gcc 5.1.0
Diffstat (limited to 'main/gcc/213-posix_memalign.patch')
-rw-r--r--main/gcc/213-posix_memalign.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/main/gcc/213-posix_memalign.patch b/main/gcc/213-posix_memalign.patch
new file mode 100644
index 0000000000..4a5df48bfc
--- /dev/null
+++ b/main/gcc/213-posix_memalign.patch
@@ -0,0 +1,30 @@
+diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h
+index 901001b..321fcd3 100644
+--- a/gcc/config/i386/pmm_malloc.h
++++ b/gcc/config/i386/pmm_malloc.h
+@@ -27,12 +27,13 @@
+ #include <stdlib.h>
+
+ /* We can't depend on <stdlib.h> since the prototype of posix_memalign
+- may not be visible. */
++ may not be visible and we can't pollute the namespace either. */
+ #ifndef __cplusplus
+-extern int posix_memalign (void **, size_t, size_t);
++extern int __gcc_posix_memalign (void **, size_t, size_t)
+ #else
+-extern "C" int posix_memalign (void **, size_t, size_t) throw ();
++extern "C" int __gcc_posix_memalign (void **, size_t, size_t) throw ()
+ #endif
++__asm__("posix_memalign");
+
+ static __inline void *
+ _mm_malloc (size_t size, size_t alignment)
+@@ -42,7 +43,7 @@ _mm_malloc (size_t size, size_t alignment)
+ 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;