From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5020 invoked by alias); 14 Mar 2012 01:15:26 -0000 Received: (qmail 5006 invoked by uid 22791); 14 Mar 2012 01:15:25 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 14 Mar 2012 01:15:13 +0000 From: "jistone at redhat dot com" To: systemtap@sourceware.org Subject: [Bug translator/13842] aggressive cast accessor function merging gives confusing error messages Date: Wed, 14 Mar 2012 01:15:00 -0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: systemtap X-Bugzilla-Component: translator X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jistone at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: systemtap at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: CC Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2012-q1/txt/msg00298.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=13842 Josh Stone changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jistone at redhat dot com --- Comment #1 from Josh Stone 2012-03-14 01:14:52 UTC --- (In reply to comment #0) > - It isn't a "kernel read" really, but a "user space read". This is because kderef and uderef are sharing the same DEREF_FAULT macro in runtime/loc2c-runtime.h (and ditto for STORE_DEREF_FAULT). The actual strings are subject to localization, found in translate.cxx:translate_runtime(). > - Why does the error message say (addr)? That's the macro string passed to deref, so embedded-C authors can better tell which attempt exactly led to failure. It just happens that loc2c always calls its pointers "addr", so it's not as useful there. > - If you switch the v == 1 to v == 0 (or remove the + 1 from v + 1) the error > message becomes "read fault at 0x (null) (addr)". weird... DEREF_FAULT is using the kernel's snprintf, which has this behavior for %p. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.