This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/20672] New: buildok/dentry-embedded.stp regression
- From: "mcermak at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Fri, 07 Oct 2016 13:30:32 +0000
- Subject: [Bug translator/20672] New: buildok/dentry-embedded.stp regression
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=20672
Bug ID: 20672
Summary: buildok/dentry-embedded.stp regression
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: translator
Assignee: systemtap at sourceware dot org
Reporter: mcermak at redhat dot com
Target Milestone: ---
On rhel6, buildok/dentry-embedded.stp regressed. The new error is:
=======
spawn stap -p4 --compatible=2.9
/root/systemtap/testsuite/buildok/dentry-embedded.stp
semantic error: while processing function real_mount
semantic error: type definition 'mount' not found in 'kernel': operator '@cast'
at /usr/local/share/systemtap/tapset/type_defined.stpm:6:16
source: @defined(& @cast(0, @type) -> @member)
^
in expansion of macro: operator '@type_member_defined' at
/usr/local/share/systemtap/tapset/linux/dentry.stp:160:6
source: if (@type_member_defined("mount", mnt_parent)) {
^
Pass 2: analysis failed. [man error::pass2]
wait results: 12735 exp6 0 1
FAIL: buildok/dentry-embedded.stp
=======
The regression seems to be caused by following commit:
=======
commit 056cb27baac1ce3ab4d675dbbe4881afde801ca3
Author: Frank Ch. Eigler <fche@redhat.com>
Date: Wed Jun 22 11:43:33 2016 -0400
PR18079: support nested autocast / @defined
We now perform const-folding & dead-code-elision during the type
resolution loop, whenever an autocast expression gets evaluated. This
way, @defined(foo()->mm) type expressions can work as nature intended.
This requires @defined() not to be short-circuit evaluated to 0 during
a random const_folding process, so a flag is introduced to control its
preservation or collapsing. For the last (assert_resolvability) pass
in the type resolution loop, this flag is set to true, so that
genuinely unresolvable @defined($expressions) do get mapped to 0 in
time for a last elision.
=======
--
You are receiving this mail because:
You are the assignee for the bug.