summaryrefslogtreecommitdiffstats
path: root/include/features.h
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2005-07-22 06:49:31 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2005-07-22 06:49:31 +0000
commit7a4daea1ea52c84588630329db7e14cbc4d12c41 (patch)
tree6d7f69512147c98b63ad7934f2a3abe1c67e7065 /include/features.h
parent9a97faafbcd7bc23d5adf32f4ed135bdf623629a (diff)
downloaduClibc-alpine-7a4daea1ea52c84588630329db7e14cbc4d12c41.tar.bz2
uClibc-alpine-7a4daea1ea52c84588630329db7e14cbc4d12c41.tar.xz
Fixed up resolver and errno code such that both thread models can compile without stepping on each other. The original implementation pulled from glibc was done incorrectly and has been fixed.
Diffstat (limited to 'include/features.h')
-rw-r--r--include/features.h29
1 files changed, 17 insertions, 12 deletions
diff --git a/include/features.h b/include/features.h
index 07d19f1f5..339a320ba 100644
--- a/include/features.h
+++ b/include/features.h
@@ -106,6 +106,19 @@
#undef __FAVOR_BSD
#undef __KERNEL_STRICT_NAMES
+/*
+ * NPTL requires this to be defined. Unfortunately, due to complexities
+ * in include dependencies, this cannot be defined on a per file basis.
+ */
+#define __need_uClibc_config_h
+#include <bits/uClibc_config.h>
+#ifdef __PTHREADS_NATIVE__
+# ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+# endif
+#endif
+#undef __need_uClibc_config_h
+
/* Suppress kernel-name space pollution unless user expressedly asks
for it. */
#ifndef _LOOSE_KERNEL_NAMES
@@ -280,14 +293,6 @@
# define __GLIBC_MINOR__ 2
#endif
-/*
- * NPTL requires this to be defined. Unfortunately, due to complexities
- * in include dependencies, this cannot be defined on a per file basis.
- */
-#ifdef __PTHREADS_NATIVE__
-# define __USE_XOPEN2K 1
-#endif
-
/* Convenience macros to test the versions of glibc and gcc.
Use them like this:
#if __GNUC_PREREQ (2,8)
@@ -362,7 +367,7 @@ uClibc was built without large file support enabled.
/* Some nice features only work properly with ELF */
#if defined _LIBC
-#if defined __HAVE_ELF__
+# if defined __HAVE_ELF__
/* Define ALIASNAME as a weak alias for NAME. */
# define weak_alias(name, aliasname) _weak_alias (name, aliasname)
# define _weak_alias(name, aliasname) \
@@ -384,8 +389,8 @@ uClibc was built without large file support enabled.
asm (".section " ".gnu.warning." #symbol "\n\t.previous"); \
static const char __evoke_link_warning_##symbol[] \
__attribute__ ((unused, section (".gnu.warning." #symbol "\n\t#"))) = msg;
-#endif
-#else /* !defined __HAVE_ELF__ */
+# endif
+# else /* !defined __HAVE_ELF__ */
# define strong_alias(name, aliasname) _strong_alias (name, aliasname)
# define weak_alias(name, aliasname) _strong_alias (name, aliasname)
# define _strong_alias(name, aliasname) \
@@ -394,7 +399,7 @@ uClibc was built without large file support enabled.
# define link_warning(symbol, msg) \
asm (".stabs \"" msg "\",30,0,0,0\n\t" \
".stabs \"" #symbol "\",1,0,0,0\n");
-#endif
+# endif
#ifndef weak_function
/* If we do not have the __attribute__ ((weak)) syntax, there is no way we