diff options
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/misc/internals/Makefile.in | 25 | ||||
| -rw-r--r-- | libc/misc/internals/__errno_location.c | 23 | ||||
| -rw-r--r-- | libc/misc/internals/internal_errno.h | 20 |
3 files changed, 48 insertions, 20 deletions
diff --git a/libc/misc/internals/Makefile.in b/libc/misc/internals/Makefile.in index 2ca6cd45d..230e6e7a9 100644 --- a/libc/misc/internals/Makefile.in +++ b/libc/misc/internals/Makefile.in @@ -7,7 +7,7 @@ CFLAGS-__uClibc_main.c := $(SSP_DISABLE_FLAGS) -CSRC := tempname.c __errno_location.c __h_errno_location.c +CSRC := tempname.c errno.c __errno_location.c __h_errno_location.c MISC_INTERNALS_DIR := $(top_srcdir)libc/misc/internals MISC_INTERNALS_OUT := $(top_builddir)libc/misc/internals @@ -16,15 +16,22 @@ MISC_INTERNALS_SRC := $(patsubst %.c,$(MISC_INTERNALS_DIR)/%.c,$(CSRC)) MISC_INTERNALS_OBJ := $(patsubst %.c,$(MISC_INTERNALS_OUT)/%.o,$(CSRC)) libc-y += $(MISC_INTERNALS_OBJ) -libc-shared-y += $(MISC_INTERNALS_OUT)/__uClibc_main.oS \ - $(MISC_INTERNALS_OUT)/errno.oS -libc-static-y += $(MISC_INTERNALS_OUT)/__uClibc_main.o \ - $(MISC_INTERNALS_OUT)/errno.o +ifneq ($(UCLIBC_FORMAT_SHARED_FLAT),y) +libc-shared-y += $(MISC_INTERNALS_OUT)/__uClibc_main.oS +else +libc-shared-y += $(MISC_INTERNALS_OUT)/__uClibc_main.os +endif +libc-static-y += $(MISC_INTERNALS_OUT)/__uClibc_main.o +libc-static-$(UCLIBC_FORMAT_FLAT_SEP_DATA) += \ + $(MISC_INTERNALS_OUT)/shared_flat_initfini.o \ + $(MISC_INTERNALS_OUT)/shared_flat_add_library.o libc-static-$(UCLIBC_FORMAT_SHARED_FLAT) += \ - $(MISC_INTERNALS_OUT)/shared_flat_initfini.o \ - $(MISC_INTERNALS_OUT)/shared_flat_add_library.o -libc-nomulti-y += $(MISC_INTERNALS_OUT)/__uClibc_main.o \ - $(MISC_INTERNALS_OUT)/errno.o + $(MISC_INTERNALS_OUT)/shared_flat_initfini.o \ + $(MISC_INTERNALS_OUT)/shared_flat_add_library.o +libc-shared-$(UCLIBC_FORMAT_SHARED_FLAT) += \ + $(MISC_INTERNALS_OUT)/shared_flat_initfini.os \ + $(MISC_INTERNALS_OUT)/shared_flat_add_library.os +libc-nomulti-y += $(MISC_INTERNALS_OUT)/__uClibc_main.o objclean-y += misc_internals_clean diff --git a/libc/misc/internals/__errno_location.c b/libc/misc/internals/__errno_location.c index c0b1532b9..4401ba249 100644 --- a/libc/misc/internals/__errno_location.c +++ b/libc/misc/internals/__errno_location.c @@ -1,16 +1,17 @@ -#include <errno.h> +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ -#ifndef __UCLIBC_HAS_THREADS_NATIVE__ -#undef errno -extern int errno; -#endif +#include "internal_errno.h" -int * -#ifndef __UCLIBC_HAS_THREADS_NATIVE__ -weak_const_function -#endif -__errno_location (void) +/* psm: moved to bits/errno.h: */ +/* libc_hidden_proto(__errno_location) */ +int * weak_const_function __errno_location (void) { return &errno; } - +#ifdef IS_IN_libc /* not really need, only to keep in sync w/ libc_hidden_proto */ +libc_hidden_weak(__errno_location) +#endif diff --git a/libc/misc/internals/internal_errno.h b/libc/misc/internals/internal_errno.h new file mode 100644 index 000000000..884f86774 --- /dev/null +++ b/libc/misc/internals/internal_errno.h @@ -0,0 +1,20 @@ +/* + * + */ +#ifndef __UCLIBC_HAS_THREADS_NATIVE__ + +#include <features.h> +#include <errno.h> +#include <netdb.h> + +#undef errno +#undef h_errno + +extern int h_errno; +extern int errno; + +#ifdef __UCLIBC_HAS_THREADS__ +libc_hidden_proto(h_errno) +libc_hidden_proto(errno) +#endif +#endif |
