summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/uclibc/uclibc-config.inc12
-rw-r--r--meta/recipes-core/uclibc/uclibc-git.inc8
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/0001-add-posix_fadvise-for-arm.patch68
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/0001-i386-sysdep.h-Remove-STABS_-macros.patch71
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch9
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/locale.cfg3
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/obstack.cfg1
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/powerpc_copysignl.patch10
-rw-r--r--meta/recipes-core/uclibc/uclibc.inc6
9 files changed, 102 insertions, 86 deletions
diff --git a/meta/recipes-core/uclibc/uclibc-config.inc b/meta/recipes-core/uclibc/uclibc-config.inc
index 0c7a0ce..8b9e41c 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 db00ee6..dab243f 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 0000000..7c17a19
--- /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 <raj.khem@gmail.com>
+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 <raj.khem@gmail.com>
+---
+ 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 <sys/syscall.h>
+
+-#ifdef __NR_fadvise64
++#if defined(__NR_fadvise64) || defined(__NR_arm_fadvise64_64)
+ # include <fcntl.h>
+ # include <endian.h>
+ # include <bits/wordsize.h>
+
++# 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 8512c45..0000000
--- 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 <raj.khem@gmail.com>
-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 <raj.khem@gmail.com>
----
- 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 7fc5bd3..7e7c579 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 0000000..fc66435
--- /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 0000000..36bf9d6
--- /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 ce58583..2f014cd 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 <raj.khem@gmail.com>
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 c25c4d1..86a7417 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() {
OpenPOWER on IntegriCloud