summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common/create_module.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common/create_module.c')
-rw-r--r--libc/sysdeps/linux/common/create_module.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/common/create_module.c b/libc/sysdeps/linux/common/create_module.c
index 7bd38a39c..461ba5bc5 100644
--- a/libc/sysdeps/linux/common/create_module.c
+++ b/libc/sysdeps/linux/common/create_module.c
@@ -13,11 +13,8 @@
#ifdef __NR_create_module
-#if defined(__i386__) || defined(__m68k__) || defined(__arm__) || defined(__thumb__) || defined(__cris__) || defined(__i960__)
+#if defined(__UCLIBC_BROKEN_CREATE_MODULE__)
# define __NR___create_module __NR_create_module
-# ifdef __STR_NR_create_module
-# define __STR_NR___create_module __STR_NR_create_module
-# endif
static inline _syscall2(long, __create_module, const char *, name, size_t, size);
/* By checking the value of errno, we know if we have been fooled
* by the syscall2 macro making a very high address look like a
@@ -33,7 +30,7 @@ unsigned long create_module(const char *name, size_t size)
}
return ret;
}
-#elif defined(__alpha__)
+#elif defined(__UCLIBC_SLIGHTLY_BROKEN_CREATE_MODULE__)
# define __NR___create_module __NR_create_module
/* Alpha doesn't have the same problem, exactly, but a bug in older
kernels fails to clear the error flag. Clear it here explicitly. */