Fix compilation on x86/hardened (-fPIC flag), bug 376245.
authorMatt Turner <mattst88@gentoo.org>
Sun, 31 Jul 2011 16:12:40 +0000 (16:12 +0000)
committerMatt Turner <mattst88@gentoo.org>
Sun, 31 Jul 2011 16:12:40 +0000 (16:12 +0000)
Package-Manager: portage-2.1.10.3/cvs/Linux x86_64

sys-apps/cpuid/Manifest
sys-apps/cpuid/cpuid-20110305.ebuild
sys-apps/cpuid/files/cpuid-20110305-fPIC.patch [new file with mode: 0644]

index 005e43cbcc892ed972700eeea31e94d6e943142b..9bb096e8526553842df9c2556d9b0c9e712f10c2 100644 (file)
@@ -1,15 +1,16 @@
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA1
 
 AUX cpuid-20110305-Makefile.patch 1080 RMD160 8955a8e36a573214f2ede23a5c1add051806effe SHA1 5403ef1b515b1ab10cbad91b58d44d8ba9901cb2 SHA256 2f9e29e30d056660c467d5e2cc78f1be85f0a2151db9f77690f683654ec5b129
+AUX cpuid-20110305-fPIC.patch 746 RMD160 c2a1a7319432061c43ff2ae57dc56c186f0916b5 SHA1 6c36c7f9778b8e1a0e5dbab1dd07c961b4b2aa3a SHA256 9fb389a52512457934165c5d379c83c7d3ee48f30cfc7d0359becf28b4f1d55f
 DIST cpuid-20110305.src.tar.gz 59044 RMD160 2c32cf16d47b90637761a5d9da23a72dac268c2f SHA1 1aca6cbb94aa5d5a8d49b54c407a46a83dcb4460 SHA256 14b90960ecc5cf3466d0d78269365f6fc6233e1aeb3491c7d25342f20405cc7e
-EBUILD cpuid-20110305.ebuild 664 RMD160 780ba2cdc5d9fc4f407bf79c4114a4c09f45b2d0 SHA1 50b9124854cd924c109e59bb68892bda9d1e4cff SHA256 c856693f75c662e66ee0261e9cac7c16a06d99ad95fd714e4ba49ae97fb16c03
+EBUILD cpuid-20110305.ebuild 713 RMD160 ef28e2540f1a9cd2182d7b03255978e3188015e6 SHA1 3857892441693f16283020aa9981e6be53ca21bd SHA256 7f3a11fc3babbc6958e5e650f162ab6a302896cbd13a9d39b204192afb5f3f27
 MISC ChangeLog 566 RMD160 27d504074b8b30c0b549c208eaa107236aec7b40 SHA1 9a0bacd17f91dc13b5b6e36bb16363d34c27b5cd SHA256 95e58860287462ee6b2869e3d405c9aa0d2a69e548935faaf64cf360e53e019b
 MISC metadata.xml 299 RMD160 2e104f9e93f7c11fa27c83226511c841e1a3dbd4 SHA1 25472cd164d586761a84c06a7b1506c6a33c03b7 SHA256 90f87a1654ecc810fd74a96670dee08373b74500e39e378ceb0d64a9c45c6dc5
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iF4EAREIAAYFAk4q6LgACgkQodBTJSDyo65TrAD9E6AitSYq8Jam0Z4DqMq81EwU
-IEPheK7o9PjSstCD92UA/2V0aWUoBVoH5LoznwUjiYrV9Wa0EZT/Dk/nAVjR533a
-=KPqT
+iEYEARECAAYFAk41fv0ACgkQTVUdg23rv51K9QCffOYVwqJIPV7Dg5/QTyzQXduu
+QDYAnieXC5CLwgGq/nL0LGxsPZBp8OGX
+=yIl2
 -----END PGP SIGNATURE-----
index 317bfcf2d09520ef9a9b92518f98351de5546346..76204bc93588778640f11ce5995bd15498d6c050 100644 (file)
@@ -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/sys-apps/cpuid/cpuid-20110305.ebuild,v 1.2 2011/07/23 15:28:56 tomka Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/cpuid/cpuid-20110305.ebuild,v 1.3 2011/07/31 16:12:40 mattst88 Exp $
 
 EAPI="4"
 
@@ -18,6 +18,7 @@ IUSE=""
 
 src_prepare() {
        epatch "${FILESDIR}"/${P}-Makefile.patch
+       epatch "${FILESDIR}"/${P}-fPIC.patch #376245
 }
 
 src_compile() {
diff --git a/sys-apps/cpuid/files/cpuid-20110305-fPIC.patch b/sys-apps/cpuid/files/cpuid-20110305-fPIC.patch
new file mode 100644 (file)
index 0000000..80cc677
--- /dev/null
@@ -0,0 +1,24 @@
+diff -u cpuid-20110305.orig//cpuid.c cpuid-20110305/cpuid.c
+--- cpuid-20110305.orig//cpuid.c       2011-03-04 13:25:16.000000000 -0500
++++ cpuid-20110305/cpuid.c     2011-07-31 01:53:39.647437813 -0400
+@@ -5319,9 +5319,20 @@
+                      boolean       quiet)
+ {
+    if (cpuid_fd == USE_INSTRUCTION) {
++#if defined(__i386__) && defined(__PIC__)
++      asm("push %%ebx\n"
++          "cpuid\n"
++          "movl %%ebx, %1\n"
++          "pop %%ebx\n"
++#else
+       asm("cpuid"
++#endif
+           : "=a" (words[WORD_EAX]),
++#if defined(__i386__) && defined(__PIC__)
++            "=r" (words[WORD_EBX]),
++#else
+             "=b" (words[WORD_EBX]),
++#endif
+             "=c" (words[WORD_ECX]),
+             "=d" (words[WORD_EDX])
+           : "a" (reg),