aboutsummaryrefslogtreecommitdiffstats
path: root/testing/rng-tools
diff options
context:
space:
mode:
authorFrancesco Colista <fcolista@alpinelinux.org>2015-07-20 08:11:47 +0000
committerFrancesco Colista <fcolista@alpinelinux.org>2015-07-20 08:11:47 +0000
commitfd05d0a99d425b1751c30e7e6878c76fcc2b9b36 (patch)
tree1cc0fff31f5e4c81d180c91fd50ee6149077a198 /testing/rng-tools
parent6ea7e80c22ba9311574b16c0d0c241ba6ecd021b (diff)
downloadaports-fd05d0a99d425b1751c30e7e6878c76fcc2b9b36.tar.bz2
aports-fd05d0a99d425b1751c30e7e6878c76fcc2b9b36.tar.xz
testing/rng-tools: patch textrels
Diffstat (limited to 'testing/rng-tools')
-rw-r--r--testing/rng-tools/APKBUILD6
-rw-r--r--testing/rng-tools/fix-textrels-on-PIC-x86.patch50
2 files changed, 55 insertions, 1 deletions
diff --git a/testing/rng-tools/APKBUILD b/testing/rng-tools/APKBUILD
index 8747e23104..bfa2543dc1 100644
--- a/testing/rng-tools/APKBUILD
+++ b/testing/rng-tools/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=rng-tools
pkgver=5
-pkgrel=0
+pkgrel=1
pkgdesc="a random number generator daemon"
url="http://sourceforge.net/projects/gkernel/"
arch="all"
@@ -13,6 +13,7 @@ makedepends="$depends_dev"
install=
subpackages=
source="http://downloads.sourceforge.net/project/gkernel/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz
+ fix-textrels-on-PIC-x86.patch
rngd.confd
rngd.initd
"
@@ -48,11 +49,14 @@ package() {
}
md5sums="6726cdc6fae1f5122463f24ae980dd68 rng-tools-5.tar.gz
+327ecc26d50a4a93f8cdec4a24fa837c fix-textrels-on-PIC-x86.patch
6f883db10f299d0640e0b3c5fa6e6175 rngd.confd
afe366ae9d230898abf7984e4fd6686a rngd.initd"
sha256sums="60a102b6603bbcce2da341470cad42eeaa9564a16b4490e7867026ca11a3078e rng-tools-5.tar.gz
+15072f76a7198859a08de56fc6c438a1c393a31e4a119200a7c8c63c5b15f0b6 fix-textrels-on-PIC-x86.patch
5cd5751f8b849b3df9c8d5203e137123ef4603eb882f02603c83a61c5365f237 rngd.confd
3bf0a290067f4e02aa1b655ecd609ab21ff4bea28aab77659c4926a26029ec28 rngd.initd"
sha512sums="58047c37cad4f5f1210b696e4dba122878f78e57d05d9cb822f79234240ecce31efd2d39061fea1eb5b2e81d48d8c3bf6b92d06451f1ce5d5db7117704e89c50 rng-tools-5.tar.gz
+5c8196c3e70c093215fc0720cd3f58f339f74293a7eb35d95b914591d783472119dcc34fb27ab6a4c3ce5359e050b4987d1e7ddf213a7445fc0b70d9fae5eae5 fix-textrels-on-PIC-x86.patch
2823cdb88cd45652d7d5097cdb239b404d7754930995f957dc2653c03762952cefc7c804f3dabfe8a4836bd098a4265cff67cff351b22cccf94d70efad293e2b rngd.confd
833612de0fb3f3f4a43a1d570660bd95a544983f1fe6e4a7b34e2a039729512dd76077e1a2469552830b98a869e47f4c8685fc55219beaca267993d8f0bdd2b9 rngd.initd"
diff --git a/testing/rng-tools/fix-textrels-on-PIC-x86.patch b/testing/rng-tools/fix-textrels-on-PIC-x86.patch
new file mode 100644
index 0000000000..88d0a7f905
--- /dev/null
+++ b/testing/rng-tools/fix-textrels-on-PIC-x86.patch
@@ -0,0 +1,50 @@
+--- 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
++