mirror of
https://github.com/pmmp/musl-cross-make.git
synced 2024-11-24 10:46:11 +00:00
7ea487218f
new patch: 0017-c++-abi-break.diff fixes a C++ ABI break regression. 0010-static-pie-support.diff was removed as it doesn't apply anymore, and forward-porting it requires arcane knowledge of GCC details. the patches 0018 and 0019 have been copied from GCC 7.3.0. the static pie patch from GCC 6.4.0, renumbered 0020, depends on the reversions they make.
31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h
|
|
index a9c2be4..2596a90 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;
|