add klibc

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@2746 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one 2010-11-21 19:15:34 +00:00
parent 3f0578579f
commit 73c5e3dfcb
13 changed files with 884 additions and 1 deletions

337
dev-libs/klibc/ChangeLog Normal file
View File

@ -0,0 +1,337 @@
# ChangeLog for dev-libs/klibc
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/klibc/ChangeLog,v 1.72 2010/01/10 09:50:36 robbat2 Exp $
10 Jan 2010; Robin H. Johnson <robbat2@gentoo.org> klibc-1.5.12-r1.ebuild,
klibc-1.5.15.ebuild, klibc-1.5.15-r1.ebuild:
Bug #278957: use test instead of $FEATURES access.
25 Sep 2009; Diego E. Pettenò <flameeyes@gentoo.org> klibc-1.5.8.ebuild,
klibc-1.5.11.ebuild, klibc-1.5.12.ebuild, klibc-1.5.12-r1.ebuild,
klibc-1.5.15.ebuild, klibc-1.5.15-r1.ebuild,
-files/klibc-1.5-nostrip.patch:
Remove 1 byte-sized patch (and ebuild reference to that).
*klibc-1.5.15-r1 (16 Sep 2009)
16 Sep 2009; Robin H. Johnson <robbat2@gentoo.org>
+klibc-1.5.15-r1.ebuild:
Bug #284957: Work for USE=savedconfig in progress.
15 Sep 2009; Robin H. Johnson <robbat2@gentoo.org> klibc-1.5.15.ebuild:
Implement basic ARM support, thanks to the mv78100 board from Marvell.
*klibc-1.5.15 (09 May 2009)
09 May 2009; Robin H. Johnson <robbat2@gentoo.org> +klibc-1.5.15.ebuild:
Bug 252880: version bump. 1.5.14 was broken, but 1.5.15 passes the
testsuite.
07 Nov 2008; Raúl Porcel <armin76@gentoo.org> klibc-1.5.12-r1.ebuild:
sparc/x86 stable wrt #238494
01 Nov 2008; nixnut <nixnut@gentoo.org> klibc-1.5.12-r1.ebuild:
Stable on ppc wrt bug 238494
01 Nov 2008; Jeremy Olexa <darkside@gentoo.org> klibc-1.5.12-r1.ebuild:
amd64 stable, bug 238494
31 Oct 2008; Robin H. Johnson <robbat2@gentoo.org> klibc-1.5.12-r1.ebuild:
Now with testing magic.
31 Oct 2008; Robin H. Johnson <robbat2@gentoo.org> klibc-1.5.12-r1.ebuild:
Bug #242454 - be sure to check both locations for kernel sources.
06 Aug 2008; Ulrich Mueller <ulm@gentoo.org> metadata.xml:
Add USE flag description to metadata wrt GLEP 56.
*klibc-1.5.12-r1 (14 Jul 2008)
14 Jul 2008; Robin H. Johnson <robbat2@gentoo.org>
+klibc-1.5.12-r1.ebuild:
Use 2.6.26, test with caution.
*klibc-1.5.12 (14 Jul 2008)
14 Jul 2008; Robin H. Johnson <robbat2@gentoo.org> +klibc-1.5.12.ebuild:
Version bump.
26 Jun 2008; Robin H. Johnson <robbat2@gentoo.org>
-files/klibc-1.2.1-nostdinc-flags.patch, -files/klibc-1.2.4-kbuild.patch,
-files/klibc-1.4.7-nostdinc-flags.patch, -files/klibc-1.4.9-mips32.patch,
-files/klibc-1.4.13-resumelib.patch, -files/klibc-1.4.13-types.h.patch,
-klibc-1.2.1-r1.ebuild, -klibc-1.2.1-r2.ebuild, -klibc-1.4.12.ebuild,
-klibc-1.4.13.ebuild, -klibc-1.5.ebuild, -klibc-1.5.7.ebuild,
-klibc-1.5.7-r1.ebuild, -klibc-1.5.7-r2.ebuild:
Trim old ebuilds and patches.
*klibc-1.5.11 (26 Jun 2008)
26 Jun 2008; Robin H. Johnson <robbat2@gentoo.org>
+files/klibc-1.5.11-klibcasmarch.patch,
+files/klibc-1.5.11-x86_64-io.h-return.diff, +klibc-1.5.11.ebuild:
Version bump per bug #217738, and also fix x86_64 io.h header per bug
#229525.
10 Mar 2008; Steve Dibb <beandog@gentoo.org> klibc-1.5.8.ebuild:
amd64 stable, bug 208131
14 Feb 2008; nixnut <nixnut@gentoo.org> klibc-1.5.8.ebuild:
Stable on ppc wrt bug 208131
13 Feb 2008; Dawid Węgliński <cla@gentoo.org> klibc-1.5.8.ebuild:
Stable on x86 (bug #208131)
*klibc-1.5.8 (15 Jan 2008)
15 Jan 2008; Robin H. Johnson <robbat2@gentoo.org>
+files/klibc-1.5.7-strip-fix-dash-s.patch, +klibc-1.5.8.ebuild:
Version bump, and fix bug 201006.
21 Dec 2007; nixnut <nixnut@gentoo.org> klibc-1.5.7-r2.ebuild:
Stable on ppc wrt bug 195443
*klibc-1.5.7-r2 (14 Nov 2007)
14 Nov 2007; Robin H. Johnson <robbat2@gentoo.org> +klibc-1.5.7-r2.ebuild:
This revision fixes compiling of v86d (bug 198937) due to a missing patch,
and splashutils due to a broken asm symlink that was installed.
14 Nov 2007; Robin H. Johnson <robbat2@gentoo.org> klibc-1.5.7-r1.ebuild:
Bug #199048, we need to ignore KBUILD_OUTPUT.
*klibc-1.5.7-r1 (12 Nov 2007)
12 Nov 2007; Robin H. Johnson <robbat2@gentoo.org>
+files/klibc-1.5-klibcasmarch.patch, +klibc-1.5.7-r1.ebuild:
Bug #196521, some arches have a shared asm-ARCH directory in the kernel
sources, and klibc is not aware of this.
*klibc-1.5.7 (12 Nov 2007)
12 Nov 2007; Robin H. Johnson <robbat2@gentoo.org>
+files/klibc-1.5-nostrip.patch, +files/klibc-1.5-sigaction.patch,
+klibc-1.5.7.ebuild:
Bug #190113, add biarch support for ppc64-32ul et al. Redo of a lot of the
handling.
04 Nov 2007; Christian Heim <phreak@gentoo.org> metadata.xml:
Removing myself as the maintainer.
21 Oct 2007; Steve Dibb <beandog@gentoo.org> klibc-1.5.ebuild:
amd64 stable
14 Oct 2007; Mike Frysinger <vapier@gentoo.org> klibc-1.5.ebuild:
Add back in RESTRICT=strip for az.
11 Oct 2007; Christian Faulhammer <opfer@gentoo.org> klibc-1.5.ebuild:
stable x86, bug 195443
02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org> klibc-1.1.ebuild,
klibc-1.2.1-r1.ebuild, klibc-1.2.1-r2.ebuild, klibc-1.4.12.ebuild,
klibc-1.4.13.ebuild:
(QA) RESTRICT clean up.
13 Jun 2007; Christian Heim <phreak@gentoo.org> klibc-1.5.ebuild:
Fixing cross compilation, thanks to Michal Januszewski in #181560.
*klibc-1.5 (17 May 2007)
17 May 2007; Christian Heim <phreak@gentoo.org> +klibc-1.5.ebuild:
Version bump, finally at klibc-1.5.
13 May 2007; Christian Heim <phreak@gentoo.org> klibc-1.4.13.ebuild:
Really fix the permission problem (#178053) and also fix the sandbox
violation (#178208 - thanks to Roland Tapken, note to self: always use ${D}
in src_install).
12 May 2007; Christian Heim <phreak@gentoo.org> klibc-1.4.13.ebuild:
Fixing the permissions bug (#178053 - thanks to Tobias Sager <moixa at
gmx.ch>), hopefully fixing any further issues.
12 May 2007; Daniel Drake <dsd@gentoo.org> metadata.xml:
Move from kernel to kernel-misc herd
07 May 2007; Chris Gianelloni <wolf31o2@gentoo.org> klibc-1.4.13.ebuild:
Stable on amd64/ppc/x86 for splashutils.
10 Feb 2007; Christian Heim <phreak@gentoo.org> klibc-1.2.1-r2.ebuild:
Backporting the types.h fix from 1.4.33 to 1.2.1-r2, making current stable
work for kernel >=2.6.19. Quoting fixes. Backporting the QA_EXECSTACK stuff
from 1.4.33.
09 Feb 2007; Christian Heim <phreak@gentoo.org>
+files/klibc-1.4.13-types.h.patch, klibc-1.4.13.ebuild:
Quoting fixes, adding the -types.h patch suggested by Alon in #165472.
20 Jan 2007; Christian Heim <phreak@gentoo.org>
-files/klibc-1.1.16-mips-ldpaths.patch, -files/klibc-1.1.16-mips32.patch,
+files/klibc-1.4.13-resumelib.patch, metadata.xml,
-klibc-1.1.16-r1.ebuild, klibc-1.4.13.ebuild:
Remove klibc-1.1.16 (its slacking, no distfiles either upstream nor on
Gentoo mirrors), fixing compilation of 1.4.13 against 2.6.19 (#157618 -
thanks to Mike Benson <mike at kambe.com.au> and all the others), putting
dev-libs/klibc with the kernel herd.
03 Sep 2006; Michael Hanselmann <hansmi@gentoo.org> klibc-1.2.1-r2.ebuild:
Stable on ppc.
*klibc-1.4.13 (27 Jul 2006)
27 Jul 2006; Martin Schlemmer <azarah@gentoo.org> +klibc-1.4.13.ebuild:
Update version.
*klibc-1.4.12 (25 Jul 2006)
25 Jul 2006; Martin Schlemmer <azarah@gentoo.org> +klibc-1.4.12.ebuild:
Update version.
*klibc-1.4.11 (19 Jul 2006)
19 Jul 2006; Martin Schlemmer <azarah@gentoo.org>
+files/klibc-1.4.11-interp-flags.patch, +klibc-1.4.11.ebuild:
New testing release.
18 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org> klibc-1.2.1-r2.ebuild:
Stable on amd64 wrt bug #139330.
16 Jul 2006; Joshua Jackson <tsunam@gentoo.org> klibc-1.2.1-r2.ebuild:
stable x86; bug #139330
12 Jul 2006; Martin Schlemmer <azarah@gentoo.org> klibc-1.4.9.ebuild:
Add debug USE flag to just enable verbose output during build.
09 Jul 2006; Martin Schlemmer <azarah@gentoo.org> klibc-1.2.1-r2.ebuild,
klibc-1.4.9.ebuild:
Fix build issues on ppc, bug #130175.
*klibc-1.4.9 (08 Jul 2006)
08 Jul 2006; Martin Schlemmer <azarah@gentoo.org>
+files/klibc-1.4.8-dash-flags.patch, +files/klibc-1.4.9-mips32.patch,
+klibc-1.4.9.ebuild:
Update version. Try to do something about executable stack. Add mips n32
patch again. Disable the stdinc patch as it seems to support
-fno-stack-protector.
*klibc-1.4.8 (07 Jul 2006)
07 Jul 2006; Martin Schlemmer <azarah@gentoo.org>
+files/klibc-1.4.7-nostdinc-flags.patch, +klibc-1.4.8.ebuild:
New release for testing.
*klibc-1.2.1-r2 (07 Jul 2006)
07 Jul 2006; Martin Schlemmer <azarah@gentoo.org>
+files/klibc-1.2.4-kbuild.patch, +klibc-1.2.1-r2.ebuild:
Fix building with KBUILD_OUTPUT set, bug #139330. Also fix manpage
installation path, bug #122173. Also multilib related fixes.
01 Jul 2006; Lars Weiler <pylon@gentoo.org> klibc-1.2.1-r1.ebuild:
Stable on ppc; bug #130175.
27 Apr 2006; Marien Zwart <marienz@gentoo.org>
files/digest-klibc-1.0.14-r1, files/digest-klibc-1.1,
files/digest-klibc-1.1.1, files/digest-klibc-1.1.16,
files/digest-klibc-1.1.16-r1, Manifest:
Fixing SHA256 digest, pass four
09 Feb 2006; Martin Schlemmer <azarah@gentoo.org> klibc-1.2.1-r1.ebuild:
Fix build logic for different KBUILD_OUT, bug #122173. Dash build still
fails with it set though, so need to wait for upstream to fix it.
*klibc-1.2.1-r1 (07 Feb 2006)
07 Feb 2006; Martin Schlemmer <azarah@gentoo.org>
+files/klibc-1.2.1-nostdinc-flags.patch, +klibc-1.2.1-r1.ebuild:
Export the NOSTDINC_FLAGS to ensure -nostdlib is passed, bug #120678.
*klibc-1.2.1 (04 Feb 2006)
04 Feb 2006; Martin Schlemmer <azarah@gentoo.org> +klibc-1.2.1.ebuild:
New release.
26 Jan 2006; Joshua Kinard <kumba@gentoo.org>
+files/klibc-1.1.16-mips-ldpaths.patch, +files/klibc-1.1.16-mips32.patch,
klibc-1.1.1.ebuild, klibc-1.1.16.ebuild, klibc-1.1.16-r1.ebuild:
Build fixes for mips - force 32bit build on mips64 systems if not using n32
and fix a linker path bug for mips.
*klibc-1.1.16-r1 (22 Jan 2006)
22 Jan 2006; Martin Schlemmer <azarah@gentoo.org> +klibc-1.1.16-r1.ebuild:
Fix broken symlink creation.
21 Jan 2006; Lars Weiler <pylon@gentoo.org> klibc-1.1.16.ebuild:
Stable on ppc; bug #112742.
*klibc-1.1.16 (20 Jan 2006)
20 Jan 2006; Martin Schlemmer <azarah@gentoo.org> +klibc-1.1.16.ebuild:
New version.
02 Jan 2006; Joshua Kinard <kumba@gentoo.org> klibc-1.1.ebuild:
Bump to stable for getdvhoff on mips.
*klibc-1.1.1 (10 Nov 2005)
10 Nov 2005; Martin Schlemmer <azarah@gentoo.org> +klibc-1.1.1.ebuild:
New release.
18 Sep 2005; Joshua Kinard <kumba@gentoo.org> +files/klibc-1.1-mips32.patch,
klibc-1.1.ebuild:
Added a patch to allow klibc to build properly on mips systems w/ 64bit
kernel/32bit userland, and marked 1.1 ~mips.
*klibc-1.1 (02 Sep 2005)
02 Sep 2005; Martin Schlemmer <azarah@gentoo.org> +klibc-1.1.ebuild:
New version.
*klibc-1.0.14-r1 (26 Aug 2005)
26 Aug 2005; Martin Schlemmer <azarah@gentoo.org>
+files/klibc-1.0.14-nostdlib.patch, +klibc-1.0.14-r1.ebuild:
Enable building on hardened systems, bug #103437.
29 Jun 2005; David Holm <dholm@gentoo.org> klibc-1.0.14.ebuild:
Added to ~ppc.
*klibc-1.0.14 (28 Jun 2005)
28 Jun 2005; Martin Schlemmer <azarah@gentoo.org> +klibc-1.0.14.ebuild:
Update version.
*klibc-1.0.8 (04 May 2005)
04 May 2005; Martin Schlemmer <azarah@gentoo.org> +klibc-1.0.8.ebuild:
Update version. Add KV_OUT_DIR support, bug #88072.
13 Mar 2005; Martin Schlemmer <azarah@gentoo.org> klibc-1.0.3.ebuild:
Add /usr/lib/klibc to PRELINK_PATH_MASK.
11 Mar 2005; Martin Schlemmer <azarah@gentoo.org> klibc-1.0.3.ebuild:
Fixup gunzip/zcat hardlinks of gzip becoming copies. Add perl to DEPEND and
RDEPEND, as its needed during build, and afterwards for klcc wrapper. Add
pkg_postinst() override for linux-mod eclass, as we do not install modules.
10 Mar 2005; Martin Schlemmer <azarah@gentoo.org> files/klibc.m4:
Update m4 macro.
*klibc-1.0.3 (10 Mar 2005)
10 Mar 2005; Martin Schlemmer <azarah@gentoo.org> +klibc-1.0.3.ebuild:
Update version.
10 Mar 2005; Martin Schlemmer <azarah@gentoo.org>
+files/klibc-1.0-makeklcc-empty-args.patch, klibc-1.0.ebuild:
Patch makeklcc.pl to not generate '' arrays if they are empty, else we get
the issue where '' is passed to ld, etc, and they fail with cannot find
file.
*klibc-1.0 (09 Mar 2005)
09 Mar 2005; Martin Schlemmer <azarah@gentoo.org> +metadata.xml,
+files/klibc.m4, +klibc-1.0.ebuild:
Initial version

13
dev-libs/klibc/Manifest Normal file
View File

@ -0,0 +1,13 @@
AUX klibc-1.1-mips32.patch 670 RMD160 ecab014d68b65837eb6088c21d95be0c23170cfc SHA1 68b24422a59e4479c636dfd4fcd56be06dc01db3 SHA256 42d127d2d5348b7856d33b7ffce986d49c7adbef82cf2bb34aa06a022fabad4c
AUX klibc-1.4.11-interp-flags.patch 494 RMD160 71081dc5eae8fff2adc43873f6b447f9b37a2432 SHA1 ecdea82ccbd77c63f8a65443fd64b65325869627 SHA256 ef8c05d059bc0185b8b68ea42e660fa13ddb55e9653b10fbfdabd77dea7abe2a
AUX klibc-1.5-klibcasmarch.patch 1109 RMD160 7c0b30335346b219db0f68427c76cf6113eabce2 SHA1 2524c67b74b42541a7c6f446ec5337768a292668 SHA256 7a84dacc12b93a58ac70dda11b977183c48ebc39fd101b0dbd0c16d3f0b5293e
AUX klibc-1.5-sigaction.patch 928 RMD160 00d04da5dfdf667d2ff46491212d98047adac925 SHA1 c996533744af2256c75fb7ab715a3942bf3c2768 SHA256 bd50f00b36fb4425c6921224bde5862c05fa6271c984bfadd94284cf3f5973e5
AUX klibc-1.5.11-klibcasmarch.patch 1225 RMD160 bc339eaa902dcdb30e5487c0c0dbd9e22c5637ec SHA1 80cf59dd4f58745694b5b3088c4d72a9450a7547 SHA256 62ef197d4ed18e64fd64bd228849f9f73d2a4f9593ca0378f86fdba8e66c31f4
AUX klibc-1.5.11-x86_64-io.h-return.diff 770 RMD160 cd44b54eabde1ff75967da37f2195875f7950c58 SHA1 ad20b47634e5069a599dff39e9ce1752537c2705 SHA256 f07c1d238626209693aea4e5fbb9accc5ae122ac603f4fb71fc4b58578d9cf8c
AUX klibc-1.5.7-strip-fix-dash-s.patch 420 RMD160 8dae7b8452fe5328c276fc192cad171d64cce245 SHA1 29acc727bd721259067e73399b6e6516ffdf95c0 SHA256 971cadc28aa362ff76ebfee8187bb6986afb4f3425b70b7200d1aa1c6fd746e7
AUX klibc.m4 3619 RMD160 aee79c8296f375e3614fcf5d97b21ed9e043c719 SHA1 ebe92893215e7d7ec2e44af846c6ce83e7ef7f4b SHA256 02901ef2ca8b320d77b03fab4fa9bef809c11e2e418e7da00aa2c13c4a84dd44
DIST klibc-1.5.20.tar.bz2 506232 RMD160 5ac3a170b63e0d989b79d9e26ae876f06db97ed1 SHA1 411feb9546f448e4873bfc4d93b970ac53ba27e0 SHA256 f55c4c12902116f29f70a68e8e1b6da7337c11b21adc6b5a197364146c1bc81c
DIST linux-2.6.36.tar.bz2 70277083 RMD160 d739da505a79e71a1370d36e1373b36be055c123 SHA1 b546ab66458d7d614151d80adbc03b4d28977ae2 SHA256 15a076d1a435a6bf8e92834eba4b390b4ec094ce06d47f89d071ca9e5788ce04
EBUILD klibc-1.5.20.ebuild 8096 RMD160 0bdc3841bf3219d8b0d3d3676a1a9b8913ccbe2a SHA1 d4015acb916fb9c4957426a10299824af88efeed SHA256 2c9b86f1c7b5f9e7d7ca4a39d48be04a0358b08384e476d46864ce4641320f0b
MISC ChangeLog 12291 RMD160 615195ec36d1f35e63b9cb1efceb68ef48f775e2 SHA1 214528523fac5cacbbc469442e6a177a2fbb0c53 SHA256 1dae2ad70c56c6b7e4cc27c3560271295d6ba6b7e7e85e1fda414a0fcd6b5e49
MISC metadata.xml 257 RMD160 47ef62fe1bd58dc643105eb0ba428746e5a2e216 SHA1 94998abb1247fbef63eccd27d1544078e7f030bf SHA256 a8371994e2a3b1be202096fba4f9a6a86a85c1be2d5792a258730abe49513e9f

View File

@ -0,0 +1,12 @@
diff -Naurp klibc-1.1.orig/MCONFIG klibc-1.1/MCONFIG
--- klibc-1.1.orig/MCONFIG 2005-09-20 02:16:17 -0400
+++ klibc-1.1/MCONFIG 2005-09-20 02:16:57 -0400
@@ -33,7 +33,7 @@ KRNLOBJ = $(SRCROOT)/linux
KLIBCVER = -D__KLIBC__=$(shell cut -d. -f1 < $(SRCROOT)/version) \
-D__KLIBC_MINOR__=$(shell cut -d. -f2 < $(SRCROOT)/version)
-ARCH = $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/parisc.*/parisc/)
+ARCH = $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/parisc.*/parisc/ -e s/mips64/mips/)
CC = $(CROSS)gcc
LD = $(CROSS)ld
KLIBSRC = $(SRCROOT)/klibc

