From 7bcf53ddb2e1a7171545f544ee2443b06d7c3359 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 26 Jun 2013 14:01:27 -0700 Subject: uclibc: Update to latest git/master version Use kernel cfg management infra to manage kconfig fragments. Add fragments for locale and obstrack and enable them by default Drop aplready applied patches Drop DP = -1 Signed-off-by: Khem Raj Signed-off-by: Saul Wold --- meta/recipes-core/uclibc/uclibc-config.inc | 12 ++++ meta/recipes-core/uclibc/uclibc-git.inc | 8 +-- .../0001-add-posix_fadvise-for-arm.patch | 68 +++++++++++++++++++++ .../0001-i386-sysdep.h-Remove-STABS_-macros.patch | 71 ---------------------- ...-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch | 9 ++- meta/recipes-core/uclibc/uclibc-git/locale.cfg | 3 + meta/recipes-core/uclibc/uclibc-git/obstack.cfg | 1 + .../uclibc/uclibc-git/powerpc_copysignl.patch | 10 +-- meta/recipes-core/uclibc/uclibc.inc | 6 +- 9 files changed, 102 insertions(+), 86 deletions(-) create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-add-posix_fadvise-for-arm.patch delete mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-i386-sysdep.h-Remove-STABS_-macros.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/locale.cfg create mode 100644 meta/recipes-core/uclibc/uclibc-git/obstack.cfg diff --git a/meta/recipes-core/uclibc/uclibc-config.inc b/meta/recipes-core/uclibc/uclibc-config.inc index 0c7a0ceb06..8b9e41c64d 100644 --- a/meta/recipes-core/uclibc/uclibc-config.inc +++ b/meta/recipes-core/uclibc/uclibc-config.inc @@ -1,3 +1,5 @@ +DEPENDS += "kern-tools-native" +inherit cml1 # # Set the ARCH environment variable for uClibc compilation. # Return value must match one of the architectures known to uClibc: @@ -128,3 +130,13 @@ def features_to_uclibc_conf(d): def features_to_uclibc_del(d): cnf, rem = features_to_uclibc_settings(d) return rem + +# returns all the elements from the src uri that are .cfg files +def find_cfgs(d): + sources=src_patches(d, True) + sources_list=[] + for s in sources: + if s.endswith('.cfg'): + sources_list.append(s) + + return sources_list diff --git a/meta/recipes-core/uclibc/uclibc-git.inc b/meta/recipes-core/uclibc/uclibc-git.inc index db00ee6243..dab243fc8e 100644 --- a/meta/recipes-core/uclibc/uclibc-git.inc +++ b/meta/recipes-core/uclibc/uclibc-git.inc @@ -1,6 +1,4 @@ -SRCREV="946799cd0ce0c6c803c9cb173a84f4d607bde350" - -DEFAULT_PREFERENCE = "-1" +SRCREV="c2c684f88157f8bd0c236c7546f922fbf66b64a1" PV = "0.9.33+git${SRCPV}" PR = "${INC_PR}.4" @@ -10,6 +8,8 @@ FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-git' ], d)}" SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \ file://uClibc.machine \ file://uClibc.distro \ + file://obstack.cfg \ + file://locale.cfg \ file://uclibc_enable_log2_test.patch \ file://powerpc_copysignl.patch \ file://argp-support.patch \ @@ -22,6 +22,6 @@ SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \ file://0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch \ file://0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch \ file://0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch \ - file://0001-i386-sysdep.h-Remove-STABS_-macros.patch \ + file://0001-add-posix_fadvise-for-arm.patch \ " S = "${WORKDIR}/git" diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-add-posix_fadvise-for-arm.patch b/meta/recipes-core/uclibc/uclibc-git/0001-add-posix_fadvise-for-arm.patch new file mode 100644 index 0000000000..7c17a19420 --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/0001-add-posix_fadvise-for-arm.patch @@ -0,0 +1,68 @@ +From 236a65abe0a6810e20498fc0ba8d02d90978953b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 29 Jun 2013 22:46:53 -0700 +Subject: [PATCH] add posix_fadvise() for arm + +arm call to posix_fadvise simply calls posix_fadvise64 + +Signed-off-by: Khem Raj +--- + libc/sysdeps/linux/common/posix_fadvise.c | 24 ++++++++++++++++-------- + 1 file changed, 16 insertions(+), 8 deletions(-) + +Upstream-Status: Pending + +diff --git a/libc/sysdeps/linux/common/posix_fadvise.c b/libc/sysdeps/linux/common/posix_fadvise.c +index d3e1bd4..e102ce7 100644 +--- a/libc/sysdeps/linux/common/posix_fadvise.c ++++ b/libc/sysdeps/linux/common/posix_fadvise.c +@@ -10,30 +10,38 @@ + + #include + +-#ifdef __NR_fadvise64 ++#if defined(__NR_fadvise64) || defined(__NR_arm_fadvise64_64) + # include + # include + # include + ++# ifdef __NR_arm_fadvise64_64 ++int posix_fadvise64(int fd, off64_t offset, off64_t len, int advice); ++# endif ++ + int posix_fadvise(int fd, off_t offset, off_t len, int advice) + { ++# ifdef __NR_arm_fadvise64_64 ++ return posix_fadvise64(fd, offset, len, advice); ++# else + int ret; + INTERNAL_SYSCALL_DECL(err); +-# if __WORDSIZE == 64 ++# if __WORDSIZE == 64 + ret = INTERNAL_SYSCALL(fadvise64, err, 4, fd, offset, len, advice); +-# else +-# if defined(__UCLIBC_SYSCALL_ALIGN_64BIT__) +- ret = INTERNAL_SYSCALL(fadvise64, err, 6, fd, /*unused*/0, + # else ++# if defined(__UCLIBC_SYSCALL_ALIGN_64BIT__) ++ ret = INTERNAL_SYSCALL(fadvise64, err, 6, fd, /*unused*/0, ++# else + ret = INTERNAL_SYSCALL(fadvise64, err, 5, fd, +-# endif ++# endif + OFF_HI_LO (offset), len, advice); +-# endif ++# endif + if (INTERNAL_SYSCALL_ERROR_P (ret, err)) + return INTERNAL_SYSCALL_ERRNO (ret, err); + return 0; ++# endif + } +-# if defined __UCLIBC_HAS_LFS__ && (!defined __NR_fadvise64_64 || __WORDSIZE == 64) ++# if defined __UCLIBC_HAS_LFS__ && ((!defined __NR_fadvise64_64 && !defined __NR_arm_fadvise64_64) || __WORDSIZE == 64) + strong_alias(posix_fadvise,posix_fadvise64) + # endif + #endif +-- +1.7.9.5 + diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-i386-sysdep.h-Remove-STABS_-macros.patch b/meta/recipes-core/uclibc/uclibc-git/0001-i386-sysdep.h-Remove-STABS_-macros.patch deleted file mode 100644 index 8512c456a5..0000000000 --- a/meta/recipes-core/uclibc/uclibc-git/0001-i386-sysdep.h-Remove-STABS_-macros.patch +++ /dev/null @@ -1,71 +0,0 @@ -Upstream-Status: Submitted - --Khem - -From e20fd2c2427be981c16cb936cc6866d08520de9b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 25 Mar 2013 19:34:39 -0700 -Subject: [PATCH] i386/sysdep.h: Remove STABS_* macros - -uclibc is compiled with elf/dwarf and secondly HAVE_CPP_ASM_DEBUGINFO -is not defined so we generate bogus .stab sections needlessly - -Some of post processing tools get confused when they see both -dwarf and stab sections - -Signed-off-by: Khem Raj ---- - libc/sysdeps/linux/i386/sysdep.h | 27 --------------------------- - 1 file changed, 27 deletions(-) - -diff --git a/libc/sysdeps/linux/i386/sysdep.h b/libc/sysdeps/linux/i386/sysdep.h -index 983c4f5..7a8d2e2 100644 ---- a/libc/sysdeps/linux/i386/sysdep.h -+++ b/libc/sysdeps/linux/i386/sysdep.h -@@ -43,12 +43,9 @@ - incomplete stabs information. Fake some entries here which specify - the current source file. */ - #define ENTRY(name) \ -- STABS_CURRENT_FILE1("") \ -- STABS_CURRENT_FILE(name) \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \ - ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \ - .align ALIGNARG(4); \ -- STABS_FUN(name) \ - C_LABEL(name) \ - cfi_startproc; \ - CALL_MCOUNT -@@ -57,30 +54,6 @@ - #define END(name) \ - cfi_endproc; \ - ASM_SIZE_DIRECTIVE(name) \ -- STABS_FUN_END(name) -- --#ifdef HAVE_CPP_ASM_DEBUGINFO --/* Disable that goop, because we just pass -g through to the assembler -- and it generates proper line number information directly. */ --# define STABS_CURRENT_FILE1(name) --# define STABS_CURRENT_FILE(name) --# define STABS_FUN(name) --# define STABS_FUN_END(name) --#else --/* Remove the following two lines once the gdb bug is fixed. */ --#define STABS_CURRENT_FILE(name) \ -- STABS_CURRENT_FILE1 (#name) --#define STABS_CURRENT_FILE1(name) \ -- 1: .stabs name,100,0,0,1b; --/* Emit stabs definition lines. We use F(0,1) and define t(0,1) as `int', -- the same way gcc does it. */ --#define STABS_FUN(name) STABS_FUN2(name, name##:F(0,1)) --#define STABS_FUN2(name, namestr) \ -- .stabs "int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,0,0; \ -- .stabs #namestr,36,0,0,name; --#define STABS_FUN_END(name) \ -- 1: .stabs "",36,0,0,1b-name; --#endif - - /* If compiled for profiling, call `mcount' at the start of each function. */ - #ifdef PROF --- -1.7.9.5 - diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch b/meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch index 7fc5bd3d74..7e7c5793f1 100644 --- a/meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch +++ b/meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch @@ -13,9 +13,9 @@ Upstream-Status: Pending Index: git/libc/sysdeps/linux/arm/Makefile.arch =================================================================== ---- git.orig/libc/sysdeps/linux/arm/Makefile.arch 2013-03-25 19:48:48.000000000 -0700 -+++ git/libc/sysdeps/linux/arm/Makefile.arch 2013-03-25 19:51:57.496677771 -0700 -@@ -13,7 +13,10 @@ +--- git.orig/libc/sysdeps/linux/arm/Makefile.arch 2013-05-23 11:13:32.000000000 -0700 ++++ git/libc/sysdeps/linux/arm/Makefile.arch 2013-05-23 11:16:18.304333131 -0700 +@@ -13,7 +13,9 @@ vfork.S clone.S SSRC-$(UCLIBC_HAS_LFS) += mmap64.S @@ -23,7 +23,6 @@ Index: git/libc/sysdeps/linux/arm/Makefile.arch +SSRC-$(UCLIBC_HAS_THREADS_NATIVE) += libc-thumb_atomics.S +libc-nonshared-$(UCLIBC_HAS_THREADS_NATIVE) += $(ARCH_OUT)/libc-aeabi_read_tp.os +libc-static-$(UCLIBC_HAS_THREADS_NATIVE) += $(ARCH_OUT)/libc-aeabi_read_tp.o -+ - CSRC-$(UCLIBC_HAS_ADVANCED_REALTIME) += posix_fadvise.c CSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += makecontext.c SSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += getcontext.S setcontext.S swapcontext.S + diff --git a/meta/recipes-core/uclibc/uclibc-git/locale.cfg b/meta/recipes-core/uclibc/uclibc-git/locale.cfg new file mode 100644 index 0000000000..fc66435163 --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/locale.cfg @@ -0,0 +1,3 @@ +UCLIBC_HAS_LOCALE=y +UCLIBC_HAS_XLOCALE=y +UCLIBC_BUILD_MINIMAL_LOCALE=y diff --git a/meta/recipes-core/uclibc/uclibc-git/obstack.cfg b/meta/recipes-core/uclibc/uclibc-git/obstack.cfg new file mode 100644 index 0000000000..36bf9d6e4a --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/obstack.cfg @@ -0,0 +1 @@ +UCLIBC_HAS_OBSTACK=y diff --git a/meta/recipes-core/uclibc/uclibc-git/powerpc_copysignl.patch b/meta/recipes-core/uclibc/uclibc-git/powerpc_copysignl.patch index ce58583c81..2f014cd91e 100644 --- a/meta/recipes-core/uclibc/uclibc-git/powerpc_copysignl.patch +++ b/meta/recipes-core/uclibc/uclibc-git/powerpc_copysignl.patch @@ -6,21 +6,21 @@ Signed-off-by: Khem Raj Index: git/libc/sysdeps/linux/powerpc/Makefile.arch =================================================================== ---- git.orig/libc/sysdeps/linux/powerpc/Makefile.arch 2013-01-21 16:18:22.000000000 -0800 -+++ git/libc/sysdeps/linux/powerpc/Makefile.arch 2013-01-21 16:21:25.363552429 -0800 +--- git.orig/libc/sysdeps/linux/powerpc/Makefile.arch 2013-05-23 11:09:50.000000000 -0700 ++++ git/libc/sysdeps/linux/powerpc/Makefile.arch 2013-05-23 11:12:06.072328399 -0700 @@ -5,7 +5,7 @@ # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. # --CSRC-y := __syscall_error.c pread_write.c ioctl.c -+CSRC-y := __syscall_error.c pread_write.c ioctl.c copysignl.c +-CSRC-y := __syscall_error.c ioctl.c ++CSRC-y := __syscall_error.c ioctl.c copysignl.c SSRC-y := \ __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S brk.S \ Index: git/libc/sysdeps/linux/powerpc/copysignl.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/libc/sysdeps/linux/powerpc/copysignl.c 2013-01-21 16:20:46.807552554 -0800 ++++ git/libc/sysdeps/linux/powerpc/copysignl.c 2013-05-23 11:11:37.600327865 -0700 @@ -0,0 +1,89 @@ +/* s_copysignl.c -- long double version of s_copysign.c. + * Conversion to long double by Ulrich Drepper, diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc index c25c4d151a..86a7417f34 100644 --- a/meta/recipes-core/uclibc/uclibc.inc +++ b/meta/recipes-core/uclibc/uclibc.inc @@ -60,8 +60,10 @@ export V="2" CFLAGS_arm := "${@oe_filter_out('-fno-omit-frame-pointer', '${CFLAGS}', d)}" UCLIBC_EXTRA_CFLAGS := "${@oe_filter_out('(-I\S+|-i\S+)', '${CFLAGS}', d)}" UCLIBC_EXTRA_LDFLAGS := "${@oe_filter_out('(-L\S+|-l\S+)', '${LDFLAGS}', d)}" + do_compile_prepend () { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + oe_runmake pregen } configmangle = '/^KERNEL_HEADERS/d; \ @@ -146,8 +148,10 @@ do_configure() { # Mangle the resulting .config depending on OE variables sed -i -e '${configmangle}' ${S}/merged.config + cp ${S}/merged.config .config + merge_config.sh -r -n -m .config ${@" ".join(find_cfgs(d))} + cml1_do_configure - oe_runmake KCONFIG_ALLCONFIG=${S}/merged.config allnoconfig } do_install() { -- cgit 1.2.3-korg