From: Sergei Trofimovich Date: Fri, 12 Aug 2011 19:35:31 +0000 (+0000) Subject: Fix unaligned access on alpha (bug #371561 by Tobias Klausmann). Thanks to Andy Polya... X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=3fc9544d4a0a4a1eab70919d81f46d33c716deff;p=gentoo.git Fix unaligned access on alpha (bug #371561 by Tobias Klausmann). Thanks to Andy Polyakov for the fix. Package-Manager: portage-2.1.10.10/cvs/Linux x86_64 --- diff --git a/dev-libs/openssl/ChangeLog b/dev-libs/openssl/ChangeLog index 5c1cd5b3040b..7d0ab717d6fa 100644 --- a/dev-libs/openssl/ChangeLog +++ b/dev-libs/openssl/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-libs/openssl # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.399 2011/07/12 04:10:48 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.400 2011/08/12 19:35:30 slyfox Exp $ + + 12 Aug 2011; Sergei Trofimovich openssl-1.0.0d.ebuild, + +files/openssl-1.0.0d-alpha-fix-unalign.patch: + Fix unaligned access on alpha (bug #371561 by Tobias Klausmann). Thanks to + Andy Polyakov for the fix. 12 Jul 2011; Mike Frysinger files/gentoo.config-1.0.0, openssl-1.0.0d.ebuild, +files/openssl-1.0.0d-windres.patch: diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest index 291cb22acbba..cf899969491c 100644 --- a/dev-libs/openssl/Manifest +++ b/dev-libs/openssl/Manifest @@ -1,5 +1,5 @@ -----BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 +Hash: SHA1 AUX gentoo.config-0.9.8 4249 RMD160 a63c08a30dd294429c562b8e24bf2b13ba220f63 SHA1 737dbd27e39726c49e44f5e92e46bdf8a8ff9b4d SHA256 c14ff861759f4ebaeb57f37ae7df63af4dea1767eae07ef0eb42abd43cebc4a1 AUX gentoo.config-1.0.0 4699 RMD160 d0ec1c6aed0f0282d273532de68f53548dd78186 SHA1 faeca9aba6223d4ea71251beb83ba01081fab07a SHA256 7e7251bb0f97a8b28870b5fb28d54af9ee2997639d91cb90810333d4a9668407 @@ -8,6 +8,7 @@ AUX openssl-0.9.8h-ldflags.patch 1000 RMD160 1e87b16d841360d790f06d714ea5f0111e8 AUX openssl-0.9.8l-binutils.patch 2655 RMD160 d801d719b4fc4a6818313c27def8e7a184f40b99 SHA1 f7aaae0d3a0163105d495661c3a48673655a3b82 SHA256 c81d8b70e7ccbe3e7ee2fc81a4658d058301d0129adcc380c24066aa42cb390c AUX openssl-0.9.8m-binutils.patch 684 RMD160 78ee10d906423a77aff91aac2166bb5f58c386e6 SHA1 b7514556196a730541b0c99754b4ef79484e27fe SHA256 1e4475f7183ec237d129b686d4ca5265bf7eb34642e7d9e77cbe8ad9a97b4876 AUX openssl-1.0.0a-ldflags.patch 914 RMD160 1e057330b3fc84d7f799976c0ba5cce02f505f57 SHA1 9bada0fb576b4f78b046b77b77248b352e1953a6 SHA256 33f5d39e2b6464ed33654214a0148a6f6546fe319793ae04f54d2106422ddba1 +AUX openssl-1.0.0d-alpha-fix-unalign.patch 1377 RMD160 9b2c72fd9c28883b823c2df90f89b32f3854d964 SHA1 2f28ebd219bbbc8e8780d72b7aa5763354de0452 SHA256 e5f1c60ea82f22d7f388ecc9db42aa872e1329a672e41297bec2bf9b7a662244 AUX openssl-1.0.0d-alpha-typo.patch 235 RMD160 0cccd47a97bbcc9feddec767de61cba3fd7fdfd1 SHA1 03242d4019182608537a8b9019898a23949fbfcf SHA256 60d2cb4cae47b5d61aeca2b6e0ae45d82c3b2ba698df72d10ee26370abd354ab AUX openssl-1.0.0d-fbsd-amd64.patch 417 RMD160 a75ca3b792caa64e32732598f97872153db61464 SHA1 f196432d6ebac143cb39268ef65c3efd9fbc736f SHA256 c72d33d0ac88280fb444574f236fefd73db4b968d342b0fb4530cdffbe2fff5a AUX openssl-1.0.0d-windres.patch 2586 RMD160 b4fe79439aac0aa0febb027b0ace52fbf5b0a349 SHA1 4dfdaee0d15a947b054cf35e44e7dcc0f0913357 SHA256 15103c5e22a78c1f34dc83adad90636ad510df6eb1661e0063a221d8c3fd8bae @@ -15,13 +16,13 @@ DIST openssl-0.9.8r.tar.gz 3773698 RMD160 9bc8024bf7af229c5024887d6f6a368cd8b937 DIST openssl-1.0.0d.tar.gz 4025484 RMD160 0c6cdf0659d88bf4dbc6d0394059a47a01fe6846 SHA1 32ca934f380a547061ddab7221b1a34e4e07e8d5 SHA256 92511d1f0caaa298dba250426f8e7d5d00b271847886d1adc62422778d6320db DIST openssl-c_rehash.sh.1.7 4167 RMD160 c87f12c5421593d160f0cc650921c2e3412869ab SHA1 54493c80be245f2da9b7d303e49d613d376d9609 SHA256 4999ee79892f52bd6a4a7baba9fac62262454d573bbffd72685d3aae9e48cee0 EBUILD openssl-0.9.8r.ebuild 4217 RMD160 78dfdc61cab7217adee5b3444d704cd12210b8cf SHA1 64db1d963327532b5e11d87619be5ed0ed6f9a63 SHA256 6dae15ddd4b6fa2262745747fcd623631024baba79ebf115fc6b94370835dbb0 -EBUILD openssl-1.0.0d.ebuild 5994 RMD160 fe303beb183407ba0bc0b6ea84a227fa7b40936e SHA1 95e69af5f91476408b71d9025982529ced674851 SHA256 4b22d87e41fe5d308fac4cc77f827530eede9550aa786ab9dd8f344c76970fd5 -MISC ChangeLog 59777 RMD160 bd763de650d2033ebeae8bdcf940403e6174a590 SHA1 54a3e7452d4557fbc62002edd75871e60328c143 SHA256 7004a5e071349aa4ed42455d7c411144e0a830db31dad35fbb6fc0257c0b1b7f +EBUILD openssl-1.0.0d.ebuild 6061 RMD160 d86d813d661ef0a7df0184ac169642dfe2b55323 SHA1 2bc7ad533647386d28534afa8fe4b924bc6fceda SHA256 46da641b70b10005086a39b16a7196b4636209530de15700e37e8c2e6378aaf2 +MISC ChangeLog 60030 RMD160 6051ff31b7205b7d796440ef7acff88a2eee2499 SHA1 e0a7d66c57782c154911f6cc58a2de2d229ea712 SHA256 427b488e9b1c245080b117b07aac15930f5155da6cdb1c783f2c359826bcc5a7 MISC metadata.xml 290 RMD160 5aee06348916e9fbcdab233e8babb0ed08260ca5 SHA1 f798e6a59f370931dc151fcff9a473eabda44ab9 SHA256 828c7b974fc1bbac92f75490c85897b27cd3cacce021f56ad1b4ef06d28fe7bd -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) -iF4EAREIAAYFAk4byVAACgkQaC/OocHi7Jb4rQEAiGpe5LFPBzpoCTD/b9+8e4OS -jygNtPTiJ5bxWr2sO9cA/RaSJtxgVpXsZWs1tObLC6nW1Wn8m3dR/MjnyXGbVMs9 -=7IwQ +iEYEARECAAYFAk5FgU4ACgkQcaHudmEf86qG8wCggxTT5CGBrJHjXwUOOXf0K9Pz +oN8AnjcLXpE8YnJD+HrPvx5gZ7JwNcVg +=nkbY -----END PGP SIGNATURE----- diff --git a/dev-libs/openssl/files/openssl-1.0.0d-alpha-fix-unalign.patch b/dev-libs/openssl/files/openssl-1.0.0d-alpha-fix-unalign.patch new file mode 100644 index 000000000000..c8fe3301fb2a --- /dev/null +++ b/dev-libs/openssl/files/openssl-1.0.0d-alpha-fix-unalign.patch @@ -0,0 +1,59 @@ +fix unaligned access in alpha specific 'OPENSSL_cleanse' function + +Debugged with the following simple program: + // gcc cleanse_test.c -o ct -lcrypto + #include + int main(void) + { + char buffer [128]; + int off; + int sz; + for (off = 0; off < sizeof (buffer); ++off) + for (sz = 0; sz < sizeof (buffer) - off; ++sz) + OPENSSL_cleanse (buffer + off, sz); + return 0; + } + $ prctl --unaligned=signal ./cleanse_test + Bus error + +https://bugs.gentoo.org/show_bug.cgi?id=371561 +http://cvs.openssl.org/chngview?cn=21233 +Reported by Tobias Klausmann +Fixed by Andy Polyakov +diff --git a/crypto/alphacpuid.pl b/crypto/alphacpuid.pl +index 11f2e30..5b0e21b 100644 +--- a/crypto/alphacpuid.pl ++++ b/crypto/alphacpuid.pl +@@ -99,19 +99,19 @@ OPENSSL_cleanse: + beq $0,.Laligned + + .Little: ++ subq $0,8,$0 + ldq_u $1,0($16) + mov $16,$2 + .Lalign: + mskbl $1,$16,$1 + lda $16,1($16) + subq $17,1,$17 +- subq $0,1,$0 ++ addq $0,1,$0 + beq $17,.Lout + bne $0,.Lalign + .Lout: stq_u $1,0($2) + beq $17,.Ldone + bic $17,7,$at +- mov $17,$0 + beq $at,.Little + + .Laligned: +@@ -120,9 +120,7 @@ OPENSSL_cleanse: + lda $16,8($16) + bic $17,7,$at + bne $at,.Laligned +- beq $17,.Ldone +- mov $17,$0 +- br .Little ++ bne $17,.Little + .Ldone: ret ($26) + .end OPENSSL_cleanse + ___ diff --git a/dev-libs/openssl/openssl-1.0.0d.ebuild b/dev-libs/openssl/openssl-1.0.0d.ebuild index ad384aceadc8..c51b8214a298 100644 --- a/dev-libs/openssl/openssl-1.0.0d.ebuild +++ b/dev-libs/openssl/openssl-1.0.0d.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-1.0.0d.ebuild,v 1.13 2011/07/12 04:10:48 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-1.0.0d.ebuild,v 1.14 2011/08/12 19:35:30 slyfox Exp $ EAPI="2" @@ -37,6 +37,7 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-1.0.0d-alpha-typo.patch #364699 epatch "${FILESDIR}"/${PN}-1.0.0d-fbsd-amd64.patch #363089 epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743 + epatch "${FILESDIR}"/${PN}-1.0.0d-alpha-fix-unalign.patch #371561 epatch_user #332661 # disable fips in the build