From 73c5e3dfcb4116f468e1266af02d923028134c34 Mon Sep 17 00:00:00 2001 From: geos_one Date: Sun, 21 Nov 2010 19:15:34 +0000 Subject: [PATCH] add klibc git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@2746 6952d904-891a-0410-993b-d76249ca496b --- dev-libs/klibc/ChangeLog | 337 ++++++++++++++++++ dev-libs/klibc/Manifest | 13 + dev-libs/klibc/files/klibc-1.1-mips32.patch | 12 + .../files/klibc-1.4.11-interp-flags.patch | 13 + .../klibc/files/klibc-1.5-klibcasmarch.patch | 25 ++ .../klibc/files/klibc-1.5-sigaction.patch | 37 ++ .../files/klibc-1.5.11-klibcasmarch.patch | 26 ++ .../klibc-1.5.11-x86_64-io.h-return.diff | 28 ++ .../files/klibc-1.5.7-strip-fix-dash-s.patch | 12 + dev-libs/klibc/files/klibc.m4 | 94 +++++ dev-libs/klibc/klibc-1.5.20.ebuild | 278 +++++++++++++++ dev-libs/klibc/metadata.xml | 8 + sys-boot/egrub/egrub-0.97.ebuild | 2 +- 13 files changed, 884 insertions(+), 1 deletion(-) create mode 100644 dev-libs/klibc/ChangeLog create mode 100644 dev-libs/klibc/Manifest create mode 100644 dev-libs/klibc/files/klibc-1.1-mips32.patch create mode 100644 dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch create mode 100644 dev-libs/klibc/files/klibc-1.5-klibcasmarch.patch create mode 100644 dev-libs/klibc/files/klibc-1.5-sigaction.patch create mode 100644 dev-libs/klibc/files/klibc-1.5.11-klibcasmarch.patch create mode 100644 dev-libs/klibc/files/klibc-1.5.11-x86_64-io.h-return.diff create mode 100644 dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch create mode 100644 dev-libs/klibc/files/klibc.m4 create mode 100644 dev-libs/klibc/klibc-1.5.20.ebuild create mode 100644 dev-libs/klibc/metadata.xml diff --git a/dev-libs/klibc/ChangeLog b/dev-libs/klibc/ChangeLog new file mode 100644 index 00000000..a293e23c --- /dev/null +++ b/dev-libs/klibc/ChangeLog @@ -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 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ò 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 + +klibc-1.5.15-r1.ebuild: + Bug #284957: Work for USE=savedconfig in progress. + + 15 Sep 2009; Robin H. Johnson 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 +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 klibc-1.5.12-r1.ebuild: + sparc/x86 stable wrt #238494 + + 01 Nov 2008; nixnut klibc-1.5.12-r1.ebuild: + Stable on ppc wrt bug 238494 + + 01 Nov 2008; Jeremy Olexa klibc-1.5.12-r1.ebuild: + amd64 stable, bug 238494 + + 31 Oct 2008; Robin H. Johnson klibc-1.5.12-r1.ebuild: + Now with testing magic. + + 31 Oct 2008; Robin H. Johnson klibc-1.5.12-r1.ebuild: + Bug #242454 - be sure to check both locations for kernel sources. + + 06 Aug 2008; Ulrich Mueller 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 + +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 +klibc-1.5.12.ebuild: + Version bump. + + 26 Jun 2008; Robin H. Johnson + -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 + +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 klibc-1.5.8.ebuild: + amd64 stable, bug 208131 + + 14 Feb 2008; nixnut klibc-1.5.8.ebuild: + Stable on ppc wrt bug 208131 + + 13 Feb 2008; Dawid Węgliński klibc-1.5.8.ebuild: + Stable on x86 (bug #208131) + +*klibc-1.5.8 (15 Jan 2008) + + 15 Jan 2008; Robin H. Johnson + +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 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 +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 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 + +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 + +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 metadata.xml: + Removing myself as the maintainer. + + 21 Oct 2007; Steve Dibb klibc-1.5.ebuild: + amd64 stable + + 14 Oct 2007; Mike Frysinger klibc-1.5.ebuild: + Add back in RESTRICT=strip for az. + + 11 Oct 2007; Christian Faulhammer klibc-1.5.ebuild: + stable x86, bug 195443 + + 02 Jul 2007; Piotr Jaroszyński 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 klibc-1.5.ebuild: + Fixing cross compilation, thanks to Michal Januszewski in #181560. + +*klibc-1.5 (17 May 2007) + + 17 May 2007; Christian Heim +klibc-1.5.ebuild: + Version bump, finally at klibc-1.5. + + 13 May 2007; Christian Heim 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 klibc-1.4.13.ebuild: + Fixing the permissions bug (#178053 - thanks to Tobias Sager ), hopefully fixing any further issues. + + 12 May 2007; Daniel Drake metadata.xml: + Move from kernel to kernel-misc herd + + 07 May 2007; Chris Gianelloni klibc-1.4.13.ebuild: + Stable on amd64/ppc/x86 for splashutils. + + 10 Feb 2007; Christian Heim 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 + +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 + -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 and all the others), putting + dev-libs/klibc with the kernel herd. + + 03 Sep 2006; Michael Hanselmann klibc-1.2.1-r2.ebuild: + Stable on ppc. + +*klibc-1.4.13 (27 Jul 2006) + + 27 Jul 2006; Martin Schlemmer +klibc-1.4.13.ebuild: + Update version. + +*klibc-1.4.12 (25 Jul 2006) + + 25 Jul 2006; Martin Schlemmer +klibc-1.4.12.ebuild: + Update version. + +*klibc-1.4.11 (19 Jul 2006) + + 19 Jul 2006; Martin Schlemmer + +files/klibc-1.4.11-interp-flags.patch, +klibc-1.4.11.ebuild: + New testing release. + + 18 Jul 2006; Chris Gianelloni klibc-1.2.1-r2.ebuild: + Stable on amd64 wrt bug #139330. + + 16 Jul 2006; Joshua Jackson klibc-1.2.1-r2.ebuild: + stable x86; bug #139330 + + 12 Jul 2006; Martin Schlemmer klibc-1.4.9.ebuild: + Add debug USE flag to just enable verbose output during build. + + 09 Jul 2006; Martin Schlemmer 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 + +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 + +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 + +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 klibc-1.2.1-r1.ebuild: + Stable on ppc; bug #130175. + + 27 Apr 2006; Marien Zwart + 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 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 + +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 +klibc-1.2.1.ebuild: + New release. + + 26 Jan 2006; Joshua Kinard + +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 +klibc-1.1.16-r1.ebuild: + Fix broken symlink creation. + + 21 Jan 2006; Lars Weiler klibc-1.1.16.ebuild: + Stable on ppc; bug #112742. + +*klibc-1.1.16 (20 Jan 2006) + + 20 Jan 2006; Martin Schlemmer +klibc-1.1.16.ebuild: + New version. + + 02 Jan 2006; Joshua Kinard klibc-1.1.ebuild: + Bump to stable for getdvhoff on mips. + +*klibc-1.1.1 (10 Nov 2005) + + 10 Nov 2005; Martin Schlemmer +klibc-1.1.1.ebuild: + New release. + + 18 Sep 2005; Joshua Kinard +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 +klibc-1.1.ebuild: + New version. + +*klibc-1.0.14-r1 (26 Aug 2005) + + 26 Aug 2005; Martin Schlemmer + +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 klibc-1.0.14.ebuild: + Added to ~ppc. + +*klibc-1.0.14 (28 Jun 2005) + + 28 Jun 2005; Martin Schlemmer +klibc-1.0.14.ebuild: + Update version. + +*klibc-1.0.8 (04 May 2005) + + 04 May 2005; Martin Schlemmer +klibc-1.0.8.ebuild: + Update version. Add KV_OUT_DIR support, bug #88072. + + 13 Mar 2005; Martin Schlemmer klibc-1.0.3.ebuild: + Add /usr/lib/klibc to PRELINK_PATH_MASK. + + 11 Mar 2005; Martin Schlemmer 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 files/klibc.m4: + Update m4 macro. + +*klibc-1.0.3 (10 Mar 2005) + + 10 Mar 2005; Martin Schlemmer +klibc-1.0.3.ebuild: + Update version. + + 10 Mar 2005; Martin Schlemmer + +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 +metadata.xml, + +files/klibc.m4, +klibc-1.0.ebuild: + Initial version + diff --git a/dev-libs/klibc/Manifest b/dev-libs/klibc/Manifest new file mode 100644 index 00000000..773c14f6 --- /dev/null +++ b/dev-libs/klibc/Manifest @@ -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 diff --git a/dev-libs/klibc/files/klibc-1.1-mips32.patch b/dev-libs/klibc/files/klibc-1.1-mips32.patch new file mode 100644 index 00000000..8eaf5d13 --- /dev/null +++ b/dev-libs/klibc/files/klibc-1.1-mips32.patch @@ -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 diff --git a/dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch b/dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch new file mode 100644 index 00000000..a5bb9176 --- /dev/null +++ b/dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch @@ -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 $@ $< diff --git a/dev-libs/klibc/files/klibc-1.5-klibcasmarch.patch b/dev-libs/klibc/files/klibc-1.5-klibcasmarch.patch new file mode 100644 index 00000000..854d5337 --- /dev/null +++ b/dev-libs/klibc/files/klibc-1.5-klibcasmarch.patch @@ -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 \ diff --git a/dev-libs/klibc/files/klibc-1.5-sigaction.patch b/dev-libs/klibc/files/klibc-1.5-sigaction.patch new file mode 100644 index 00000000..59f42204 --- /dev/null +++ b/dev-libs/klibc/files/klibc-1.5-sigaction.patch @@ -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 ++#define _SIGNAL_H ++#else ++#include ++#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 + +-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 + diff --git a/dev-libs/klibc/files/klibc-1.5.11-klibcasmarch.patch b/dev-libs/klibc/files/klibc-1.5.11-klibcasmarch.patch new file mode 100644 index 00000000..0404a66a --- /dev/null +++ b/dev-libs/klibc/files/klibc-1.5.11-klibcasmarch.patch @@ -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; \ diff --git a/dev-libs/klibc/files/klibc-1.5.11-x86_64-io.h-return.diff b/dev-libs/klibc/files/klibc-1.5.11-x86_64-io.h-return.diff new file mode 100644 index 00000000..8ed2fa04 --- /dev/null +++ b/dev-libs/klibc/files/klibc-1.5.11-x86_64-io.h-return.diff @@ -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 */ diff --git a/dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch b/dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch new file mode 100644 index 00000000..94a0caee --- /dev/null +++ b/dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch @@ -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'); + } + } + diff --git a/dev-libs/klibc/files/klibc.m4 b/dev-libs/klibc/files/klibc.m4 new file mode 100644 index 00000000..38922697 --- /dev/null +++ b/dev-libs/klibc/files/klibc.m4 @@ -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 , 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 + diff --git a/dev-libs/klibc/klibc-1.5.20.ebuild b/dev-libs/klibc/klibc-1.5.20.ebuild new file mode 100644 index 00000000..99a21c3f --- /dev/null +++ b/dev-libs/klibc/klibc-1.5.20.ebuild @@ -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 , 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 + rc=$? + if [ $rc -eq 0 ]; then + echo PASS + else + echo FAIL + failed=1 + fi + fi + done + [ $failed -ne 0 ] && die "Some tests failed." + fi +} diff --git a/dev-libs/klibc/metadata.xml b/dev-libs/klibc/metadata.xml new file mode 100644 index 00000000..7e0d8b2f --- /dev/null +++ b/dev-libs/klibc/metadata.xml @@ -0,0 +1,8 @@ + + + +kernel-misc + + Force klibc to 32bit if on mips64 if not n32 userland + + diff --git a/sys-boot/egrub/egrub-0.97.ebuild b/sys-boot/egrub/egrub-0.97.ebuild index 1f47b089..8debe3a7 100644 --- a/sys-boot/egrub/egrub-0.97.ebuild +++ b/sys-boot/egrub/egrub-0.97.ebuild @@ -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}" }