(In reply to comment #2)
> commit 8095a15
After this commit sdt_misc.exp started showing the following FAIL on x86_64 with 4.6.2 20111027 (Red Hat 4.6.2-1):
FAIL: sdt_misc asm (64) asm m
This corresponds to the following SDT note in sdt_asm.x:
stapsdt 73 Version: 3
PC: 0x4004cb, Base: 0x4006a8, Semaphore: 0
Provider: provider, Name: memory, Args: '-4(%rbp) -8+4(%rbp) -8+3+1(%rbp)'
And shows up in systemtap.log as:
FAIL: memory ((7|7|1792) != 7)
(Note, this is slightly confusing, the sdt_asm.stp outputs PASS/FAIL: strings which go into systemtap.log and are different from the sdt_misc.exp PASS/FAIL strings which go into systemtap.sum)
(Note2, sdt_misc.exp is huge, it would not be a bad idea to split it up in separate .exp tests.)

I was testing my implementation of the SystemTap probe argument parser on GDB, specifically trying to parse `(%rcx,%rax,8)'. I decided to compare the obtained result from GDB with the result from SystemTap, and for that I have used the command specified here:
stap -e 'probe process("/home/sergio/programs/bin/stap").mark("cache__clean") { println($arg1) }'
However, I still see the error message:
WARNING: Can't parse SDT_V3 operand '(%rcx,%rax,8)': identifier '$arg1' at <input>:1:80
source: probe process("/home/sergio/programs/bin/stap").mark("cache__clean") { println($arg1) }
^
semantic error: unable to find local 'arg1' near pc 0x4fb700 in <unknown> ../../../systemtap/cache.cxx ( (alternatives: $j): identifier '$arg1' at :1:80
source: probe process("/home/sergio/programs/bin/stap").mark("cache__clean") { println($arg1) }
^
Pass 2: analysis failed. Try again with another '--vp 01' option.
I am using the following version of SystemTap:
Systemtap translator/driver (version 1.7/0.152 commit release-1.6-556-gbfffa44)
Copyright (C) 2005-2011 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
enabled features: LIBRPM BOOST_SHARED_PTR TR1_UNORDERED_MAP NLS
I am not sure if I am doing something wrong, but I believe this error should have been fixed by the commits listed here, right?

# stap -e 'probe process("/home/sergio/programs/bin/stap").mark("cache__clean")
# { println($arg1) }'
Is it possible that the version of stap you invoked is not the /home/sergio/..
new one, but the older system version? i.e., try
# /home/sergio/programs/bin/stap -e ....