summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-05-13 19:47:13 +0000
committerMike Frysinger <vapier@gentoo.org>2012-05-13 19:47:13 +0000
commit04e5e5b9ffbc1c3f78e35a29db41bf27036c462b (patch)
treeb3fb4b3b12edf888108be5a3bc10480e5c0805e6 /dev-util/strace
parentkeyword ~amd64-fbsd (diff)
downloadhistorical-04e5e5b9ffbc1c3f78e35a29db41bf27036c462b.tar.gz
historical-04e5e5b9ffbc1c3f78e35a29db41bf27036c462b.tar.bz2
historical-04e5e5b9ffbc1c3f78e35a29db41bf27036c462b.zip
Fix building with glibc-2.15 and old kernel headers #414637 by toogle.
Package-Manager: portage-2.2.0_alpha102/cvs/Linux x86_64
Diffstat (limited to 'dev-util/strace')
-rw-r--r--dev-util/strace/ChangeLog6
-rw-r--r--dev-util/strace/Manifest31
-rw-r--r--dev-util/strace/files/strace-4.7-glibc-2.15.patch53
-rw-r--r--dev-util/strace/strace-4.7.ebuild4
4 files changed, 77 insertions, 17 deletions
diff --git a/dev-util/strace/ChangeLog b/dev-util/strace/ChangeLog
index 59bcb60d6945..c719c8e32eb5 100644
--- a/dev-util/strace/ChangeLog
+++ b/dev-util/strace/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-util/strace
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/strace/ChangeLog,v 1.175 2012/05/02 21:59:12 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/strace/ChangeLog,v 1.176 2012/05/13 19:47:13 vapier Exp $
+
+ 13 May 2012; Mike Frysinger <vapier@gentoo.org>
+ +files/strace-4.7-glibc-2.15.patch, strace-4.7.ebuild:
+ Fix building with glibc-2.15 and old kernel headers #414637 by toogle.
*strace-4.7 (02 May 2012)
diff --git a/dev-util/strace/Manifest b/dev-util/strace/Manifest
index 3d63cd1757f2..95016feb0bb4 100644
--- a/dev-util/strace/Manifest
+++ b/dev-util/strace/Manifest
@@ -2,6 +2,7 @@
Hash: SHA1
AUX strace-4.5.20-sparc.patch 1767 RMD160 d5e63a7fe6e86a456291a94b0326c50021e7cd0e SHA1 3a34671cfe0aab2a4cd11b9751af944e9b43643c SHA256 5a0f499f0953167d9afc38cccc2cef4db6a3a6d4ab89d10b0b4feaa810ffcd55
+AUX strace-4.7-glibc-2.15.patch 2054 RMD160 e7f2457250f1bacea3bae0f7e4360c313e877a0c SHA1 cd59d4f7569141d69c5c534655af2edef2f7993a SHA256 10ebfd214b796a2600ec4482ff47e654502e6c1daef0025285878cfa1034d617
DIST strace-4.5.19.tar.bz2 499565 RMD160 6083c170d51f7218a6a997f26017881da06ffa65 SHA1 5554c2fd8ffae5c1e2b289b2024aa85a0889c989 SHA256 8997ce919e971b0ec45cd7006c6e1f9c7c0bce68ab59e3a629e1ddeda5013d08
DIST strace-4.5.20-ioctls.patch.bz2 3497 RMD160 8e7a12ba6d8454899c3cda4ce9254ee0ee7251ef SHA1 5a90a877df4269121dcb53568092dc0b6cead590 SHA256 41235dbda6cc054b6f0c65a860be25e3d1723dff53f553e4a87e41ecb5bd8250
DIST strace-4.5.20.tar.bz2 504078 RMD160 4487e77c8be01b295d5aaa6377552035cc333e56 SHA1 3f5c8874610d7e3d13fc1c8b2e5fb5513468c45a SHA256 ea8c059369eaa5ad90b246f34eab247d0ee48bfdee2670c7196320a4669ccabd
@@ -12,24 +13,24 @@ EBUILD strace-4.5.19.ebuild 948 RMD160 ff17ce97703bb3738baa67cdd80b698444fcc913
EBUILD strace-4.5.20-r2.ebuild 1149 RMD160 bf99a7511ebaf80d62b821a50fec822e6f245a2e SHA1 f9790015d0734036d19787d5f512dfe9c4a738cf SHA256 899be1758390897548d9e723414b34e5f637ddc2bd70bb3eb7cf276c40e0d614
EBUILD strace-4.5.20.ebuild 985 RMD160 acc48303beff6684ef67de328dcc6e4418d8ec6c SHA1 021c09901cdfc0c59acc50f91606216e8592763a SHA256 196019d7d1bf70afcac6a864658ca6a7a9857a3f002c82de9c9224df3c7309d6
EBUILD strace-4.6.ebuild 1120 RMD160 e70855b27dcd894d84c5d81340a778624877cb0e SHA1 0562101af57dd9b9ec30c02c11f82e9b01b1957f SHA256 b2b175a7e1431e7de9406ee6512953bd5e40c8b326079c036c2446dd3e933d28
-EBUILD strace-4.7.ebuild 1170 RMD160 d1ee111dee8d3c19b533939a1ea950dae305d55b SHA1 758e73449dcbca4379a4b2be6c4fdbf02a69cf6b SHA256 0bd9f79bb95b9cf0d48ec3be79d4cdfb7bd9cf8626e86178405da2ec61dd3874
+EBUILD strace-4.7.ebuild 1223 RMD160 189d9d2c9c63d6d4cddde58f9294ce6bde6ece7e SHA1 31a8d6e027d6d84d730f41372f16bb740b31be29 SHA256 2616a1b2beeab8cf6bc422d948128e450553125f98735526ae717a2ea030e22d
EBUILD strace-9999.ebuild 1171 RMD160 e7cefbfbf76c44725726a365fd705dae09cf8724 SHA1 aa8942573b98f695ed7f336bc00eeb89d750f064 SHA256 45cc7cef74d8ee829bb91ea75f16e96cdb3fda471531fe9dabdbbad87769eebb
-MISC ChangeLog 21439 RMD160 00a9fb6ac2a0056b71f6a8603770a3b8e9fe54f8 SHA1 9cc3e4f0d6aeefde720fd14fb5042b13d4c82bf7 SHA256 7cdb7c934f4ea51c52f1a05154fd75a08bb4a8460c9370b46c6813739d8b5d6f
+MISC ChangeLog 21620 RMD160 aec6370bffaf6ccd1901dfd6c41c647be87cef5e SHA1 d6543c3b93778e726050d88e176f3aaf06da6f94 SHA256 9603e7a671b63e0f23f3826b7df6912dcee4783d98c806589b09d222238a6220
MISC metadata.xml 305 RMD160 ed1d067d66dd131d59969b860499d0fce57607c0 SHA1 cd9f222dbb66e50615d007d36d83a45187c25671 SHA256 bd45e0108da45e19fd1d940ab451b2195fb9dc21d4c397435e2ca9c1848845ce
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQIcBAEBAgAGBQJPoa5lAAoJELEHsLL7fEFWvdEP/iUwJCWtcuPR5cbuCDoOxB29
-cAV6mA1MqGLkDpUr+C25bPaR+HaycBSHJp1wv/koko/bmR2g/Ax/ngE9mXW6lSoh
-lZCHp10K3+SWCybwjVqUVfgRtVS4dCgQVIX8yjZaQfjPCeYOmYwHU9wUgPgPF9Tp
-bYdpwIxOkfaDylUeQvPWBjrHGbmPMv7fXS6DoXb2843XNw9SbyPt/FRpAIJhGdrp
-VOyHWVpy4DdqnQCB3SRcAZ5C8Umzzx+0zcnpWjK7VTVuLP1AiPpgahGRbwQg+r8v
-YJ9pGiryKHWTvAY8H4U3AZUwP4buGp8mmHbV2nV/ickbZ4jcNw26SUnavKoQFtu3
-Vlpjt+nd2GOdncUasKUdMwuDcMCznPyagn2DoiqavQPQGkJRs+uawn6a6Xr5OOKd
-lRI537xOv5zPHB9o4JvHgKhRis/PKlnJq0RNXx8YvSPnbp9Y0rwC0bJBUr54asbV
-rEICoK87d4Et2EDl82AX2tSnqdO9Zz177C140xQp7Me6hnbpVdLqMAYS5UgVduqZ
-Busjd3Bt/J46azzHvlgVXYJVbLeJxpXhRiIyZCH/hgbDzggitAfCPGmVNvRolzvO
-qaKPOCgHrzoL22y5CvY76VWsHyjVsyRK7bHNW08cSHI3XQh4DxgQI2QWiA6YHsPP
-5rLKJ/ipdw6yTTTEnEnc
-=Y9u0
+iQIcBAEBAgAGBQJPsA/iAAoJELEHsLL7fEFWt+sP/jdjbma7kjBAdNrA/rZeeSad
+KIrYZIBtA8Dg1kCMoozSi5Fy9V+G9MKQZJEaDPcNlyDSjlIZL8+qnk/4TCsme/be
+GbCvhKIHojmb2ebaXqHTp9Kqmvf56U0aXaZgL4rSSrZ7WT5HKbq1k6IQAzKLP0RW
+31MfQiJoEZ/3eMdkdvpBMhmTJNZj8sTnvabF4F5SfwzYLRQneRrmALxi0jONf7pf
+4W3VP67mS1KzNVndQhB7zvjQLfmM+/UuaQ+t6NIHHqeHaS98kUHSH021RKJoWz05
+17z/Ow3Kwm8V3k9YRTaYsuJqXQ6v9FSwG+N6V28zSqKvM5nS799UbTpOr/U+alv0
+14yuFzNLUkch52fA0uL5wm41TMD7/htZMdGhmUZjwFj21KBlToUs2RAlvXOFjYe3
+j2cusOsobaPyGd+5MWINjXt/SAhRy4LC2R3FbsE/gJmlNSzuI3HE5DdflEXWD8Tr
+D/VQO5B2Ox6XTsdyFHa7a0oowNMzNkAFoEa89FHQUBQDDiQOqfFhl9d7iTAfyzP5
+6Fhk3BqzT2TcVY0SZkd5tFEAKji4QfsLOq/e2Sn+Kpx2j7Hgi0OMWclhwXKoZ6ps
+3ErDEjw9rLfKqqaOKFg03w+YOxDVb6snhTe/USqrKVNFxOhk0wQLSLdNz+mwhgN2
+WsROyeN12+i2RWeQmhju
+=Kxu5
-----END PGP SIGNATURE-----
diff --git a/dev-util/strace/files/strace-4.7-glibc-2.15.patch b/dev-util/strace/files/strace-4.7-glibc-2.15.patch
new file mode 100644
index 000000000000..c23a86ff98a1
--- /dev/null
+++ b/dev-util/strace/files/strace-4.7-glibc-2.15.patch
@@ -0,0 +1,53 @@
+https://bugs.gentoo.org/414637
+
+From 302e8ec6cd62912a3cd6494ce6702f4ad8dae0e2 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 4 May 2012 19:30:59 -0400
+Subject: [PATCH] util: fix building when glibc has a stub process_vm_readv
+
+If you have a newer glibc which provides process_vm_readv, but it is built
+against older kernel headers which lack __NR_process_vm_readv, the library
+will contain a stub implementation that just returns ENOSYS. Autoconf
+checks for this case explicitly and will declare it as unavailable. So we
+end up in a case where the headers provide the prototype, but autoconf has
+not defined HAVE_PROCESS_VM_READV, so we hit the same build failure again:
+
+util.c:738:16: error: static declaration of 'process_vm_readv' follows non-static declaration
+/usr/include/bits/uio.h:58:16: note: previous declaration of 'process_vm_readv' was here
+
+So rename our local function to something unique, and add a define so the
+callers all hit the right place.
+
+* util.c (strace_process_vm_readv): Rename from process_vm_readv.
+(process_vm_readv): Define to strace_process_vm_readv.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ util.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/util.c b/util.c
+index d347bd8..f27acdf 100644
+--- a/util.c
++++ b/util.c
+@@ -735,7 +735,8 @@ static bool process_vm_readv_not_supported = 0;
+
+ #if defined(__NR_process_vm_readv)
+ static bool process_vm_readv_not_supported = 0;
+-static ssize_t process_vm_readv(pid_t pid,
++/* Have to avoid duplicating with the C library headers. */
++static ssize_t strace_process_vm_readv(pid_t pid,
+ const struct iovec *lvec,
+ unsigned long liovcnt,
+ const struct iovec *rvec,
+@@ -744,6 +745,7 @@ static ssize_t process_vm_readv(pid_t pid,
+ {
+ return syscall(__NR_process_vm_readv, (long)pid, lvec, liovcnt, rvec, riovcnt, flags);
+ }
++#define process_vm_readv strace_process_vm_readv
+ #else
+ static bool process_vm_readv_not_supported = 1;
+ # define process_vm_readv(...) (errno = ENOSYS, -1)
+--
+1.7.9.7
+
diff --git a/dev-util/strace/strace-4.7.ebuild b/dev-util/strace/strace-4.7.ebuild
index eceadf626634..86659664de04 100644
--- a/dev-util/strace/strace-4.7.ebuild
+++ b/dev-util/strace/strace-4.7.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/strace/strace-4.7.ebuild,v 1.1 2012/05/02 21:59:12 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/strace/strace-4.7.ebuild,v 1.2 2012/05/13 19:47:13 vapier Exp $
EAPI="4"
@@ -33,6 +33,8 @@ src_prepare() {
[[ ! -e CREDITS ]] && cp CREDITS{.in,}
fi
+ epatch "${FILESDIR}"/${P}-glibc-2.15.patch #414637
+
filter-lfs-flags # configure handles this sanely
use static && append-ldflags -static