Older kernels won't let us get at the vdso otherwise.
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
---
tests/ChangeLog | 4 ++++
tests/vdsosyms.c | 7 +++++++
2 files changed, 11 insertions(+)
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 909a61e..87a453d 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,7 @@
+2014-11-27 Mark Wielaard <mjw(a)redhat.com>
+
+ * vdsosyms.c (main): Call dwfl_linux_proc_attach.
+
2014-11-21 Mark Wielaard <mjw(a)redhat.com>
* run-readelf-A.sh: New test.
diff --git a/tests/vdsosyms.c b/tests/vdsosyms.c
index 831caf4..d04f36a 100644
--- a/tests/vdsosyms.c
+++ b/tests/vdsosyms.c
@@ -89,6 +89,13 @@ main (int argc __attribute__ ((unused)), char **argv __attribute__
((unused)))
else if (result > 0)
error (2, result, "dwfl_linux_proc_report");
+ /* Also explicitly attach for older kernels (cannot read vdso otherwise). */
+ result = dwfl_linux_proc_attach (dwfl, pid, false);
+ if (result < 0)
+ error (2, 0, "dwfl_linux_proc_attach: %s", dwfl_errmsg (-1));
+ else if (result > 0)
+ error (2, result, "dwfl_linux_proc_attach");
+
if (dwfl_report_end (dwfl, NULL, NULL) != 0)
error (2, 0, "dwfl_report_end: %s", dwfl_errmsg (-1));
--
1.9.3