From 6d7aee59de0264b0bcaabd85498b8bb7f977cebe Mon Sep 17 00:00:00 2001 From: fche Date: Mon, 18 Dec 2006 11:31:26 +0000 Subject: 2006-12-18 Frank Ch. Eigler PR 3079 * loc2c-runtime.h (deref, store_deref): Fork x86 and x86-64 variants. Remove dysfunctional 64-bit ops from x86. 2006-12-18 Frank Ch. Eigler * vfs.stp (ppos_pos): Protect contents with deref(), though this blocks operation on i686 due to bug #3079. --- tapset/vfs.stp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'tapset/vfs.stp') diff --git a/tapset/vfs.stp b/tapset/vfs.stp index 16c51b17..b121d5b9 100644 --- a/tapset/vfs.stp +++ b/tapset/vfs.stp @@ -37,7 +37,12 @@ function __find_bdevname(dev, bdev) function ppos_pos:long (ppos:long) %{ /* pure */ loff_t *ppos = (loff_t *)(long)THIS->ppos; - THIS->__retvalue = (int64_t)*ppos; + /* XXX: but see bug #3079 */ + THIS->__retvalue = (int64_t) deref (sizeof(loff_t), ppos); + if (0) { +deref_fault: + CONTEXT->last_error = "pointer dereference fault"; + } %} function __page_ino:long (page:long) %{ /* pure */ -- cgit