bump(sys-apps/rng-tools): sync with upstream

This commit is contained in:
Alex Crawford 2015-05-27 18:17:42 -07:00
parent 1bdd4b24a7
commit 3e496596ad
13 changed files with 644 additions and 0 deletions

View File

@ -0,0 +1,13 @@
DEFINED_PHASES=install prepare
DEPEND=!<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.13:1.13 >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
DESCRIPTION=Daemon to use hardware random number generators
EAPI=5
HOMEPAGE=http://gkernel.sourceforge.net/
IUSE=selinux
KEYWORDS=alpha amd64 ia64 ppc x86
LICENSE=GPL-2
RDEPEND=selinux? ( sec-policy/selinux-rngd )
SLOT=0
SRC_URI=mirror://sourceforge/gkernel/rng-tools-4.tar.gz
_eclasses_=autotools 999c8f6cf5d91495cb0779588f20716c eutils 9fb270e417e0e83d64ca52586c4a79de libtool 52d0e17251d04645ffaa61bfdd858944 multilib 3bf24e6abb9b76d9f6c20600f0b716bf systemd 090342761f573a8280dd5aa6b0345f3b toolchain-funcs c961250d50160cd37d6b7fd9e8429c92
_md5_=ba7760c28c160516084fb0a079d0dbf1

View File

@ -0,0 +1,13 @@
DEFINED_PHASES=install prepare
DEPEND=dev-libs/libgcrypt:0 dev-libs/libgpg-error !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.13:1.13 >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
DESCRIPTION=Daemon to use hardware random number generators
EAPI=5
HOMEPAGE=http://gkernel.sourceforge.net/
IUSE=selinux
KEYWORDS=~alpha ~amd64 ~ia64 ~ppc ~x86
LICENSE=GPL-2
RDEPEND=dev-libs/libgcrypt:0 dev-libs/libgpg-error selinux? ( sec-policy/selinux-rngd )
SLOT=0
SRC_URI=mirror://sourceforge/gkernel/rng-tools-5.tar.gz
_eclasses_=autotools 999c8f6cf5d91495cb0779588f20716c eutils 9fb270e417e0e83d64ca52586c4a79de libtool 52d0e17251d04645ffaa61bfdd858944 multilib 3bf24e6abb9b76d9f6c20600f0b716bf systemd 090342761f573a8280dd5aa6b0345f3b toolchain-funcs c961250d50160cd37d6b7fd9e8429c92
_md5_=3348d1600efddeae18c7fe783feb7949

View File

