summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r--libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/arm/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/common/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/cris/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/e1/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/frv/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/i386/bits/uClibc_arch_features.h17
-rw-r--r--libc/sysdeps/linux/i960/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/mips/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/nios/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/sh/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/v850/bits/uClibc_arch_features.h15
-rw-r--r--libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h15
22 files changed, 222 insertions, 110 deletions
diff --git a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
index eafb7f78c..a01bc154e 100644
--- a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
@@ -23,11 +23,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
index 333a84966..ccc85ecbf 100644
--- a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
@@ -23,11 +23,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
index 003857082..107acb63b 100644
--- a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
index 5e513bff0..631f855f1 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
@@ -26,11 +26,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
index 2da833ee4..b349e6eaa 100644
--- a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
index 003857082..107acb63b 100644
--- a/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
index 003857082..107acb63b 100644
--- a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
index fb91b767e..26c0b7412 100644
--- a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
index b10bc85b1..d0498de05 100644
--- a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
@@ -23,11 +23,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
index 7eb946dee..c1aefd9d5 100644
--- a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
@@ -23,11 +23,18 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+#define internal_function __attribute__ ((regparm (3), stdcall))
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
index 2da833ee4..b349e6eaa 100644
--- a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
index 347fe9707..5c2ea7387 100644
--- a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
@@ -27,11 +27,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
index 003857082..107acb63b 100644
--- a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
index 5d73f3f6f..49dcb34c4 100644
--- a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
@@ -23,11 +23,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
index 003857082..107acb63b 100644
--- a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
index 003857082..107acb63b 100644
--- a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
index 490109108..417494874 100644
--- a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
@@ -23,11 +23,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
index 2c53ce643..13788356d 100644
--- a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
@@ -29,11 +29,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
index 003857082..107acb63b 100644
--- a/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
index 13ae6a01f..d643a8286 100644
--- a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
@@ -23,11 +23,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
index 003857082..107acb63b 100644
--- a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
@@ -24,11 +24,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
index 1675aba20..0f0f01ea3 100644
--- a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
@@ -23,11 +23,16 @@
/* does your target have an asm .set ? */
#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-/* shouldn't need to change these ... */
-#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */