43 lines
1.4 KiB
Diff
43 lines
1.4 KiB
Diff
|
From 9c14484ac34f8e155b1bec26abe8bd9309e8af59 Mon Sep 17 00:00:00 2001
|
||
|
From: Said Musaev <cpu808694@gmail.com>
|
||
|
Date: Thu, 1 Oct 2020 14:33:52 +0200
|
||
|
Subject: [PATCH 02/14] posix_memalign
|
||
|
|
||
|
---
|
||
|
gcc/config/i386/pmm_malloc.h | 9 +++++----
|
||
|
1 file changed, 5 insertions(+), 4 deletions(-)
|
||
|
|
||
|
diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h
|
||
|
index 87344d9383f..ece428df487 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 _mm_posix_memalign (void **, size_t, size_t)
|
||
|
#else
|
||
|
-extern "C" int posix_memalign (void **, size_t, size_t) throw ();
|
||
|
+extern "C" int _mm_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 (_mm_posix_memalign (&__ptr, __alignment, __size) == 0)
|
||
|
return __ptr;
|
||
|
else
|
||
|
return NULL;
|
||
|
--
|
||
|
2.28.0
|
||
|
|