@ -0,0 +1,254 @@
# ChangeLog for sys-apps/rng-tools
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/rng-tools/ChangeLog,v 1.57 2014/11/18 19:54:10 mrueg Exp $
*rng-tools-5 (18 Nov 2014)
18 Nov 2014; Manuel Rüger <mrueg@gentoo.org>
+files/rng-tools-5-fix-textrels-on-PIC-x86.patch, +rng-tools-5.ebuild,
-files/2/rngd, -files/2/rngd-conf, -files/rngd-confd-3, -files/rngd-confd-4,
-files/rngd-initd-3, -files/rngd-initd-4, -rng-tools-2-r1.ebuild,
-rng-tools-3-r1.ebuild, -rng-tools-3.ebuild, -rng-tools-4-r1.ebuild,
-rng-tools-4-r5.ebuild, -rng-tools-4-r6.ebuild:
Version bump. Thanks to klondike for updating the textrel patch. Fixes bug
#518210. Cleanup old.
11 Nov 2014; Agostino Sarubbo <ago@gentoo.org> rng-tools-4-r7.ebuild:
Stable for ia64, wrt bug #516838
03 Nov 2014; Agostino Sarubbo <ago@gentoo.org> rng-tools-4-r7.ebuild:
Stable for x86, wrt bug #516838
02 Nov 2014; Sven Vermeulen <swift@gentoo.org> rng-tools-4-r7.ebuild:
Remove sec-policy/selinux-* dependency from DEPEND but keep in RDEPEND (bug
#527698)
02 Nov 2014; Agostino Sarubbo <ago@gentoo.org> rng-tools-4-r7.ebuild:
Stable for alpha, wrt bug #516838
01 Nov 2014; Agostino Sarubbo <ago@gentoo.org> rng-tools-4-r7.ebuild:
Stable for ppc, wrt bug #516838
30 Oct 2014; Agostino Sarubbo <ago@gentoo.org> rng-tools-4-r7.ebuild:
Stable for amd64, wrt bug #516838
10 Aug 2014; Sergei Trofimovich <slyfox@gentoo.org> rng-tools-2-r1.ebuild,
rng-tools-3-r1.ebuild, rng-tools-3.ebuild:
QA: drop trailing '.' from DESCRIPTION
*rng-tools-4-r7 (24 May 2014)
24 May 2014; Pacho Ramos <pacho@gentoo.org> +files/rngd.service,
+rng-tools-4-r7.ebuild:
Add unit file (#510826 by Salah Coronya)
16 Dec 2013; Sven Vermeulen <swift@gentoo.org> rng-tools-4-r5.ebuild,
rng-tools-4-r6.ebuild:
Adding dependency to selinux-rngd
22 May 2013; Mike Frysinger <vapier@gentoo.org> files/rngd-initd-3,
files/rngd-initd-4, files/rngd-initd-4.1:
Change the after clause from "random" (which does not seem to have ever
existed) to "urandom" (which has been around since very old baselayout-1 days)
#470014 by Roman Žilka.
*rng-tools-4-r6 (15 May 2013)
15 May 2013; Anthony G. Basile <blueness@gentoo.org>
+files/fix-textrels-on-PIC-x86.patch, +rng-tools-4-r6.ebuild:
Fix assemby textrels on rdrand_asm.S on PIC x86, bug #469962
14 May 2013; Agostino Sarubbo <ago@gentoo.org> rng-tools-4-r5.ebuild:
Stable for x86, wrt bug #458826
07 May 2013; Agostino Sarubbo <ago@gentoo.org> rng-tools-4-r5.ebuild:
Stable for ia64, wrt bug #458826
05 May 2013; Agostino Sarubbo <ago@gentoo.org> rng-tools-4-r5.ebuild:
Stable for alpha, wrt bug #458826
03 May 2013; Agostino Sarubbo <ago@gentoo.org> rng-tools-4-r5.ebuild:
Stable for ppc, wrt bug #458826
02 May 2013; Agostino Sarubbo <ago@gentoo.org> rng-tools-4-r5.ebuild:
Stable for amd64, wrt bug #458826
24 Dec 2012; Diego E. Pettenò <flameeyes@gentoo.org> files/rngd-initd-4.1:
Fix typo. Thanks to Chris Mayo for reporting.
17 Dec 2012; Diego E. Pettenò <flameeyes@gentoo.org> files/rngd-confd-4.1,
files/rngd-initd-4.1:
Remove direct uses of /dev/urandom — if the user wants to, they can do it
explicitly; also update the upper limit for the watermark in the comment so
that users know to check the poolsize (hardened can be much bigger than 4k).
No revision bump since it's non-default behaviour anyway.
*rng-tools-4-r5 (17 Dec 2012)
17 Dec 2012; Diego E. Pettenò <flameeyes@gentoo.org> +rng-tools-4-r5.ebuild,
-rng-tools-4-r4.ebuild, files/rngd-initd-4.1:
Handle NO_TPM the way NO_DRNG is handled, as otherwise it can fail the same
way.
*rng-tools-4-r4 (16 Dec 2012)
16 Dec 2012; Diego E. Pettenò <flameeyes@gentoo.org> +rng-tools-4-r4.ebuild,
-rng-tools-4-r3.ebuild, files/rngd-initd-4.1:
Fix init script also when using an actual RNG device. Closes bug #447464 by
Toralf Förster.
16 Dec 2012; Pacho Ramos <pacho@gentoo.org> metadata.xml:
Cleanup due retirement, #95685
*rng-tools-4-r3 (16 Dec 2012)
16 Dec 2012; Diego E. Pettenò <flameeyes@gentoo.org> +rng-tools-4-r3.ebuild,
-rng-tools-4-r2.ebuild, files/rngd-confd-4.1, files/rngd-initd-4.1:
More fixes to the init script if there is no device at all. Also fix handling
of rdrand, as --no-drng=0 misbehaves.
*rng-tools-4-r2 (16 Dec 2012)
16 Dec 2012; Diego E. Pettenò <flameeyes@gentoo.org> +files/rngd-confd-4.1,
+files/rngd-initd-4.1, +rng-tools-4-r2.ebuild:
Update init script so that OpenRC can check on the daemon, also fix stop with
rdrand-capable CPUs (bug #442238), and disallow /dev/urandom mixin by default
(bug #292239). The init script no longer tries to second-guess the
configuration parameters, leaving the erroring out for missing sources to rngd
itself, as it was broken and would have caused more trouble when rdrand is
present.
*rng-tools-4-r1 (11 Nov 2012)
11 Nov 2012; Mike Frysinger <vapier@gentoo.org> +files/rngd-confd-4,
+files/rngd-initd-4, +rng-tools-4-r1.ebuild, -rng-tools-4.ebuild:
Update init.d script to match latest version #442036 by Manuel Rüger.
*rng-tools-4 (06 Nov 2012)
06 Nov 2012; Mike Frysinger <vapier@gentoo.org> +rng-tools-4.ebuild:
Version bump #438648 by Manuel Rüger.
*rng-tools-3-r1 (19 Jul 2012)
19 Jul 2012; Anthony G. Basile <blueness@gentoo.org> +rng-tools-3-r1.ebuild,
+files/test-for-argp.patch:
Patch configure.ac to search for arpg in glibc or libargp, bug #292191
*rng-tools-3 (08 Nov 2010)
08 Nov 2010; Krzysztof Pawlik <nelchael@gentoo.org>
-rng-tools-2-r2.ebuild, -rng-tools-2-r3.ebuild, +files/rngd-confd-3,
-files/2-r2/rngd, +files/rngd-initd-3, +rng-tools-3.ebuild,
-files/2-r2/rngd-conf, -files/rngd_tpm_support.patch,
-files/rngd_tpm_support2.patch:
Version bump, remove old versions. rng-tools-3 contains support for TPM
devices.
15 Sep 2010; Robin H. Johnson <robbat2@gentoo.org> files/2-r2/rngd,
files/2-r2/rngd-conf:
Bug #292239: Make remix of /dev/urandom optional.
*rng-tools-2-r3 (15 Sep 2010)
15 Sep 2010; Robin H. Johnson <robbat2@gentoo.org>
+files/rngd_tpm_support2.patch, +rng-tools-2-r3.ebuild:
New spin of the TPM patch that does not fail when TPM hardware is not
present.
*rng-tools-2-r2 (10 Nov 2009)
10 Nov 2009; Robin H. Johnson <robbat2@gentoo.org> +rng-tools-2-r2.ebuild,
+files/2-r2/rngd, +files/2-r2/rngd-conf:
Add support to use TPM devices as RNG sources per Matt Domsch:
http://domsch.com/blog/?p=107. Also clean up the init script.
04 Sep 2009; William Hubbs <williamh@gentoo.org> -rng-tools-2.ebuild:
removed old version
*rng-tools-2-r1 (03 Sep 2009)
03 Sep 2009; William Hubbs <williamh@gentoo.org> +rng-tools-2-r1.ebuild:
rev bump per robbat2 so that all users will pick up the patch.
15 Jul 2009; Krzysiek Pawlik <nelchael@gentoo.org> files/2/rngd:
Check /dev/hwrng, see bug #276973.
21 Mar 2009; Krzysiek Pawlik <nelchael@gentoo.org> rng-tools-2.ebuild:
Fix QA warnings.
16 Jun 2008; Krzysiek Pawlik <nelchael@gentoo.org> rng-tools-2.ebuild:
Fix autotools handling, bug #226619.
27 Oct 2007; Krzysiek Pawlik <nelchael@gentoo.org> rng-tools-2.ebuild:
Fix variable quoting.
21 Apr 2007; Krzysiek Pawlik <nelchael@gentoo.org> rng-tools-2.ebuild:
Use newinitd, newconfd and doenvd, see bug #174266.
03 Sep 2006; Krzysiek Pawlik <nelchael@gentoo.org> -files/rngd,
-rng-tools-1.1.ebuild:
Remove old version.
03 Sep 2006; Bryan Østergaard <kloeri@gentoo.org> rng-tools-2.ebuild:
Stable on Alpha, bug 139162.
20 Aug 2006; Simon Stelling <blubb@gentoo.org> rng-tools-2.ebuild:
stable on amd64
13 Jul 2006; Aron Griffis <agriffis@gentoo.org> rng-tools-2.ebuild:
Mark 2 stable on ia64. #139162
08 Jul 2006; Lars Weiler <pylon@gentoo.org> rng-tools-2.ebuild:
Stable on ppc; bug #139162.
04 Jul 2006; Krzysiek Pawlik <nelchael@gentoo.org> rng-tools-2.ebuild:
Stable on x86.
*rng-tools-2 (20 Mar 2006)
20 Mar 2006; Krzysiek Pawlik <nelchael@gentoo.org> +files/2/rngd-conf,
+files/2/rngd, metadata.xml, -rng-tools-1.0.ebuild, +rng-tools-2.ebuild:
Added myself as maintainer, version bump and better init.d/conf.d scripts
(see bug #126852).
08 Feb 2006; Aron Griffis <agriffis@gentoo.org> rng-tools-1.1.ebuild:
Mark 1.1 stable on alpha
07 Feb 2006; Aron Griffis <agriffis@gentoo.org> rng-tools-1.1.ebuild:
Mark 1.1 stable on ia64
01 Oct 2005; Bryan Østergaard <kloeri@gentoo.org> rng-tools-1.1.ebuild:
Add ~alpha + ~ia64 keywords.
12 Aug 2005; Robin H. Johnson <robbat2@gentoo.org> rng-tools-1.1.ebuild:
1.1 stable on x86.
03 Sep 2004; Pieter Van den Abeele <pvdabeel@gentoo.org>
rng-tools-1.1.ebuild:
Masked rng-tools-1.1.ebuild stable for ppc
01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> rng-tools-1.0.ebuild,
rng-tools-1.1.ebuild:
virtual/glibc -> virtual/libc
09 Apr 2004; David Holm <dholm@gentoo.org> rng-tools-1.1.ebuild:
Added to ~ppc.
*rng-tools-1.1 (07 Apr 2004)
07 Apr 2004; Robin H. Johnson <robbat2@gentoo.org> rng-tools-1.1.ebuild,
files/rngd:
bump version, add in change from bug #47107 to use urandom as a feedback input.
07 Apr 2004; Travis Tilley <lv@gentoo.org> rng-tools-1.0.ebuild:
added ~amd64 keyword
*rng-tools-1.0 (05 Oct 2003)
05 Oct 2003; Hanno Boeck <hanno@gentoo.org> rng-tools-1.0.ebuild,
files/rngd:
Fix for latest 2.6 kernels. Mark as x86 stable.
20 Aug 2003; Hanno Boeck <hanno@gentoo.org> files/rngd:
New package for using random number generators.

View File

@ -0,0 +1,12 @@
AUX fix-textrels-on-PIC-x86.patch 1971 SHA256 55d277a1b4dfed429bf82ca430371f2487e47948630203969bb66fc63fad39cb SHA512 201300211d322ca36e945f5adf225d072881f285b4d4a8710baf1416a532386befa91eec6da7131278fb1fbcecbf67d47742e563deecfd6d363f60b477462d09 WHIRLPOOL 92f189ee66e35f4242d2d4e7b6fc7d314775cfe1c211a900a5442f82fa3c18cbb8d375d8c7b80229ee21e8ff5fa4617c56d10a787b6b08831d7ae72cca9d0c35
AUX rng-tools-5-fix-textrels-on-PIC-x86.patch 2677 SHA256 71fac69129bf3ac6f54cabdd995db2946d5ccc279212de42608cea19fa3c2ada SHA512 8c7c6bced6e0982069ba6ef99c169609ff452a55c32543c25f198a59f81d4e976caf400867cb52bbe2996363f22943ff73c678427da43ad3a019bbe29bd29ce1 WHIRLPOOL 2346261e9891f77a48e8ea54e647fc77e40ec79d099597dec4fd06e265ac3a255eec8d6e2ed46ae00e90fd900998b48a6c3a963bb89d9b81e3cba24cefb7ba11
AUX rngd-confd-4.1 562 SHA256 cdbd39f7446f12a9b78e87e9f135cfd0f6f364c4fa4ade0c96084b85c32afc38 SHA512 45e0e9cbe0180162f659bf05c15ee99fb8c1b80274cd8744384ba7f791b1c9a46a63e81eea665b4f492c13b7d5cc1fdb6e524a49a25af77f3791f527b31f688b WHIRLPOOL 87634cea70a1c8ffa7598cc8b0d93c79578433cc21b58bb13bc9144502b9502e2c4f151bcf282ad4ccef44a931f1be5d1e87ff7b9b6d07cfa0a4c288b4172ec3
AUX rngd-initd-4.1 897 SHA256 56780a5d0a3348a08ab19ba56e591f60f84665417ce9893d7b669fbc442bf1d4 SHA512 43d6612c6d6376a21b4522369688908e24544311632277a8dadc2a7c91ed664f7cf6610bab6592040fb10ca4adb98d2136134879bcfeeb25159c55cf9c0f6799 WHIRLPOOL c740a965b0e47dcae0d2ac01d01d3cf5e3f9ce4c5df626d75de82f3b5fe232391bafd43be099439cf6445f362ad7681d782db9497e6a13008d221fb8663579e5
AUX rngd.service 133 SHA256 a05b1075157d39302106221594e1640479fae5dee4595de09442901a3a2d1648 SHA512 51e9ea84b624cda8d3689d6a9a8d60da4a556aa9d2a1a04e698d9a1490717aa47172e152c93711f8d04be8a5b68b1dfd568a762bd8ee7219afb7cdfff15657d2 WHIRLPOOL 093b0cd19a147abd9fc10f366c2c5a167d31b839d755cf2e56f6ae35409b6eb764db0651858d20dc95b71fe1d90b4ca33bde88053c80e40665613d132357366a
AUX test-for-argp.patch 1318 SHA256 222ee3b8bfbe4827140a67af4b8d170aaa135d5317e3a40b236f8d79a06c4274 SHA512 9418bea246052391e9dab1583a7e44c47f87c34d39860c76bf11090fd397ea70ec76cb7e4c91afbe1f18a19c6f8767e0e6ceec02fbd7ef8204e8ab168f3077d8 WHIRLPOOL a54d1e8f4d3e1070cda067120318d775f0a768836984c831cc84929801d29e5f7c694e90e96926e52af57d509a52d4340c3cf9ee847782927d3dfa16fa3f758b
DIST rng-tools-4.tar.gz 110943 SHA256 b71bdfd4222c05e8316001556be90e1606f2a1bac3efde60153bd84e873cc195 SHA512 328627a9ede924026c7a7c391b04be05f098d713d35f7f38d939d52b794853b4f6db3ae125568710ab5a59640236b343f3e9fc0f735806b020cc675c02f80b08 WHIRLPOOL da58bc7d3b7d9cdf6d83d258717f22ba3552482a690311fa2c820e4ce125a5e6c6e498e0b63461ed6c9dc16dff77b2cb47377933845fb9397efa205183346e5b
DIST rng-tools-5.tar.gz 122182 SHA256 60a102b6603bbcce2da341470cad42eeaa9564a16b4490e7867026ca11a3078e SHA512 58047c37cad4f5f1210b696e4dba122878f78e57d05d9cb822f79234240ecce31efd2d39061fea1eb5b2e81d48d8c3bf6b92d06451f1ce5d5db7117704e89c50 WHIRLPOOL 073dbeb9d27189db44658a9f25657b93a320b125fbfc8230f7ce7849b8e7c1f7802b4c3a53de3417525b02739194fab8a6e5eb03d5db317a23deb275d72fbb21
EBUILD rng-tools-4-r7.ebuild 956 SHA256 00abc3affa477a0a0aa41cbaa306559d2572be3057da98075a865acd0cab74e3 SHA512 73ea16875d26b57a0650f125cbe25a930f06904a383c9af5bc5ec01e6e1eb22e7341c312a41505aac0fed3e8a6176286151401b4d0aa27d2eaaedf2490dd67c4 WHIRLPOOL 3a8a73cb5587acadfae50ef0f912e0fcaa78dd43c96bf7129330c5a1fef3fc21560aaca370569da0f4950584441fd13ffa9b04b51b40f98592e8429442177f04
EBUILD rng-tools-5.ebuild 1019 SHA256 8c4e1a5f5f07ccbf1ec8b235f672d3256dca7a034e1811f5a14ecf4d599be7bf SHA512 cce5c741e64cbdebc64fd11f0cde7c83a7d3aa679824e13df737192fcbc2792e855b8eb0f674beb4fb29b1ca8507acfba65212ff95dfedcfa5f785697bcf9a91 WHIRLPOOL 48731352dd258b8b203801f632c87e3e7cf22a170584963ffb084f70e991d0cc9a60383d7fe53fa4a988018cfaf65e6be4d2cbc63addce90c7e3f964b62ffd5c
MISC ChangeLog 9568 SHA256 796f5413c30ad7ddaae9b4b195b9e44baa8e9ebb4857645552697ac6be17e7d2 SHA512 5d0bf0d5f5adb31e7a13bf39486008b4dc63e6cdd1c1bd50a178d769a0bb818c23433e5c42fb3a9327dd2ce7b23daf0f29a8613f5c4f6d3866e07f3ce868d9d7 WHIRLPOOL 427612588c648f96f205c749d0bf26b995fe21e23f16cb2d92c8d46d697f67fb55d45536e43bcdc72a6e74ab80f90ea1e69b68f20708fc4b3c2ec22bcae770ed
MISC metadata.xml 165 SHA256 23a8851c12bd4cf7cf0528250ad5605be6b0780bbec0c51331d6d2c618c13f6a SHA512 3f1bee5d098a4e5874df3af56169397cc3ed526f9c56004b9ccaa4c5cf02d4affd894400b88f50f3c19bf5ba3ae06f3d4d2cfa5c15e97b7d4c33053e5f0f63c5 WHIRLPOOL 070ba3ff0b1ea000c90d8af13cdac14693dc5d9dcc8d8ba89cf9bdbe91196e3cf9e72bd2f01cd5efc1ddab63b83184159298d1ee891bc123107ea6891ad612d2

View File

@ -0,0 +1,71 @@
From: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org>
Subject: [PATCH] Fix assemby textrels on rdrand_asm.S on PIC x86
This patch fixes the assembly in rdrand_asm.S so it won't generate textrels on PIC systems.
The main fixes are in the use of leal in SETPTR for such systems, the rest is the usual PIC
support stuff.
This should fix Gentoo bug #469962
This patch is released under the GPLv2 or a higher version license as is the original file
as long as reference to the author and the tester are included in the final code.
Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=469962
Upstream-status: Not sent yet
Signed-off-by: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org>
Reported-by: cilly <cilly@cilly.mine.nu>
Tested-by: Anthony Basile <blueness@gentoo.org>
--- rng-tools/rdrand_asm.S
+++ rng-tools/rdrand_asm.S
@@ -49,6 +49,7 @@
ret
ENDPROC(x86_rdrand_nlong)
+#define INIT_PIC()
#define SETPTR(var,ptr) leaq var(%rip),ptr
#define PTR0 %rdi
#define PTR1 %rsi
@@ -84,7 +85,16 @@
ret
ENDPROC(x86_rdrand_nlong)
+#if defined(__PIC__)
+#undef __i686 /* gcc builtin define gets in our way */
+#define INIT_PIC() \
+ call __i686.get_pc_thunk.bx ; \
+ addl $_GLOBAL_OFFSET_TABLE_, %ebx
+#define SETPTR(var,ptr) leal (var)@GOTOFF(%ebx),ptr
+#else
+#define INIT_PIC()
#define SETPTR(var,ptr) movl $(var),ptr
+#endif
#define PTR0 %eax
#define PTR1 %edx
#define PTR2 %ecx
@@ -101,6 +111,7 @@
movl 8(%ebp), %eax
movl 12(%ebp), %edx
#endif
+ INIT_PIC()
SETPTR(aes_round_keys, PTR2)
@@ -166,6 +177,17 @@
#endif
ret
ENDPROC(x86_aes_mangle)
+
+#if defined(__i386__) && defined(__PIC__)
+ .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
+.globl __i686.get_pc_thunk.bx
+ .hidden __i686.get_pc_thunk.bx
+ .type __i686.get_pc_thunk.bx,@function
+__i686.get_pc_thunk.bx:
+ movl (%esp), %ebx
+ ret
+#endif
+
/*
* AES round keys for an arbitrary key:
* 00102030405060708090A0B0C0D0E0F0

View File

@ -0,0 +1,100 @@
From: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org>
Subject: [PATCH] Fix assemby textrels on rdrand_asm.S on PIC x86
This patch updates the fixes in the assembly in rdrand_asm.S in
sys-apps/rng-tools-5 so it won't generate textrels on PIC systems.
The main fixes are in the use of leal in SETPTR for such systems, the rest is
the usual PIC support stuff.
This should fix Gentoo bug #469962 and help fix #518210
This patch is released under the GPLv2 or a higher version license as is the
original file as long as the author and the tester are credited.
Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=469962
Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=518210
Upstream-status: Not sent yet
Signed-off-by: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org>
Reported-by: cilly <cilly@cilly.mine.nu>
Reported-by: Manuel Rüger <mrueg@gentoo.org>
Tested-by: Anthony Basile <blueness@gentoo.org>
--- rng-tools/rdrand_asm.S
+++ rng-tools/rdrand_asm.S
@@ -2,6 +2,7 @@
* Copyright (c) 2011-2014, Intel Corporation
* Authors: Fenghua Yu <fenghua.yu@intel.com>,
* H. Peter Anvin <hpa@linux.intel.com>
+ * PIC code by: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
@@ -174,7 +175,19 @@
jmp 4b
ENDPROC(x86_rdseed_or_rdrand_bytes)
+#if defined(__PIC__)
+#define INIT_PIC() \
+ pushl %ebx ; \
+ call __x86.get_pc_thunk.bx ; \
+ addl $_GLOBAL_OFFSET_TABLE_, %ebx
+#define END_PIC() \
+ popl %ebx
+#define SETPTR(var,ptr) leal (var)@GOTOFF(%ebx),ptr
+#else
+#define INIT_PIC()
+#define END_PIC()
#define SETPTR(var,ptr) movl $(var),ptr
+#endif
#define PTR0 %eax
#define PTR1 %edx
#define PTR2 %ecx
@@ -190,6 +203,7 @@
movl 8(%ebp), %eax
movl 12(%ebp), %edx
push %esi
+ INIT_PIC()
#endif
movl $512, CTR3 /* Number of rounds */
@@ -280,6 +294,7 @@
movdqa %xmm7, (7*16)(PTR1)
#ifdef __i386__
+ END_PIC()
pop %esi
pop %ebp
#endif
@@ -294,6 +309,7 @@
push %ebp
mov %esp, %ebp
movl 8(%ebp), %eax
+ INIT_PIC()
#endif
SETPTR(aes_round_keys, PTR1)
@@ -323,6 +339,7 @@
call 1f
#ifdef __i386__
+ END_PIC()
pop %ebp
#endif
ret
@@ -343,6 +360,16 @@
ENDPROC(x86_aes_expand_key)
+#if defined(__i386__) && defined(__PIC__)
+ .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
+ .globl __x86.get_pc_thunk.bx
+ .hidden __x86.get_pc_thunk.bx
+ .type __x86.get_pc_thunk.bx, @function
+__x86.get_pc_thunk.bx:
+ movl (%esp), %ebx
+ ret
+#endif
+
.bss
.balign 64
aes_round_keys:

View File

@ -0,0 +1,22 @@
# /etc/conf.d/rngd
# Please see "/usr/sbin/rngd --help" and "man rngd" for more information
# If a single device is preferred, then specify it here, otherwise we will
# search for suitable devices.
#DEVICE=
# Random step (Number of bytes written to random-device at a time):
STEP=64
# Should TPM be avoided?
# NO_TPM=0
# Should RDRAND be avoided? Please note that unless this is commented
# out, RDRAND _will_ be disabled, as any value will cause it to be
# disabled.
# NO_DRNG=1
# Fill watermark
# 0 <= n <= `sysctl kernel.random.poolsize`
WATERMARK=2048

View File

@ -0,0 +1,29 @@
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/rng-tools/files/rngd-initd-4.1,v 1.7 2013/05/22 05:16:17 vapier Exp $
depend() {
need localmount
after urandom
provide entropy
}
# Do NOT add /dev/tpm to this.
DEFAULT_DEVICE="/dev/hw_random* /dev/hwrandom* /dev/i810_rng /dev/hwrng*"
find_device() {
local d
# The echo is to cause globbing
for d in $(echo ${DEFAULT_DEVICE}) ; do
[ -e "${d}" ] && echo "${d}"
done
}
RNG_DEVICE="${DEVICE:-$(find_device)}"
command=/usr/sbin/rngd
pidfile="/var/run/${SVCNAME}.pid"
command_args="--pid-file ${pidfile} --background --random-step ${STEP:-64} ${NO_TPM:+--no-tpm=1} ${NO_DRNG:+--no-drng=1} --fill-watermark ${WATERMARK} ${RNG_DEVICE:+--rng-device ${RNG_DEVICE}}"
start_stop_daemon_args="--wait 1000"
retry="SIGKILL/5000"

View File

@ -0,0 +1,8 @@
[Unit]
Description=Hardware RNG Entropy Gatherer Daemon
[Service]
ExecStart=/usr/sbin/rngd -f
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,43 @@
On glibc systems, argp is provided by libc. However, on
uclibc and other systems which lack argp in their C library,
argp might be provided by a stand alone library, libargp.
This patch adds tests to the build system to find who provides
argp.
X-Gentoo-Bug: 292191
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=292191
Reported-by: Ed Wildgoose <gentoo@wildgooses.com>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
--- configure.ac.orig 2012-05-26 22:45:42.753478198 +0000
+++ configure.ac 2012-05-27 00:36:23.175844081 +0000
@@ -47,6 +47,28 @@
dnl Checks for optional library functions
dnl -------------------------------------
+dnl First check if we have argp available from libc
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <argp.h>],
+ [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;]
+ )],
+ [libc_has_argp="true"],
+ [libc_has_argp="false"]
+)
+
+dnl If libc doesn't provide argp, then test for libargp
+if test "$libc_has_argp" = "false" ; then
+ AC_MSG_WARN("libc does not have argp")
+ AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"])
+
+ if test "$have_argp" = "false"; then
+ AC_MSG_ERROR("no libargp found")
+ else
+ LIBS+=" -largp"
+ fi
+fi
+
dnl -----------------
dnl Configure options
dnl -----------------

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>base-system</herd>
</pkgmetadata>

View File

@ -0,0 +1,36 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/rng-tools/rng-tools-4-r7.ebuild,v 1.7 2014/11/11 10:46:06 ago Exp $
EAPI="5"
inherit eutils autotools systemd toolchain-funcs
DESCRIPTION="Daemon to use hardware random number generators"
HOMEPAGE="http://gkernel.sourceforge.net/"
SRC_URI="mirror://sourceforge/gkernel/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 ia64 ppc x86"
IUSE="selinux"
RDEPEND="selinux? ( sec-policy/selinux-rngd )"
DEPEND=""
src_prepare() {
echo 'bin_PROGRAMS = randstat' >> contrib/Makefile.am
epatch "${FILESDIR}"/test-for-argp.patch
epatch "${FILESDIR}"/fix-textrels-on-PIC-x86.patch
eautoreconf
sed -i '/^AR /d' Makefile.in
tc-export AR
}
src_install() {
default
newinitd "${FILESDIR}"/rngd-initd-4.1 rngd
newconfd "${FILESDIR}"/rngd-confd-4.1 rngd
systemd_dounit "${FILESDIR}"/rngd.service
}

View File

@ -0,0 +1,38 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/rng-tools/rng-tools-5.ebuild,v 1.1 2014/11/18 19:54:10 mrueg Exp $
EAPI=5
inherit eutils autotools systemd toolchain-funcs
DESCRIPTION="Daemon to use hardware random number generators"
HOMEPAGE="http://gkernel.sourceforge.net/"
SRC_URI="mirror://sourceforge/gkernel/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~x86"
IUSE="selinux"
DEPEND="dev-libs/libgcrypt:0
dev-libs/libgpg-error"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-rngd )"
src_prepare() {
echo 'bin_PROGRAMS = randstat' >> contrib/Makefile.am
epatch "${FILESDIR}"/test-for-argp.patch\
"${FILESDIR}"/${P}-fix-textrels-on-PIC-x86.patch
eautoreconf
sed -i '/^AR /d' Makefile.in || die
tc-export AR
}
src_install() {
default
newinitd "${FILESDIR}"/rngd-initd-4.1 rngd
newconfd "${FILESDIR}"/rngd-confd-4.1 rngd
systemd_dounit "${FILESDIR}"/rngd.service
}