View File

@ -0,0 +1,13 @@
diff --git a/usr/klibc/Kbuild b/usr/klibc/Kbuild
index c2bfd2f..8066bda 100644
--- a/usr/klibc/Kbuild
+++ b/usr/klibc/Kbuild
@@ -152,7 +152,7 @@ # build interp.o
targets += interp.o
quiet_cmd_interp = BUILD $@
- cmd_interp = $(KLIBCCC) $(klibccflags) -D__ASSEMBLY__ \
+ cmd_interp = $(KLIBCCC) $(klibccflags) $(EXTRA_KLIBCAFLAGS) -D__ASSEMBLY__ \
-DLIBDIR=\"$(SHLIBDIR)\" \
-DSOHASH=\"$(SOLIBHASH)\" \
-c -o $@ $<

View File

@ -0,0 +1,25 @@
--- a/scripts/Kbuild.install 2007-03-04 02:52:10.000000000 +0100
+++ b/scripts/Kbuild.install 2007-11-04 15:43:28.000000000 +0100
@@ -84,6 +84,13 @@
# 1) Create directories, install headers and man pages
# 2) Tell that we now install binaries
# 3) Install binaries by descending
+
+# Arch specific definitions for klibc
+include $(KLIBCSRC)/arch/$(KLIBCARCHDIR)/MCONFIG
+
+# include/asm-* architecture
+KLIBCASMARCH ?= $(KLIBCARCH)
+
.PHONY: header footer descend
header:
$(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
@@ -95,7 +102,7 @@
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
- $(Q)set -e ; for d in linux scsi asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
+ $(Q)set -e ; for d in linux scsi asm-$(KLIBCASMARCH) asm-generic $(ASMKLIBCARCH); do \
mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)include/$$d ; \
for r in $(KLIBCKERNELSRC)/include $(KLIBCKERNELOBJ)/include \
$(KLIBCKERNELOBJ)/include2 ; do \

