diff --git a/config/libc/uClibc.in b/config/libc/uClibc.in index a99ff736..da74968a 100644 --- a/config/libc/uClibc.in +++ b/config/libc/uClibc.in @@ -60,6 +60,8 @@ config LIBC_UCLIBC_CUSTOM_VERSION prompt "Custom uClibc Version" help Enter the version number for your custom uClibc. + Version 1.0.18 is only enabled in EXPERIMENTAL builds due to issues + with static libraries. config LIBC_VERSION string @@ -75,10 +77,17 @@ choice # Don't remove next line # CT_INSERT_VERSION_BELOW -config LIBC_UCLIBC_NG_V_1_0_12 +# List 1.0.17 first to make it default. 1.0.18 has issues with static libs. +config LIBC_UCLIBC_NG_V_1_0_17 bool - prompt "1.0.12" - select LIBC_UCLIBC_NG_1_0_12_or_later + prompt "1.0.17" + select LIBC_UCLIBC_NG_1_0_15_or_later + +config LIBC_UCLIBC_NG_V_1_0_18 + bool + prompt "1.0.18" + depends on EXPERIMENTAL + select LIBC_UCLIBC_NG_1_0_15_or_later config LIBC_UCLIBC_V_0_9_33_2 bool @@ -91,12 +100,13 @@ config LIBC_VERSION string # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW - default "1.0.12" if LIBC_UCLIBC_NG_V_1_0_12 + default "1.0.18" if LIBC_UCLIBC_NG_V_1_0_18 + default "1.0.17" if LIBC_UCLIBC_NG_V_1_0_17 default "0.9.33.2" if LIBC_UCLIBC_V_0_9_33_2 endif # ! LIBC_UCLIBC_CUSTOM -config LIBC_UCLIBC_NG_1_0_12_or_later +config LIBC_UCLIBC_NG_1_0_15_or_later bool select LIBC_UCLIBC_NG_1_0_0_or_later diff --git a/config/libc/uClibc.in.2 b/config/libc/uClibc.in.2 index 3a5fe345..dc024201 100644 --- a/config/libc/uClibc.in.2 +++ b/config/libc/uClibc.in.2 @@ -1,6 +1,6 @@ # uClibc second-part option -if THREADS_LT +if THREADS_LT && !LIBC_UCLIBC_NG_1_0_15_or_later choice bool @@ -30,10 +30,12 @@ endchoice endif # THREADS_LT +# uClibc-ng 1.0.15 did away with 2 implementations of linuxthreads config LIBC_UCLIBC_LNXTHRD string default "" if THREADS_NONE default "" if THREADS_NATIVE + default "" if LIBC_UCLIBC_NG_1_0_15_or_later default "old" if LIBC_UCLIBC_LNXTHRD_OLD default "new" if LIBC_UCLIBC_LNXTHRD_NEW diff --git a/patches/uClibc-ng/1.0.12/100-provide-_obstack_free.patch b/patches/uClibc-ng/1.0.12/100-provide-_obstack_free.patch deleted file mode 100644 index 9fd4bc3a..00000000 --- a/patches/uClibc-ng/1.0.12/100-provide-_obstack_free.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur uClibc-ng-1.0.12.orig/libc/misc/gnu/obstack.c uClibc-ng-1.0.12/libc/misc/gnu/obstack.c ---- uClibc-ng-1.0.12.orig/libc/misc/gnu/obstack.c 2016-03-13 15:08:44.408962824 -0700 -+++ uClibc-ng-1.0.12/libc/misc/gnu/obstack.c 2016-03-13 15:13:30.129322998 -0700 -@@ -385,7 +385,7 @@ - abort (); - } - --# if 0 -+# if 1 - /* Older versions of libc used a function _obstack_free intended to be - called by non-GCC compilers. */ - strong_alias (obstack_free, _obstack_free) diff --git a/samples/sparc-leon-linux-uclibc/crosstool.config b/samples/sparc-leon-linux-uclibc/crosstool.config index 4afde665..97488a55 100644 --- a/samples/sparc-leon-linux-uclibc/crosstool.config +++ b/samples/sparc-leon-linux-uclibc/crosstool.config @@ -9,7 +9,7 @@ CT_TARGET_VENDOR="leon" CT_KERNEL_linux=y CT_KERNEL_V_3_10=y CT_LIBC_uClibc=y -CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/samples/${CT_TARGET}/${CT_LIBC}-${CT_LIBC_VERSION}.config" +CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/samples/${CT_TARGET}/uClibc.config" CT_LIBC_UCLIBC_IPV6=y CT_LIBC_UCLIBC_WCHAR=y CT_CC_GCC_V_4_9_3=y diff --git a/samples/sparc-leon-linux-uclibc/uClibc-1.0.12.config b/samples/sparc-leon-linux-uclibc/uClibc.config similarity index 100% rename from samples/sparc-leon-linux-uclibc/uClibc-1.0.12.config rename to samples/sparc-leon-linux-uclibc/uClibc.config diff --git a/scripts/addToolVersion.sh b/scripts/addToolVersion.sh index 806ecca8..72baac01 100755 --- a/scripts/addToolVersion.sh +++ b/scripts/addToolVersion.sh @@ -16,7 +16,7 @@ doHelp() { cat <<-EOF Usage: ${myname} <--tool> <[options] version [...]> ... 'tool' in one of: - gcc, binutils, glibc, uClibc, newlib, linux, gdb, dmalloc, + gcc, binutils, glibc, uClibc, uClibc-ng, newlib, linux, gdb, dmalloc, duma, strace, ltrace, libelf, gmp, mpfr, isl, cloog, mpc, mingw-w64, expat, ncurses @@ -179,6 +179,7 @@ while [ $# -gt 0 ]; do --binutils) EXP=; OBS=; cat=BINUTILS; tool=binutils; tool_prefix=binutils; dot2suffix=;; --glibc) EXP=; OBS=; cat=LIBC_GLIBC; tool=glibc; tool_prefix=libc; dot2suffix=;; --uClibc) EXP=; OBS=; cat=LIBC_UCLIBC; tool=uClibc; tool_prefix=libc; dot2suffix=;; + --uClibc-ng)EXP=; OBS=; cat=LIBC_UCLIBC_NG; tool=uClibc; tool_prefix=libc; dot2suffix=;; --newlib) EXP=; OBS=; cat=LIBC_NEWLIB; tool=newlib; tool_prefix=libc; dot2suffix=;; --mingw-w64)EXP=; OBS=; cat=WINAPI; tool=mingw; tool_prefix=libc; dot2suffix=;; --linux) EXP=; OBS=; cat=KERNEL; tool=linux; tool_prefix=kernel; dot2suffix=;; diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh index 47e135b9..be8d6bf2 100644 --- a/scripts/build/libc/uClibc.sh +++ b/scripts/build/libc/uClibc.sh @@ -377,6 +377,11 @@ manage_uClibc_config() { case "${CT_THREADS}:${CT_LIBC_UCLIBC_LNXTHRD}" in none:) ;; + linuxthreads:) + # Newer version of uClibc-ng, no old/new dichotomy + CT_KconfigEnableOption "UCLIBC_HAS_THREADS" "${dst}" + CT_KconfigEnableOption "UCLIBC_HAS_LINUXTHREADS" "${dst}" + ;; linuxthreads:old) CT_KconfigEnableOption "UCLIBC_HAS_THREADS" "${dst}" CT_KconfigEnableOption "LINUXTHREADS_OLD" "${dst}"