Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-dev:uclibc commit in: sys-libs/uclibc/, sys-libs/uclibc/files/
Date: Mon, 02 Jan 2012 14:52:45
Message-Id: b310451322cf5636466bbc3d2dc36b1d5e498ca3.blueness@gentoo
1 commit: b310451322cf5636466bbc3d2dc36b1d5e498ca3
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jan 2 14:52:10 2012 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 2 14:52:10 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=b3104513
7
8 sys-libs/uclibc: bump to 0.9.32.1
9
10 ---
11 .../uclibc/files/uclibc-0.9.32.1-fix_epoll.patch | 42 +++++++++++++++
12 sys-libs/uclibc/uclibc-0.9.32.1.ebuild | 55 ++++++++++++++++++++
13 2 files changed, 97 insertions(+), 0 deletions(-)
14
15 diff --git a/sys-libs/uclibc/files/uclibc-0.9.32.1-fix_epoll.patch b/sys-libs/uclibc/files/uclibc-0.9.32.1-fix_epoll.patch
16 new file mode 100644
17 index 0000000..6e32d38
18 --- /dev/null
19 +++ b/sys-libs/uclibc/files/uclibc-0.9.32.1-fix_epoll.patch
20 @@ -0,0 +1,42 @@
21 +From 8245f3b4638fdff2011c2657af1bb211def704bc Mon Sep 17 00:00:00 2001
22 +From: Phil Blundell <pb@××××.net>
23 +Date: Sat, 11 Jun 2011 05:10:46 +0000
24 +Subject: Fix __libc_epoll_pwait compile failure on x86
25 +
26 +This prevents "memory input 7 is not directly addressable" errors.
27 +
28 +| libc/sysdeps/linux/common/epoll.c: In function '__libc_epoll_pwait':
29 +| libc/sysdeps/linux/common/epoll.c:71:80: error: memory input 7 is not directly addressable
30 +| libc/sysdeps/linux/common/epoll.c:75:86: error: memory input 7 is not directly addressable
31 +| make: *** [libc/sysdeps/linux/common/epoll.o] Error 1
32 +| make: *** Waiting for unfinished jobs....
33 +
34 +Signed-off-by: Phil Blundell <pb@××××.net>
35 +Signed-off-by: Jason Woodward <jason.woodward@×××××××.com>
36 +Signed-off-by: Khem Raj <raj.khem@×××××.com>
37 +---
38 +(limited to 'libc/sysdeps/linux/common/epoll.c')
39 +
40 +diff --git a/libc/sysdeps/linux/common/epoll.c b/libc/sysdeps/linux/common/epoll.c
41 +index 85b0cfd..ab3e73b 100644
42 +--- a/libc/sysdeps/linux/common/epoll.c
43 ++++ b/libc/sysdeps/linux/common/epoll.c
44 +@@ -67,12 +67,13 @@ extern __typeof(epoll_pwait) __libc_epoll_pwait;
45 + int __libc_epoll_pwait(int epfd, struct epoll_event *events, int maxevents,
46 + int timeout, const sigset_t *set)
47 + {
48 ++ int nsig = _NSIG / 8;
49 + if (SINGLE_THREAD_P)
50 +- return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8);
51 ++ return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig);
52 + # ifdef __UCLIBC_HAS_THREADS_NATIVE__
53 + else {
54 + int oldtype = LIBC_CANCEL_ASYNC ();
55 +- int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8);
56 ++ int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig);
57 + LIBC_CANCEL_RESET (oldtype);
58 + return result;
59 + }
60 +--
61 +cgit v0.9.0.1-2-gef13
62 +
63
64 diff --git a/sys-libs/uclibc/uclibc-0.9.32.1.ebuild b/sys-libs/uclibc/uclibc-0.9.32.1.ebuild
65 new file mode 100644
66 index 0000000..dd60f75
67 --- /dev/null
68 +++ b/sys-libs/uclibc/uclibc-0.9.32.1.ebuild
69 @@ -0,0 +1,55 @@
70 +# Copyright 1999-2011 Gentoo Foundation
71 +# Distributed under the terms of the GNU General Public License v2
72 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.30.1-r1.ebuild,v 1.9 2011/04/20 18:10:38 ulm Exp $
73 +
74 +EAPI="4"
75 +
76 +inherit eutils
77 +
78 +MY_P=uClibc-0.9.32.1
79 +DESCRIPTION="C library for developing embedded Linux systems"
80 +HOMEPAGE="http://www.uclibc.org/"
81 +SRC_URI="http://uclibc.org/downloads/${MY_P}.tar.bz2"
82 +
83 +LICENSE="LGPL-2"
84 +SLOT="0"
85 +KEYWORDS="-* amd64 x86"
86 +IUSE=""
87 +RESTRICT="strip"
88 +
89 +RDEPEND=""
90 +DEPEND=""
91 +
92 +S=${WORKDIR}/${MY_P}
93 +
94 +src_prepare() {
95 + epatch "${FILESDIR}"/${P}-fix_epoll.patch
96 +}
97 +
98 +src_configure() {
99 + cp "${FILESDIR}"/uclibc.config .config
100 + yes "" 2> /dev/null | make -s oldconfig > /dev/null || die "could not make oldconfig"
101 +}
102 +
103 +src_compile() {
104 + emake headers || die "make headers failed"
105 + emake || die "make failed"
106 + emake utils || die "make utils failed"
107 +}
108 +
109 +src_install() {
110 + emake DESTDIR="${D}" install || die "install failed"
111 +
112 + # remove files coming from kernel-headers
113 + rm -rf "${D}"/usr/include/{linux,asm*}
114 +
115 + emake DESTDIR="${D}" install_utils || die "install-utils failed"
116 + dobin extra/scripts/getent
117 + dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3
118 +}
119 +
120 +pkg_postinst() {
121 + echo "UTC" > "${ROOT}"/etc/TZ
122 + /sbin/ldconfig
123 + [[ -x /sbin/telinit ]] && /sbin/telinit U &> /dev/null
124 +}