View File

@ -0,0 +1,37 @@
---
usr/include/arch/ppc/klibc/archsignal.h | 6 ++++++
usr/include/arch/sparc/klibc/archsignal.h | 7 -------
2 files changed, 6 insertions(+), 7 deletions(-)
--- a/usr/include/arch/ppc/klibc/archsignal.h
+++ b/usr/include/arch/ppc/klibc/archsignal.h
@@ -8,7 +8,13 @@
#ifndef _KLIBC_ARCHSIGNAL_H
#define _KLIBC_ARCHSIGNAL_H
+#ifdef _SIGNAL_H
+#undef _SIGNAL_H
#include <asm/signal.h>
+#define _SIGNAL_H
+#else
+#include <asm/signal.h>
+#endif
/* No special stuff for this architecture */
#endif
--- a/usr/include/arch/sparc/klibc/archsignal.h
+++ b/usr/include/arch/sparc/klibc/archsignal.h
@@ -11,13 +11,6 @@
#define __WANT_POSIX1B_SIGNALS__
#include <asm/signal.h>
-struct sigaction {
- __sighandler_t sa_handler;
- unsigned long sa_flags;
- void (*sa_restorer)(void); /* Not used by Linux/SPARC */
- sigset_t sa_mask;
-};
-
/* Not actually used by the kernel... */
#define SA_RESTORER 0x80000000

