diff options
author | Alon Bar-Lev <alonbl@gentoo.org> | 2012-12-14 20:41:16 +0000 |
---|---|---|
committer | Alon Bar-Lev <alonbl@gentoo.org> | 2012-12-14 20:41:16 +0000 |
commit | 6cf7446954b8a5372a65aca5d7f359304d2fdf44 (patch) | |
tree | 9b99e668bf8afbe3e06f569bfff7e806e34ce380 /net-wireless/aircrack-ng | |
parent | Stable for amd64 wrt bug #447168 (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | net-wireless/aircrack-ng/Manifest | 28 | ||||
-rw-r--r-- | net-wireless/aircrack-ng/aircrack-ng-1.1-r1.ebuild | 70 | ||||
-rw-r--r-- | net-wireless/aircrack-ng/files/aircrack-ng-1.1-sse-pic.patch | 172 |
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__ |