mirror of
https://github.com/richfelker/musl-cross-make.git
synced 2025-04-19 23:44:58 +02:00

Rebased the patches for GCC 8.3.0 onto 9.1.0. Not all applied cleanly, particularly the PIE patch so I had to get a little creative. Could definitely use an extra pair of eyes on these patches. Independent verification of the SHA1 is always appreciated. Verified compile with the following config.mak: BINUTILS_VER = 2.32 GCC_VER = 9.1.0 GMP_VER = 6.1.2 MPC_VER = 1.1.0 MPFR_VER = 4.0.2 ISL_VER = 0.21 LINUX_VER = 3.0.35 COMMON_CONFIG += --disable-nls GCC_CONFIG += --enable-languages=c,c++ GCC_CONFIG += --disable-libquadmath --disable-decimal-float GCC_CONFIG += --disable-multilib
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 09a4d1447..fecd9afdb 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;
|