View File

@ -0,0 +1,26 @@
diff -Nuar --exclude '*.orig' --exclude '*.rej' klibc-1.5.11.orig/scripts/Kbuild.install klibc-1.5.11/scripts/Kbuild.install
--- klibc-1.5.11.orig/scripts/Kbuild.install 2008-06-15 17:28:23.000000000 -0700
+++ klibc-1.5.11/scripts/Kbuild.install 2008-06-26 10:14:05.365949576 -0700
@@ -84,6 +84,13 @@
# 1) Create directories, install headers and man pages
# 2) Tell that we now install binaries
# 3) Install binaries by descending
+
+# Arch specific definitions for klibc
+include $(KLIBCSRC)/arch/$(KLIBCARCHDIR)/MCONFIG
+
+# include/asm-* architecture
+KLIBCASMARCH ?= $(KLIBCARCH)
+
.PHONY: header footer descend
header:
$(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
@@ -95,7 +102,7 @@
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
- $(Q)set -e ; for d in linux asm asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
+ $(Q)set -e ; for d in linux scsi asm-$(KLIBCASMARCH) asm-generic $(ASMKLIBCARCH); do \
for r in $(KLIBCKERNELSRC)/include $(KLIBCKERNELOBJ)/include \
$(KLIBCKERNELOBJ)/include2 ; do \
[ ! -d $$r/$$d ] && continue; \

View File

@ -0,0 +1,28 @@
diff -Naur klibc-1.5.8.orig/usr/include/arch/x86_64/sys/io.h klibc-1.5.8/usr/include/arch/x86_64/sys/io.h
--- klibc-1.5.8.orig/usr/include/arch/x86_64/sys/io.h 2007-12-11 18:20:29.000000000 +0100
+++ klibc-1.5.8/usr/include/arch/x86_64/sys/io.h 2008-06-26 12:04:22.760046895 +0200
@@ -60,21 +60,21 @@
{
unsigned char __v;
asm volatile ("inb %1,%0" : "=a" (__v) : "dN"(__p));
- return v;
+ return __v;
}
static __inline__ unsigned short inw(unsigned short __p)
{
unsigned short __v;
asm volatile ("inw %1,%0" : "=a" (__v) : "dN"(__p));
- return v;
+ return __v;
}
static __inline__ unsigned int inl(unsigned short __p)
{
unsigned int __v;
asm volatile ("inl %1,%0" : "=a" (__v) : "dN"(__p));
- return v;
+ return __v;
}
/* String I/O macros */

View File

@ -0,0 +1,12 @@
diff -Naurp klibc-1.5.7-orig/klcc/klcc.in klibc-1.5.7/klcc/klcc.in
--- klibc-1.5.7-orig/klcc/klcc.in 2007-12-03 01:17:26.000000000 +0100
+++ klibc-1.5.7/klcc/klcc.in 2007-12-03 01:18:39.000000000 +0100
@@ -259,7 +259,7 @@ if ( $operation ne '' ) {
unlink(@rmobjs);
if ( $strip && !$rv ) {
- $rv = mysystem($STRIP, @STRIPFLAGS, $output);
+ $rv = mysystem($STRIP, @STRIPFLAGS, $output || 'a.out');
}
}

View File

@ -0,0 +1,94 @@
# klibc.m4 serial 99
## Copyright (C) 1995-2003 Free Software Foundation, Inc.
## This file is free software, distributed under the terms of the GNU
## General Public License. As a special exception to the GNU General
## Public License, this file may be distributed as part of a program
## that contains a configuration script generated by Autoconf, under
## the same distribution terms as the rest of that program.
##
## This file can can be used in projects which are not available under
## the GNU General Public License or the GNU Library General Public
## License but which still want to provide support for the GNU gettext
## functionality.
## Please note that the actual code of the KLIBC Library is partly covered
## by the GNU Library General Public License, and party copyrighted by the
## Regents of The University of California, and the rest is covered by a
## MIT style license.
# Authors:
# Martin Schlemmer <azarah@nosferatu.za.org>, 2005.
# AC_CHECK_KLIBC
# --------------
# Check if the user wants KLIBC support enabled. If so, set KLIBC=yes and
# fill in KLIBC_PREFIX, KLIBC_BINDIR, KLIBC_SBINDIR, KLIBC_LIBDIR and
# KLIBC_INCLUDEDIR. CC is also set to the proper klcc executable.
# NOTE: This should be called before AC_PROG_CC, and before header, function
# or type checks.
AC_DEFUN([AC_CHECK_KLIBC],
[AC_BEFORE([$0], [AC_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_ARG_ENABLE([klibc],
[AS_HELP_STRING([--enable-klibc],
[Enable linking to klibc [no]. You need at
least klibc-1.0 or later for this. Set KLCC
to the absolute file name of klcc if not in
the PATH])],
[KLIBC=$enableval], [KLIBC=no])
AC_ARG_ENABLE([klibc-layout],
[AS_HELP_STRING([--enable-klibc-layout],
[Enable installing binaries, libraries and
headers into the klibc prefix [yes] ])],
[if test "X$KLIBC" != Xno; then
KLIBC_LAYOUT=$enableval
else
KLIBC_LAYOUT=no
fi],
[if test "X$KLIBC" != Xno; then
KLIBC_LAYOUT=yes
else
KLIBC_LAYOUT=no
fi])
if test "X$KLIBC" != Xno; then
# Basic cross compiling support. I do not think it is wise to use
# AC_CHECK_TOOL, because if we are cross compiling, we do not want
# just 'klcc' to be returned ...
if test "${host_alias}" != "${build_alias}"; then
AC_CHECK_PROGS([KLCC], [${host_alias}-klcc], [no])
else
AC_CHECK_PROGS([KLCC], [klcc], [no])
fi
if test "X$KLCC" = Xno; then
AC_MSG_ERROR([cannot find klibc frontend 'klcc'!])
fi
CC="$KLCC"
CFLAGS="-Os"
KLIBC_KCROSS="$($KLCC -print-klibc-kcross 2>/dev/null)"
KLIBC_PREFIX="$($KLCC -print-klibc-prefix 2>/dev/null)"
KLIBC_BIN_DIR="$($KLCC -print-klibc-bindir 2>/dev/null)"
KLIBC_SBIN_DIR="${KLIBC_PREFIX}/${KLIBC_KCROSS}sbin"
KLIBC_LIB_DIR="$($KLCC -print-klibc-libdir 2>/dev/null)"
KLIBC_INCLUDE_DIR="$($KLCC -print-klibc-includedir 2>/dev/null)"
if test "X$KLIBC_LAYOUT" != Xno; then
prefix="$KLIBC_PREFIX"
bindir="$KLIBC_BIN_DIR"
sbindir="$KLIBC_SBIN_DIR"
libdir="$KLIBC_LIB_DIR"
includedir="$KLIBC_INCLUDE_DIR"
fi
# At least KLIBC_LIB_DIR should be valid, else klibc is too old or
# something went wrong
if test ! -d "$KLIBC_LIB_DIR"; then
AC_MSG_ERROR([your klibc installation is too old or not functional!])
fi
fi
AC_SUBST(KLIBC)
])# AC_CHECK_KLIBC

View File

@ -0,0 +1,278 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/klibc/klibc-1.5.15-r1.ebuild,v 1.3 2010/01/10 09:50:36 robbat2 Exp $
# Robin H. Johnson <robbat2@gentoo.org>, 12 Nov 2007:
# This still needs major work.
# But it is significently better than the previous version.
# In that it will now build on biarch systems, such as ppc64-32ul.
# NOTES:
# ======
# We need to bring in the kernel sources seperately
# Because they have to be configured in a way that differs from the copy in
# /usr/src/. The sys-kernel/linux-headers are too stripped down to use
# unfortunetly.
# This will be able to go away once the klibc author updates his code
# to build again the headers provided by the kernel's 'headers_install' target.
inherit eutils multilib toolchain-funcs
DESCRIPTION="A minimal libc subset for use with initramfs."
HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc"
KV_MAJOR="2" KV_MINOR="6" KV_SUB="36"
PKV_EXTRA=""
if [ -n "${PKV_EXTRA}" ]; then
PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.bz2"
fi
OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}"
KERNEL_URI="
mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.bz2
mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.bz2"
SRC_URI="
mirror://kernel/linux/libs/klibc/Current/${P}.tar.bz2
mirror://kernel/linux/libs/klibc/Testing/${P}.tar.bz2
${PATCH_URI}
${KERNEL_URI}"
LICENSE="|| ( GPL-2 LGPL-2 )"
KEYWORDS="~amd64 -mips ~ppc ~sparc ~x86 ~arm"
SLOT="0"
IUSE="debug n32"
DEPEND="dev-lang/perl"
RDEPEND="${DEPEND}"
KS="${WORKDIR}/linux-${OKV}"
# Klibc has no PT_GNU_STACK support, so scanning for execstacks is moot
QA_EXECSTACK="*"
# Do not strip
RESTRICT="strip"
kernel_asm_arch() {
a="${1:${ARCH}}"
case ${a} in
# Merged arches
x86|amd64) echo x86 ;;
ppc*) echo powerpc ;;
# Non-merged
alpha|arm|ia64|m68k|mips|sh|sparc*) echo ${1} ;;
*) die "TODO: Update the code for your asm-ARCH symlink" ;;
esac
}
# For a given Gentoo ARCH,
# specify the kernel defconfig most relevant
kernel_defconfig() {
a="${1:${ARCH}}"
# most, but not all arches have a sanely named defconfig
case ${a} in
ppc64) echo ppc64_defconfig ;;
ppc) echo pmac32_defconfig ;;
sh*) die "TODO: Your arch is not supported by the klibc ebuild. Please suggest a defconfig in a bug." ;;
*) echo defconfig ;;
esac
}
src_unpack() {
unpack linux-${OKV}.tar.bz2 ${P}.tar.bz2
[ -n "${PKV}" ] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.bz2
cd "${S}"
# Symlink /usr/src/linux to ${S}/linux
ln -snf "${KS}" linux
#ln -snf "/usr" linux
# Build interp.o with EXTRA_KLIBCAFLAGS (.S source)
epatch "${FILESDIR}"/${PN}-1.4.11-interp-flags.patch
# Fixes for sparc and ppc
#epatch "${FILESDIR}"/${PN}-1.5-sigaction.patch
# Fix the asm-ppc vs. asm-powerpc issue, bug #196521
#epatch "${FILESDIR}"/${PN}-1.5.11-klibcasmarch.patch
# Fix usage of -s, bug #201006
epatch "${FILESDIR}"/klibc-1.5.7-strip-fix-dash-s.patch
# bug 229525, usr/include/arch/x86_64/sys/io.h has undefined variables
#epatch "${FILESDIR}"/${PN}-1.5.11-x86_64-io.h-return.diff
}
# klibc has it's own ideas of arches
# They reflect userspace strictly.
# This functions maps from a Gentoo ARCH, to an arch that klibc expects
# Look at klibc-${S}/usr/klibc/arch for a list of these arches
klibc_arch() {
a="${1:${ARCH}}"
case ${a} in
amd64) echo x86_64;;
mips) die 'TODO: Use the $ABI' ;;
x86) echo i386;;
*) echo ${a} ;;
esac
}
src_compile() {
local myargs="all"
local myARCH="${ARCH}" myABI="${ABI}"
# TODO: For cross-compiling
# You should set ARCH and ABI here
CC="$(tc-getCC)"
HOSTCC="$(tc-getBUILD_CC)"
KLIBCARCH="$(klibc_arch ${ARCH})"
KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
libdir="$(get_libdir)"
# This should be the defconfig corresponding to your userspace!
# NOT your kernel. PPC64-32ul would choose 'ppc' for example.
defconfig=$(kernel_defconfig ${ARCH})
unset ABI ARCH # Unset these, because they interfere
unset KBUILD_OUTPUT # we are using a private copy
cd "${KS}"
emake ${defconfig} CC="${CC}" HOSTCC="${HOSTCC}" || die "No defconfig"
if [[ "${KLIBCARCH/arm}" != "${KLIBCARCH}" ]] && \
[[ "${CHOST/eabi}" != "${CHOST}" ]]; then
# The delete and insert are seperate statements
# so that they are reliably used.
sed -i \
-e '/CONFIG_AEABI/d' \
-e '1iCONFIG_AEABI=y' \
-e '/CONFIG_OABI_COMPAT/d' \
-e '1iCONFIG_OABI_COMPAT=y' \
"${KS}"/.config \
"${S}"/defconfig
fi
emake prepare CC="${CC}" HOSTCC="${HOSTCC}" || die "Failed to prepare kernel sources for header usage"
cd "${S}"
use debug && myargs="${myargs} V=1"
use test && myargs="${myargs} test"
emake \
EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
EXTRA_KLIBCLDFLAGS="-z,noexecstack" \
HOSTCC="${HOSTCC}" CC="${CC}" \
INSTALLDIR="/usr/${libdir}/klibc" \
KLIBCARCH=${KLIBCARCH} \
KLIBCASMARCH=${KLIBCASMARCH} \
SHLIBDIR="/${libdir}" \
libdir="/usr/${libdir}" \
mandir="/usr/share/man" \
T="${T}" \
${myargs} || die "Compile failed!"
#SHLIBDIR="/${libdir}" \
ARCH="${myARCH}" ABI="${myABI}"
}
src_install() {
local myargs
local myARCH="${ARCH}" myABI="${ABI}"
# TODO: For cross-compiling
# You should set ARCH and ABI here
CC="$(tc-getCC)"
HOSTCC="$(tc-getBUILD_CC)"
KLIBCARCH="$(klibc_arch ${ARCH})"
KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
libdir="$(get_libdir)"
# This should be the defconfig corresponding to your userspace!
# NOT your kernel. PPC64-32ul would choose 'ppc' for example.
defconfig=$(kernel_defconfig ${ARCH})
use debug && myargs="${myargs} V=1"
local klibc_prefix
if tc-is-cross-compiler ; then
klibc_prefix=$("${S}/klcc/${KLIBCARCH}-klcc" -print-klibc-prefix)
else
klibc_prefix=$("${S}/klcc/klcc" -print-klibc-prefix)
fi
unset ABI ARCH # Unset these, because they interfere
unset KBUILD_OUTPUT # we are using a private copy
emake \
EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
EXTRA_KLIBCLDFLAGS="-z,noexecstack" \
HOSTCC="${HOSTCC}" CC="${CC}" \
INSTALLDIR="/usr/${libdir}/klibc" \
INSTALLROOT="${D}" \
KLIBCARCH=${KLIBCARCH} \
KLIBCASMARCH=${KLIBCASMARCH} \
SHLIBDIR="/${libdir}" \
libdir="/usr/${libdir}" \
mandir="/usr/share/man" \
${myargs} \
install || die "Install failed!"
#SHLIBDIR="/${libdir}" \
# klibc doesn't support prelinking, so we need to mask it
cat > "${T}/70klibc" <<-EOF
PRELINK_PATH_MASK="/usr/${libdir}/klibc"
EOF
doenvd "${T}"/70klibc
# Fix the permissions (bug #178053) on /usr/${libdir}/klibc/include
# Actually I have no idea, why the includes have those weird-ass permissions
# on a particular system, might be due to inherited permissions from parent
# directory
find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX
# Hardlinks becoming copies
for x in gunzip zcat ; do
rm -f "${D}/${klibc_prefix}/bin/${x}"
dosym gzip "${klibc_prefix}/bin/${x}"
done
# Restore now, so we can use the tc- functions
ARCH="${myARCH}" ABI="${myABI}"
if ! tc-is-cross-compiler ; then
cd "${S}"
insinto /usr/share/aclocal
doins contrib/klibc.m4
dodoc README usr/klibc/CAVEATS usr/klibc/README
newdoc usr/klibc/arch/README README.klibc.arch
docinto dash; newdoc usr/dash/README.klibc README
docinto gzip; dodoc usr/gzip/README
fi
# Fix up the symlink
# Mainly for merged arches
linkname="${D}/usr/${libdir}/klibc/include/asm"
if [ -L "${linkname}" ] && [ ! -e "${linkname}" ] ; then
ln -snf asm-${KLIBCASMARCH} "${linkname}"
fi
}
src_test() {
if ! tc-is-cross-compiler ; then
cd "${S}"/usr/klibc/tests
ALL_TESTS="$(ls *.c |sed 's,\.c$,,g')"
BROKEN_TESTS="idtest fcntl fnmatch testrand48"
failed=0
for t in $ALL_TESTS ; do
if has $t $BROKEN_TESTS ; then
echo "=== $t SKIP"
else
echo -n "=== $t "
./$t </dev/null >/dev/null
rc=$?
if [ $rc -eq 0 ]; then
echo PASS
else
echo FAIL
failed=1
fi
fi
done
[ $failed -ne 0 ] && die "Some tests failed."
fi
}

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>kernel-misc</herd>
<use>
<flag name='n32'>Force klibc to 32bit if on mips64 if not n32 userland</flag>
</use>
</pkgmetadata>

View File

@ -233,7 +233,7 @@ pkg_config() {
einfo "Enter the directory where you want to setup grub:"
read dir
else
dir="${GRUB_ALT_INSTALLDIR}"
dir="${GRUB_ALT_INSTALLDIR}"/EFI
fi
setup_efi_dir "${dir}"
}