diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2015-03-29 04:50:56 -0500 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2015-03-29 04:50:56 -0500 |
commit | cd5f92704e1e17bbc0c15d197f3bc236c7dc9bf2 (patch) | |
tree | 1400302b543e4528aedea5d72731983559cfcf36 | |
parent | ad2bffbf1926051ef333f9899344f6bddf2c03cf (diff) | |
parent | 24946289317ea23bb0d1814cca0a499a905f7d6f (diff) |
merge uClibc git master
104 files changed, 1869 insertions, 792 deletions
diff --git a/Makefile.in b/Makefile.in index b4bc4b224..e76449372 100644 --- a/Makefile.in +++ b/Makefile.in @@ -294,6 +294,7 @@ HEADERS_RM-$(UCLIBC_HAS_THREADS) += *thread*.h semaphore.h \ bits/initspin.h HEADERS_RM-$(UCLIBC_HAS_THREADS_NATIVE) += atomic.h bits/atomic.h HEADERS_RM-$(UCLIBC_HAS_OBSTACK) += obstack.h +HEADERS_RM-$(UCLIBC_HAS_UTMP) += bits/utmp.h utmp.h HEADERS_RM-$(UCLIBC_HAS_UTMPX) += bits/utmpx.h utmpx.h HEADERS_RM-$(UCLIBC_HAS_WCHAR) += wchar.h wctype.h HEADERS_RM-$(UCLIBC_HAS_WORDEXP) += wordexp.h @@ -310,6 +311,7 @@ HEADERS_RM-$(UCLIBC_LINUX_SPECIFIC) += \ sys/perm.h \ sys/personality.h \ sys/prctl.h \ + sys/random.h \ sys/reboot.h \ sys/sendfile.h \ bits/signalfd.h \ @@ -30,6 +30,8 @@ objs: all_objs define add_IS_IN_lib ifneq ($(strip $(2)),) __add_IS_IN_lib := $(2) +__add_IS_IN_lib += $(2:.o=.i) $(2:.os=.i) $(2:.oS=.i) +__add_IS_IN_lib += $(2:.o=.s) $(2:.os=.s) $(2:.oS=.s) $$(__add_IS_IN_lib): CFLAGS-for-library-members:=$(CFLAGS-$(1)) -DIN_LIB=$(word 1,$(subst /, ,$(1))) endif endef @@ -326,9 +328,10 @@ cmd_hcompile.o = $(HOSTCC) $(filter-out $(PHONY),$<) $(DEPS-$(notdir $@)) -c -o define create-lds $(Q)$(RM) $@.lds - $(Q)$(CC) -nostdlib -nostartfiles -shared -Wl,-z,combreloc \ - -Wl,-z,relro -Wl,--hash-style=gnu -Wl,-z,defs \ - -Wl,--verbose 2>&1 | LC_ALL=C \ + $(Q)$(CC) $(LDFLAG-fuse-ld) $(CPU_LDFLAGS-y) \ + -nostdlib -nostartfiles -shared -Wl,-z,combreloc \ + -Wl,-z,relro $(CFLAG_-Wl--hash-style=gnu) -Wl,-z,defs \ + -x c /dev/null -Wl,--verbose 2>&1 | LC_ALL=C \ $(SED) -e '/^=========/,/^=========/!d;/^=========/d' \ -e 's/^\([ ]*\)\. = .* + SIZEOF_HEADERS;/&\n\1$(SYMBOL_PREFIX)_begin = . - SIZEOF_HEADERS;/' > $@.lds endef diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 18b323781..3c2add655 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -718,6 +718,25 @@ config COMPAT_ATEXIT Enable this option if you want to update from 0.9.28 to git/0.9.29, else you will be missing atexit() until you rebuild all apps. +config UCLIBC_HAS_UTMPX + bool "utmpx based support for tracking login/logouts to/from the system" + help + Answer y to enable support for accessing user accounting database. + It can be used to track all login/logout to the system. + +config UCLIBC_HAS_UTMP + bool "utmp support (XPG2 compat, SVr4 compat)" + depends on UCLIBC_HAS_UTMPX + help + Answer y to enable legacy SVID support for accessing + user accounting database: + getutent(), getutid(), getutline(), pututline(), + setutent(), endutent(), utmpname() in utmp.h + It can be used to track all login/logout to the system. + + If unsure, answer N and use corresponding POSIX functions + from utmpx.h + config UCLIBC_SUSV2_LEGACY bool "Enable SuSv2 LEGACY functions" help @@ -1043,7 +1062,7 @@ config UCLIBC_LINUX_SPECIFIC help accept4(), bdflush(), capget(), capset(), eventfd(), fallocate(), - fstatfs(), inotify_*(), ioperm(), iopl(), + fstatfs(), getrandom(), inotify_*(), ioperm(), iopl(), madvise(), modify_ldt(), pipe2(), personality(), prctl()/arch_prctl(), pivot_root(), modify_ldt(), ppoll(), readahead(), reboot(), remap_file_pages(), @@ -2060,14 +2079,6 @@ config UCLIBC_HAS_GNU_GLOB Most people will answer N. -config UCLIBC_HAS_UTMPX - bool "utmpx based support for tracking login/logouts to/from the system" - help - Answer y to enable support for accessing user accounting database. - It can be used to track all login/logout to the system. - - If unsure, just answer N. - endmenu diff --git a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch index 68e03bf9e..0dae84b06 100644 --- a/extra/Configs/Config.in.arch +++ b/extra/Configs/Config.in.arch @@ -191,7 +191,7 @@ config UCLIBC_HAS_FENV config UCLIBC_HAS_LONG_DOUBLE_MATH bool "Enable long double support" depends on DO_C99_MATH - depends on TARGET_i386 || TARGET_m68k || TARGET_sparc || TARGET_x86_64 || TARGET_powerpc || TARGET_sh || TARGET_microblaze || TARGET_xtensa + depends on TARGET_aarch64 || TARGET_alpha || TARGET_i386 || TARGET_ia64 || TARGET_m68k || TARGET_powerpc || TARGET_s390 || TARGET_sparc || TARGET_tile || TARGET_x86_64 default y help If you want the uClibc math library to contain the full set of C99 diff --git a/extra/Configs/defconfigs/arc/arcv2_defconfig b/extra/Configs/defconfigs/arc/arcv2_defconfig index d3a7dc7b2..7c4694eb1 100644 --- a/extra/Configs/defconfigs/arc/arcv2_defconfig +++ b/extra/Configs/defconfigs/arc/arcv2_defconfig @@ -7,7 +7,7 @@ KERNEL_HEADERS="%KERNEL_HEADERS%" # LDSO_CACHE_SUPPORT is not set LDSO_RUNPATH=y # LDSO_SAFE_RUNPATH is not set -LINUXTHREADS_OLD=y +UCLIBC_HAS_THREADS_NATIVE=y PTHREADS_DEBUG_SUPPORT=y UCLIBC_HAS_OBSTACK=y UCLIBC_SUSV2_LEGACY=y diff --git a/extra/Configs/defconfigs/arc/defconfig b/extra/Configs/defconfigs/arc/defconfig index 490bc2267..eebb11521 100644 --- a/extra/Configs/defconfigs/arc/defconfig +++ b/extra/Configs/defconfigs/arc/defconfig @@ -6,7 +6,7 @@ KERNEL_HEADERS="%KERNEL_HEADERS%" # LDSO_CACHE_SUPPORT is not set LDSO_RUNPATH=y # LDSO_SAFE_RUNPATH is not set -LINUXTHREADS_OLD=y +UCLIBC_HAS_THREADS_NATIVE=y PTHREADS_DEBUG_SUPPORT=y UCLIBC_HAS_OBSTACK=y UCLIBC_SUSV2_LEGACY=y diff --git a/extra/scripts/gen_bits_syscall_h.sh b/extra/scripts/gen_bits_syscall_h.sh index c44cd8fa4..bfd06b832 100755 --- a/extra/scripts/gen_bits_syscall_h.sh +++ b/extra/scripts/gen_bits_syscall_h.sh @@ -23,6 +23,7 @@ fi case $CC in *icc*) CC_SYSNUM_ARGS="-dM" ;; +*clang*) CC_SYSNUM_ARGS="-dM" ;; *) CC_SYSNUM_ARGS="-dN" ;; esac diff --git a/include/atomic.h b/include/atomic.h index 307704cba..3680d8714 100644 --- a/include/atomic.h +++ b/include/atomic.h @@ -1,5 +1,5 @@ /* Internal macros for atomic operations for GNU C Library. - Copyright (C) 2002-2006, 2009 Free Software Foundation, Inc. + Copyright (C) 2002-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -32,7 +32,7 @@ the multi-thread case. The interfaces have the prefix "catomic_". - - support functions like barriers. They also have the preifx + - support functions like barriers. They also have the prefix "atomic_". Architectures must provide a few lowlevel macros (the compare @@ -198,8 +198,12 @@ /* Add VALUE to *MEM and return the old value of *MEM. */ -#ifndef atomic_exchange_and_add -# define atomic_exchange_and_add(mem, value) \ +#ifndef atomic_exchange_and_add_acq +# ifdef atomic_exchange_and_add +# define atomic_exchange_and_add_acq(mem, value) \ + atomic_exchange_and_add (mem, value) +# else +# define atomic_exchange_and_add_acq(mem, value) \ ({ __typeof (*(mem)) __atg6_oldval; \ __typeof (mem) __atg6_memp = (mem); \ __typeof (*(mem)) __atg6_value = (value); \ @@ -213,8 +217,18 @@ __atg6_oldval), 0)); \ \ __atg6_oldval; }) +# endif #endif +#ifndef atomic_exchange_and_add_rel +# define atomic_exchange_and_add_rel(mem, value) \ + atomic_exchange_and_add_acq(mem, value) +#endif + +#ifndef atomic_exchange_and_add +# define atomic_exchange_and_add(mem, value) \ + atomic_exchange_and_add_acq(mem, value) +#endif #ifndef catomic_exchange_and_add # define catomic_exchange_and_add(mem, value) \ @@ -528,6 +542,219 |