Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Eric Sandall (a17ca07c3e80a783d721dca6384c04e9cb0f0ae0)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Eric Sandall <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Eric Sandall (a17ca07c3e80a783d721dca6384c04e9cb0f0ae0)
  • Date: Tue, 16 Oct 2012 14:10:39 -0500

GIT changes to master grimoire by Eric Sandall <sandalle AT sourcemage.org>:

devel/strace/HISTORY | 4 +++
devel/strace/PRE_BUILD | 3 ++
devel/strace/glibc-2.15.patch | 53
++++++++++++++++++++++++++++++++++++++++++
3 files changed, 60 insertions(+)

New commits:
commit a17ca07c3e80a783d721dca6384c04e9cb0f0ae0
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>

strace: Patch to fix compilation against newer glibc

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

diff --git a/devel/strace/HISTORY b/devel/strace/HISTORY
index 04aee0a..325c2aa 100644
--- a/devel/strace/HISTORY
+++ b/devel/strace/HISTORY
@@ -1,3 +1,7 @@
+2012-10-16 Eric Sandall <sandalle AT sourcemage.org>
+ * PRE_BUILD: Apply glibc-2.15.patch
+ * glibc-2.15.patch: Patch to fix compilation against newer glibc
+
2012-05-09 Ladislav Hagara <hgr AT vabo.cz>
* DETAILS: 4.7

diff --git a/devel/strace/PRE_BUILD b/devel/strace/PRE_BUILD
index 6f54504..fea6ead 100755
--- a/devel/strace/PRE_BUILD
+++ b/devel/strace/PRE_BUILD
@@ -2,4 +2,7 @@ mk_source_dir $SOURCE_DIRECTORY &&
cd $BUILD_DIRECTORY &&
verify_file '' &&
xz -dc $SOURCE_CACHE/$SOURCE | tar -xf -
+message "${MESSAGE_COLOR}Fixing compilation with newer
glibc...${DEFAULT_COLOR}" &&
+patch "${SOURCE_DIRECTORY}"/util.c \
+ "${SCRIPT_DIRECTORY}"/glibc-2.15.patch &&
cd $SOURCE_DIRECTORY
diff --git a/devel/strace/glibc-2.15.patch b/devel/strace/glibc-2.15.patch
new file mode 100644
index 0000000..be6c4fd
--- /dev/null
+++ b/devel/strace/glibc-2.15.patch
@@ -0,0 +1,53 @@
+# From
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-util/strace/files/strace-4.7-glibc-2.15.patch?revision=1.1
+https://bugs.gentoo.org/414637
+
+From 302e8ec6cd62912a3cd6494ce6702f4ad8dae0e2 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier AT 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 AT 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



  • [SM-Commit] GIT changes to master grimoire by Eric Sandall (a17ca07c3e80a783d721dca6384c04e9cb0f0ae0), Eric Sandall, 10/16/2012

Archive powered by MHonArc 2.6.24.

Top of Page