From: Saul Wold <sgw@linux.intel.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] uclibc: remove PACKAGE_ARCH, fix compilation on i586
Date: Tue, 07 Jun 2011 08:33:19 -0700 [thread overview]
Message-ID: <4DEE44BF.1060308@linux.intel.com> (raw)
In-Reply-To: <1307102133.2529.260.camel@phil-desktop>
On 06/03/2011 04:55 AM, Phil Blundell wrote:
> There is no good reason for uclibc to be machine specific. Remove local
> assignment to PACKAGE_ARCH so that it gets the default target
> architecture and bump PR for that change.
>
> See http://lists.linuxtogo.org/pipermail/openembedded-core/2011-May/003064.html
>
> Also replace a chunk of anonymous python with a COMPATIBLE_HOST
> declaration.
>
> Signed-off-by: Phil Blundell<philb@gnu.org>
> ---
> .../uclibc/uclibc-git/epoll-asm-fix.patch | 20 ++++++++++++++++++++
This patch has not comments, Upstream-Status, or Sign-off-by.
Please add these so we have some history to this patch and can determine
if it should be upstreamed.
Thanks
Sau!
> meta/recipes-core/uclibc/uclibc.inc | 12 +-----------
> meta/recipes-core/uclibc/uclibc_git.bb | 5 ++---
> 3 files changed, 23 insertions(+), 14 deletions(-)
> create mode 100644 meta/recipes-core/uclibc/uclibc-git/epoll-asm-fix.patch
>
> diff --git a/meta/recipes-core/uclibc/uclibc-git/epoll-asm-fix.patch b/meta/recipes-core/uclibc/uclibc-git/epoll-asm-fix.patch
> new file mode 100644
> index 0000000..6129081
> --- /dev/null
> +++ b/meta/recipes-core/uclibc/uclibc-git/epoll-asm-fix.patch
> @@ -0,0 +1,20 @@
> +diff --git a/libc/sysdeps/linux/common/epoll.c b/libc/sysdeps/linux/common/epoll.c
> +index 85b0cfd..c034b2c 100644
> +--- a/libc/sysdeps/linux/common/epoll.c
> ++++ b/libc/sysdeps/linux/common/epoll.c
> +@@ -67,12 +67,13 @@ extern __typeof(epoll_pwait) __libc_epoll_pwait;
> + int __libc_epoll_pwait(int epfd, struct epoll_event *events, int maxevents,
> + int timeout, const sigset_t *set)
> + {
> ++ int nsig = _NSIG / 8;
> + if (SINGLE_THREAD_P)
> +- return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8);
> ++ return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig);
> + # ifdef __UCLIBC_HAS_THREADS_NATIVE__
> + else {
> + int oldtype = LIBC_CANCEL_ASYNC ();
> +- int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8);
> ++ int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig);
> + LIBC_CANCEL_RESET (oldtype);
> + return result;
> + }
> diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
> index c1bc422..a2c6ee5 100644
> --- a/meta/recipes-core/uclibc/uclibc.inc
> +++ b/meta/recipes-core/uclibc/uclibc.inc
> @@ -36,21 +36,11 @@ cp ${SYSROOT_DESTDIR}${libdir}/libc.so ${WORKDIR}/site_config_libc; \
> sed -i -e 's# ${base_libdir}# ${SYSROOT_DESTDIR}${base_libdir}#g' -e 's# ${libdir}# ${SYSROOT_DESTDIR}${libdir}#g' ${WORKDIR}/site_config_libc/libc.so; \
> "
>
> -#
> # For now, we will skip building of a gcc package if it is a uclibc one
> # and our build is not a uclibc one, and we skip a glibc one if our build
> # is a uclibc build.
> -#
> -# See the note in gcc/gcc_3.4.0.oe
> -#
> +COMPATIBLE_HOST = ".*-uclibc.*"
>
> -python __anonymous () {
> - import bb, re
> - uc_os = (re.match('.*uclibc*', bb.data.getVar('TARGET_OS', d, 1)) != None)
> - if not uc_os:
> - raise bb.parse.SkipPackage("incompatible with target %s" %
> - bb.data.getVar('TARGET_OS', d, 1))
> -}
> PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
> DEPENDS = "virtual/${TARGET_PREFIX}binutils \
> virtual/${TARGET_PREFIX}gcc-intermediate \
> diff --git a/meta/recipes-core/uclibc/uclibc_git.bb b/meta/recipes-core/uclibc/uclibc_git.bb
> index eded2fb..33c6ec8 100644
> --- a/meta/recipes-core/uclibc/uclibc_git.bb
> +++ b/meta/recipes-core/uclibc/uclibc_git.bb
> @@ -2,11 +2,9 @@ SRCREV="71d63ed75648da9b0b71afabb9c60aaad792c55c"
>
> require uclibc.inc
> PV = "0.9.31+0.9.32rc3"
> -PR = "${INC_PR}.2"
> +PR = "${INC_PR}.3"
> PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
>
> -#recent versions uclibc require real kernel headers
> -PACKAGE_ARCH = "${MACHINE_ARCH}"
> FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-git' ], d)}"
>
> SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \
> @@ -29,5 +27,6 @@ SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \
> file://remove_attribute_optimize_Os.patch \
> file://append_UCLIBC_EXTRA_CFLAGS.patch \
> file://compile-arm-fork-with-O2.patch \
> + file://epoll-asm-fix.patch \
> "
> S = "${WORKDIR}/git"
next prev parent reply other threads:[~2011-06-07 15:36 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-03 11:55 [PATCH] uclibc: remove PACKAGE_ARCH, fix compilation on i586 Phil Blundell
2011-06-07 9:36 ` Phil Blundell
2011-06-07 17:43 ` Khem Raj
2011-06-07 17:48 ` Koen Kooi
2011-06-07 17:59 ` Khem Raj
2011-06-07 20:36 ` Richard Purdie
2011-06-08 1:28 ` Khem Raj
2011-06-10 14:02 ` Phil Blundell
2011-06-07 9:38 ` Koen Kooi
2011-06-07 15:33 ` Saul Wold [this message]
2011-06-07 15:51 ` Phil Blundell
2011-06-07 15:59 ` Saul Wold
2011-06-07 16:00 ` Mark Hatle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DEE44BF.1060308@linux.intel.com \
--to=sgw@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox