summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Bar-Lev <alonbl@gentoo.org>2012-12-14 20:41:16 +0000
committerAlon Bar-Lev <alonbl@gentoo.org>2012-12-14 20:41:16 +0000
commit6cf7446954b8a5372a65aca5d7f359304d2fdf44 (patch)
tree9b99e668bf8afbe3e06f569bfff7e806e34ce380 /net-wireless/aircrack-ng
parentStable for amd64 wrt bug #447168 (diff)
downloadhistorical-6cf7446954b8a5372a65aca5d7f359304d2fdf44.tar.gz
historical-6cf7446954b8a5372a65aca5d7f359304d2fdf44.tar.bz2
historical-6cf7446954b8a5372a65aca5d7f359304d2fdf44.zip
Fix hardened toolchain issue, bug#285703, thanks to Rick Farina <zerochaos@gentoo.org>.
Package-Manager: portage-2.2.0_alpha148/cvs/Linux x86_64
Diffstat (limited to 'net-wireless/aircrack-ng')
-rw-r--r--net-wireless/aircrack-ng/ChangeLog9
-rw-r--r--net-wireless/aircrack-ng/Manifest28
-rw-r--r--net-wireless/aircrack-ng/aircrack-ng-1.1-r1.ebuild70
-rw-r--r--net-wireless/aircrack-ng/files/aircrack-ng-1.1-sse-pic.patch172
4 files changed, 255 insertions, 24 deletions
diff --git a/net-wireless/aircrack-ng/ChangeLog b/net-wireless/aircrack-ng/ChangeLog
index 3ba429f6aa1f..8d3f4a6aaaab 100644
--- a/net-wireless/aircrack-ng/ChangeLog
+++ b/net-wireless/aircrack-ng/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-wireless/aircrack-ng
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/aircrack-ng/ChangeLog,v 1.61 2012/07/05 16:05:14 zerochaos Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/aircrack-ng/ChangeLog,v 1.62 2012/12/14 20:41:12 alonbl Exp $
+
+*aircrack-ng-1.1-r1 (14 Dec 2012)
+
+ 14 Dec 2012; <alonbl@gentoo.org> +aircrack-ng-1.1-r1.ebuild,
+ +files/aircrack-ng-1.1-sse-pic.patch:
+ Fix hardened toolchain issue, bug#285703, thanks to Rick Farina
+ <zerochaos@gentoo.org>.
05 Jul 2012; Rick Farina <zerochaos@gentoo.org> metadata.xml:
adding myself as maintainer to better keep in sync with upstream
diff --git a/net-wireless/aircrack-ng/Manifest b/net-wireless/aircrack-ng/Manifest
index 3efdf1269225..2b0521363bef 100644
--- a/net-wireless/aircrack-ng/Manifest
+++ b/net-wireless/aircrack-ng/Manifest
@@ -1,34 +1,16 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
AUX aircrack-ng-1.0_rc2-freebsd.patch 3062 SHA256 1376eff217f6577865d1425c85f50fd7eb054a2749ebefb8e11bed1065507a7a SHA512 f6b27160a0b2dc1d629974e7d563f9ccfeceedb9a4816cff6793fb792a454d9876188cd614e78a0c3dee8976f7c4d5e87560f9ac68db1db929fb1461fd54afa9 WHIRLPOOL b02b3f8c640bdbefe7cef4556c9c5ad6aab029018e23a0f794c52d0262741f517eac806db3c3ec51509c82bc3ffeaa0e9af76ca5311fb4b79f175499a959f14b
AUX aircrack-ng-1.0_rc3-respect_LDFLAGS.patch 3124 SHA256 cfcf81b63bd31983ade18a350ceda2ad10b8ad4362a1f9380798a94ab4191d75 SHA512 93472eed3058463f8aba508dd5994155ea4321252019ee2df06f907fe84029df2d70efbc1e0365d55fcef733c29094c3b302db31a16fa3629901c50da07a0ef5 WHIRLPOOL e418cce2c4d57286f70b3999f421ea0e7c93782e56151c58e659228b7296b2b8ab1709a758c0b07751c513a20434582a05c1e30ad271500520c3e656cd09c793
AUX aircrack-ng-1.0_rc4-fix_build.patch 347 SHA256 f71f8b670335e352b2165128098e19646ae41a1848aa048aa9b58fbe65651b64 SHA512 a090b604e5bdff1ea2747e2d856b493ac1bcf3889c031ce964899ead11a6d9f4ff8b4c4cdb66b90f232e471a2eb7a9c3de6400e4b699259704416a16f07df74d WHIRLPOOL 0c734d579ea3deaedf9687ec345844472b14cc4b544d9eb182d154a62715fd6e2ed122b6aafe6fada632f6fb444c914b38c3324030282e8571c144963911aea6
AUX aircrack-ng-1.1-parallelmake.patch 368 SHA256 c2b9cdcfb52428863fc9a1a2c3feef9266218b3cb4cf44fa37b3df9169f4c1cc SHA512 7febda74a460d75eb5ba41bc747c2144f29c7d106a9e75256c04012d187aa7dd413b0dd94b7f2ac20c78d63be5927ec9d55dfe67d5df3e16e88e08e607adeea8 WHIRLPOOL 5d69892aa8c8063aac37781f1c1a2ca7e7675eba7bb1038da2c5f1f208da6c9600d6f60dd12e2a36dee3e16b8337fcc0837e7a3f9603094b55cd51dcaf7b101a
AUX aircrack-ng-1.1-respect_LDFLAGS.patch 3144 SHA256 543d8efee610cd32874abb0ebc7371619526613ed04fa70db35d1caf473efff8 SHA512 faaaa5b1733ce78b4461b34d33be5cca671259ebfd69a9211ef3a4e4b97f3c062edd11f9556ef88faa245db87c6da59048efd593fbf4d31f48917df218bba272 WHIRLPOOL 7562c4fec3b3f5479186c0f4c16af0df97c7196f6d0072120ce460b5ca044244b26a49b7a47f07ebd01e022fd0acffb8493e46cd4c5f74e0b6adc2bd4b577a1c
+AUX aircrack-ng-1.1-sse-pic.patch 4603 SHA256 05b39f662e613c8cdf6896a863bc7cb80b980e5f54f63f8aa0e895f64f9a12f3 SHA512 caa93783fd00dfbfb2fc6fea3b748804320a69cadd8ef1de960d6dd4ec6e53496314be539806005be4946a0e0fc99b119d0ff1d14d1fbd2d7613a8178d7cc89e WHIRLPOOL 5eed55676deb044a1069c544bd45ee733a90084e2d7a5994efcacf28afbbba3b541797ad692f8bd3eff59ba9456d072948f26054d853faeca0f167f2698ab73f
AUX process-group-leader.c 373 SHA256 153666625e942384648dafedbc8f37577fdf6a24060b04237913fd7f693f7bf7 SHA512 75a53fd739ec533742093607361b1d72f611329083f804a3345ddc74c158c11a07a3efa89906ec34b7e81bca8dc2eccfc01658e0fc996346f50b3acf1fe980c2 WHIRLPOOL 95044a420715c061c6c8d9b89cbc71079281efa9288c08bb3bc61ccc1b83b095389d4a264eadcf4d26463f2d66e00420054ee74f7c0a1eb0ccefd29fc9a21af4
-DIST aircrack-ng-0.9.3.tar.gz 1031441 RMD160 29c7d454da26167fb24e5a0f2b6eeeddc98e697d SHA1 b2f671324d056408b83d32eb1ab6061b7fa87ac5 SHA256 71bca53eae0261d5bdd72e4363f43f5a6e40b2375dc4852a4029a061c789da58
-DIST aircrack-ng-1.0.tar.gz 1506412 RMD160 e8360aabbec1e7e038f86579e1004234f0899409 SHA1 8a3c5b8e322ea11e5559109a9f9d668ad6aee5f0 SHA256 65c2ad69a5522282b2c3c51daeceff70ecaff2d9ef4ff9c915a018f1d87680cd
+DIST aircrack-ng-0.9.3.tar.gz 1031441 SHA256 71bca53eae0261d5bdd72e4363f43f5a6e40b2375dc4852a4029a061c789da58
+DIST aircrack-ng-1.0.tar.gz 1506412 SHA256 65c2ad69a5522282b2c3c51daeceff70ecaff2d9ef4ff9c915a018f1d87680cd SHA512 243849e86a926fe845ef6274389e06ea2d115f76bea22f608f41c9ba8520ba007b2526d742d262296ca5118a0bffb1366d33fdea1b90636ff2cd2b23dc3b76ac WHIRLPOOL 8606e17221c2c61f201a8f832442e77bdcfdf412df4ab8fba785965f99ebc4cc93f1054a6d73c28fbb70db79f2a7a90d28bc56d88c0766d80f19c2b5e29d92ad
DIST aircrack-ng-1.1.tar.gz 1453272 SHA256 b136b549b7d2a2751c21793100075ea43b28de9af4c1969508bb95bcc92224ad SHA512 e2246c3e5bb61a7294b8483ba7865a7da78c35c0444ded51e61076b1b15a1329c757de2828b6a23ab399a77c1c51949cb6833cfa2823c1f8819c8c12f7799270 WHIRLPOOL 37592c80250cb92ab0a1cf25beffffd3449434721068d586731c2669b10bf0ab2461ede664614e0286581a5ccd8e8721181c367d9774700c1c72ca8c640d2530
EBUILD aircrack-ng-0.9.3.ebuild 1331 SHA256 7c02727963d713fbdc18c8181bfc06a161488909e4777e653882a49ccb6c9958 SHA512 37ecd5e28d552c5702722a73a65b35ab292774c49d38e3691d8f6c0e5cfcab8e0adeaf9d966dd600a4eb55e1200c28b602784099d205bb6c3640d689bae4c5a1 WHIRLPOOL 6f0d590fa3521bd963ee1132f2f620fec76870bf4dada5f8cfaa6ba4817821ffd7d14dac4b6bdb50865dfb80686f30daa4b0c14d87728a71ce8e459516cfbf28
EBUILD aircrack-ng-1.0.ebuild 2202 SHA256 b1ab820335a0cc958782098de56035953420add11453ca0be65f99bfb65d6633 SHA512 00d4216fc5e1841bab3af9b78f174444f5c0797935242fd88d9b81fcae0eb8588bc1cc420180ed94bd99603f8e24f88c37ebd39331bc4fc9faa808942e670724 WHIRLPOOL 6bdf364693f82acd4c29a9c3665ebfc9b0814dcebad7a7374418cbebe13a9deecb27258a7a2dcd449f467b7be3faaca1843ecb19c24d5d4b11159ed9e00b09f2
+EBUILD aircrack-ng-1.1-r1.ebuild 2213 SHA256 2a15d95d324059f58e38f2c758243cf339e89fea2bcf890479aa62d9c7215e50 SHA512 f25a0fd1956d9ada3e2bb556ef9707494f96f95f195120b2a74de2a90b55865a1fd1ca6a896ea4195834f3926c7e23bf3bc23d8fb7d35a2255e4c26e0cbd11c6 WHIRLPOOL 9e63b278dea6c9173a812d91a570250d40fe4611cb55d70cef0a320b69f0aacf0bbb772ffc7b5e372b4dcb09fa4c13c67c23c6d18b3ba308d408ff5cc394f41a
EBUILD aircrack-ng-1.1.ebuild 2254 SHA256 5069e4addd7bbeeadb145048d51b26a5864cb3c98c9c2c3ff903e854c018871b SHA512 b0ed5b2d6a6148ace2686f6968ed9b4732f0300346996a044ce2729371ef965c9d6cea3a75e79d377854aee7862916c7a22928aa8d088b496af7dad73e7641aa WHIRLPOOL 80db43b615e3621e53d35f705b07a265a3062f29af5d6f7c3a3d27a6d682294537b2cb6c75996542c4b531113c9f611d105ba41741f8eeccc9466c476c2a71f8
-MISC ChangeLog 9316 SHA256 881e0875cfb0fdfcaa7e76ee03e6943bb047bfcd9100d45199f0f14977866179 SHA512 b63258d0cfa2cd5fbdb4672d7a8407a13adede8c7d27659e4249e68364592c883182ec3491e4120cd5d208714d1aa2f593c1a33e1fdf93e4c5dac4688abed6c3 WHIRLPOOL 6b6d80c74870e7153b3fe20f99b02bd562a2c7a9fa0f8ba80409cf43b375915bdef58af256f9292d19e6b01c08f700916a0d3fd7f9a780fcc1eda794e7602357
+MISC ChangeLog 9545 SHA256 7fafcdf3fa76df03e035ad57569fd3096887e1d8f1a504c2ed2ba353f5bac76d SHA512 6ad4fd521586b53467d2277498fe88edc65b3d15774184fb6f1236c35f50d533a04b75b6d62ae035d35063aa4f3b78b5ce1a199a5846cc2abcb2aaba50d5b5f0 WHIRLPOOL 44efdca2ed92c76250f3990146066362e8cd70124094d5ccb5445b08c69ea2a1a39b1c6fb8daea0acd7d07f385ed48537890c8270b62a7a80720249ec47889ad
MISC metadata.xml 526 SHA256 8dbde7221ebaa15810d55bb56aa1f39c035786e9ba6937b72af6c5c045aee0f4 SHA512 f5fac7e6256cfa5347fa30f74bc2cf254015fb28d8458be59a9f654a8a2a391af5c25ebc7eedc3b0460db3846228f34769c9b38aa4ba54a952797c2163d8aafb WHIRLPOOL cfc64c7c302df5e0243f532369e2ff0b7c44a421f6dfb8622dff0a8e6cbae16739895a1b92d0473c06d56455da71f6d5fee87dc62a096b87c87a01860e278e04
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.19 (GNU/Linux)
-
-iQIcBAEBAgAGBQJP9btaAAoJEKXdFCfdEflKTnUP/iOXdC0sny3fmaeUwngkRlp7
-T72wRp7USzJSLwEJC9cNLQbWUnv8O13kZhQNLn/YZYcsolgHveiLyiwejDy29oNG
-2x7GzJvVCbSHYXD/wEpN1ApNiiXIhcc5QXr6GKAekW4GczfaPdF+MYsyw3EKrS+2
-A3SvMQBa/D+STNIP03rFr+tv3TXyoxQ5GlF0yZX7vRTvsj3viWtWIMN9c2PzZmcF
-FpQceSXebJJ1DdKpL0fFWvSioqnYf+4+25UnNILyY0V1YDXr6JoEMi3FX+w79PR/
-Y9gpiQegWDGrEXdLty8EByzRqezMHq41pJA6mdZMTdGUDvwYgJd74qab0VYfvt7c
-yG2Ab03WMJFQdcvA5HYYLtY2M3MRSvrqfmvlC9sTVKV2N0s/4Zwk8ieiYVeHtbm3
-SRhAaO0NH51S15n22fOqw3myjb5VWM1GFZPfGPMDfgPCUMmTV1d07prSn82aeG7s
-P8bZWWrlHlQGNNPv77fyK1naPLQ84GzISdInFCsPALVNFndcgfOtG/hLevB++jlj
-bBRUP7KI9JB3ZOtLXAazO/3gnkatSskOVygJjnFFh5AKVUF4AI+AwLx64djzWr7W
-3BcHj7dfH7Bh0RyPKf17wRn+mCcv1GjpKZP3DQiQPdl1bLhhlaUH0SZyoxM1puuz
-nsuSuqrkcTHHGtwcUlIS
-=LwxI
------END PGP SIGNATURE-----
diff --git a/net-wireless/aircrack-ng/aircrack-ng-1.1-r1.ebuild b/net-wireless/aircrack-ng/aircrack-ng-1.1-r1.ebuild
new file mode 100644
index 000000000000..76e636770973
--- /dev/null
+++ b/net-wireless/aircrack-ng/aircrack-ng-1.1-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/aircrack-ng/aircrack-ng-1.1-r1.ebuild,v 1.1 2012/12/14 20:41:12 alonbl Exp $
+
+EAPI="3"
+
+inherit eutils toolchain-funcs versionator
+
+MY_PV="$(replace_version_separator 2 '-')"
+
+DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys"
+HOMEPAGE="http://www.aircrack-ng.org"
+SRC_URI="http://download.aircrack-ng.org/${PN}-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~x86-fbsd"
+IUSE="+sqlite kernel_linux kernel_FreeBSD"
+
+DEPEND="dev-libs/openssl
+ sqlite? ( >=dev-db/sqlite-3.4 )"
+RDEPEND="${DEPEND}
+ kernel_linux? ( net-wireless/iw net-wireless/wireless-tools )"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+have_sqlite() {
+ use sqlite && echo "true" || echo "false"
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-respect_LDFLAGS.patch"
+ epatch "${FILESDIR}/${PN}-1.0_rc4-fix_build.patch"
+ epatch "${FILESDIR}/${P}-parallelmake.patch"
+ epatch "${FILESDIR}/${P}-sse-pic.patch"
+}
+
+src_compile() {
+ # UNSTABLE=true enables building of buddy-ng, easside-ng, tkiptun-ng and wesside-ng
+ emake CC="$(tc-getCC)" LD="$(tc-getLD)" sqlite="$(have_sqlite)" UNSTABLE=true || die "emake failed"
+}
+
+src_install() {
+ # UNSTABLE=true enables installation of buddy-ng, easside-ng, tkiptun-ng and wesside-ng
+ emake \
+ prefix="${EPREFIX}/usr" \
+ mandir="${EPREFIX}/usr/share/man/man1" \
+ DESTDIR="${D}" \
+ sqlite="$(have_sqlite)" \
+ UNSTABLE=true \
+ install \
+ || die "emake install failed"
+
+ dodoc AUTHORS ChangeLog README
+}
+
+pkg_postinst() {
+ # Message is (c) FreeBSD
+ # http://www.freebsd.org/cgi/cvsweb.cgi/ports/net-mgmt/aircrack-ng/files/pkg-message.in?rev=1.5
+ if use kernel_FreeBSD ; then
+ einfo "Contrary to Linux, it is not necessary to use airmon-ng to enable the monitor"
+ einfo "mode of your wireless card. So do not care about what the manpages say about"
+ einfo "airmon-ng, airodump-ng sets monitor mode automatically."
+ echo
+ einfo "To return from monitor mode, issue the following command:"
+ einfo " ifconfig \${INTERFACE} -mediaopt monitor"
+ einfo
+ einfo "For aireplay-ng you need FreeBSD >= 7.0."
+ fi
+}
diff --git a/net-wireless/aircrack-ng/files/aircrack-ng-1.1-sse-pic.patch b/net-wireless/aircrack-ng/files/aircrack-ng-1.1-sse-pic.patch
new file mode 100644
index 000000000000..8b3e2070e0a7
--- /dev/null
+++ b/net-wireless/aircrack-ng/files/aircrack-ng-1.1-sse-pic.patch
@@ -0,0 +1,172 @@
+Index: src/sha1-sse2.S
+===================================================================
+--- src/sha1-sse2.S (revision 1859)
++++ src/sha1-sse2.S (revision 1860)
+@@ -8,10 +8,37 @@
+ // input blocks must be (four bytes) interleaved.
+
+ #if defined(__x86_64__) && defined(__APPLE__)
++#define PRELOAD(x)
+ #define MANGLE(x) x(%rip)
++#define INIT_PIC()
++#define END_PIC()
+ #else
++#ifdef __PIC__
++
++#ifdef __x86_64__
++#define PRELOAD(x) movq x@GOTPCREL(%rip), %rbx;
++#define MANGLE(x) (%rbx)
++#define INIT_PIC() pushq %rbx
++#define END_PIC() popq %rbx
++#else
++#undef __i686 /* gcc builtin define gets in our way */
++#define PRELOAD(x)
++#define MANGLE(x) x ## @GOTOFF(%ebx)
++#define INIT_PIC() \
++ call __i686.get_pc_thunk.bx ; \
++ addl $_GLOBAL_OFFSET_TABLE_, %ebx
++#define END_PIC()
++#endif
++
++#else
++
++#define PRELOAD(x)
+ #define MANGLE(x) x
++#define INIT_PIC()
++#define END_PIC()
++
+ #endif
++#endif
+
+ #if defined(__i386__) || defined(__x86_64__)
+
+@@ -142,12 +169,15 @@
+ paddd tmp2, e; \
+ movdqa b, tmp2; \
+ pslld $30, b; \
++ PRELOAD(k) \
+ paddd MANGLE(k), e; \
+ psrld $2, tmp2; \
+ por tmp2, b; \
+ movdqa (data*16)(edx_rsi), tmp1; \
+ movdqa tmp1, tmp2; \
++ PRELOAD(const_ff00) \
+ pand MANGLE(const_ff00), tmp1; \
++ PRELOAD(const_00ff) \
+ pand MANGLE(const_00ff), tmp2; \
+ psrld $8, tmp1; \
+ pslld $8, tmp2; \
+@@ -181,6 +211,7 @@
+ paddd tmp2, e; \
+ movdqa b, tmp2; \
+ pslld $30, b; \
++ PRELOAD(k) \
+ paddd MANGLE(k), e; \
+ psrld $2, tmp2; \
+ por tmp2, b;
+@@ -192,10 +223,16 @@
+ shasse2_init:
+ _shasse2_init:
+
++ INIT_PIC()
++ PRELOAD(const_init_a)
+ movdqa MANGLE(const_init_a), ctxa
++ PRELOAD(const_init_b)
+ movdqa MANGLE(const_init_b), ctxb
++ PRELOAD(const_init_c)
+ movdqa MANGLE(const_init_c), ctxc
++ PRELOAD(const_init_d)
+ movdqa MANGLE(const_init_d), ctxd
++ PRELOAD(const_init_e)
+ movdqa MANGLE(const_init_e), ctxe
+
+ movdqa ctxa, 0(eax_rdi)
+@@ -203,6 +240,7 @@
+ movdqa ctxc, 32(eax_rdi)
+ movdqa ctxd, 48(eax_rdi)
+ movdqa ctxe, 64(eax_rdi)
++ END_PIC()
+
+ ret
+
+@@ -212,17 +250,20 @@
+ shasse2_ends:
+ _shasse2_ends:
+
+- movdqa 0(eax_rdi), ctxa
++ INIT_PIC()
++ movdqa 0(eax_rdi), ctxa
+ movdqa 16(eax_rdi), ctxb
+ movdqa 32(eax_rdi), ctxc
+ movdqa 48(eax_rdi), ctxd
+ movdqa 64(eax_rdi), ctxe
+
++ PRELOAD(const_ff00)
+ movdqa MANGLE(const_ff00), tmp3
+ movdqa ctxa, tmp1
+ movdqa ctxb, tmp2
+ pand tmp3, ctxa
+ pand tmp3, ctxb
++ PRELOAD(const_00ff)
+ movdqa MANGLE(const_00ff), tmp3
+ pand tmp3, tmp1
+ pand tmp3, tmp2
+@@ -243,6 +284,7 @@
+ movdqa ctxa, 0(edx_rsi)
+ movdqa ctxb, 16(edx_rsi)
+
++ PRELOAD(const_ff00)
+ movdqa MANGLE(const_ff00), tmp5
+ movdqa ctxc, tmp1
+ movdqa ctxd, tmp2
+@@ -250,6 +292,7 @@
+ pand tmp5, ctxc
+ pand tmp5, ctxd
+ pand tmp5, ctxe
++ PRELOAD(const_00ff)
+ movdqa MANGLE(const_00ff), tmp5
+ pand tmp5, tmp1
+ pand tmp5, tmp2
+@@ -279,6 +322,7 @@
+ movdqa ctxc, 32(edx_rsi)
+ movdqa ctxd, 48(edx_rsi)
+ movdqa ctxe, 64(edx_rsi)
++ END_PIC()
+
+ ret
+
+@@ -289,6 +333,7 @@
+ shasse2_data:
+ _shasse2_data:
+
++ INIT_PIC()
+ movdqa 0(eax_rdi), ctxa
+ movdqa 16(eax_rdi), ctxb
+ movdqa 32(eax_rdi), ctxc
+@@ -400,6 +445,7 @@
+ movdqa ctxc, 32(eax_rdi)
+ movdqa ctxd, 48(eax_rdi)
+ movdqa ctxe, 64(eax_rdi)
++ END_PIC()
+
+ ret
+
+@@ -462,7 +508,18 @@
+ pop %ebx
+ #endif
+ ret
++#ifdef __i386__
++#ifdef __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
++#endif
++#endif
+
+
+ #ifdef __ELF__