mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1 iQEcBAABAgAGBQJU9NnuAAoJEJykq7OBq3PIBPoH/3N7yHa8IC2TYJ3hR5QZpNQ/ FWzT+eO6htGFUwyz1rHNTuIBuDxueGmMGesIBJpAiahx1xQVz+qtfgcTyVoaaXCL ETXePFeDpUBl8BihYm9cVCt98pMulVP+EMNwR8TX5YeGuq6IdPYsV8oPwIdpFkkk eQqdo11fzPZaDST6ZaFn0WfnElQKHiHvzp8HqZpieMcrZ2wgOWs76pEVSph49bBA /KFxKT06Bz9yKKUHa13WeEbMFCCVfjOAJwnGYXjuX87ynXDYkT1tHdl3CuiuPPcZ csjI1bdofrr1irxvlaN4SvZcgcIWT9D1RzhDO8ZZTXDJHVGamEiqzZ+iiWI4wME= =Kw5L -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging # gpg: Signature made Mon Mar 2 21:45:18 2015 GMT using RSA key ID 81AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" * remotes/stefanha/tags/tracing-pull-request: trace: add DTrace reserved words for .d files unbreak dtrace tracing due to double _ in rdma names Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
c10b02836f
3 changed files with 32 additions and 22 deletions
|
@ -16,6 +16,19 @@ __email__ = "stefanha@linux.vnet.ibm.com"
|
|||
from tracetool import out
|
||||
|
||||
|
||||
# Reserved keywords from
|
||||
# https://wikis.oracle.com/display/DTrace/Types,+Operators+and+Expressions
|
||||
RESERVED_WORDS = (
|
||||
'auto', 'goto', 'sizeof', 'break', 'if', 'static', 'case', 'import',
|
||||
'string', 'char', 'inline', 'stringof', 'const', 'int', 'struct',
|
||||
'continue', 'long', 'switch', 'counter', 'offsetof', 'this',
|
||||
'default', 'probe', 'translator', 'do', 'provider', 'typedef',
|
||||
'double', 'register', 'union', 'else', 'restrict', 'unsigned',
|
||||
'enum', 'return', 'void', 'extern', 'self', 'volatile', 'float',
|
||||
'short', 'while', 'for', 'signed', 'xlate',
|
||||
)
|
||||
|
||||
|
||||
def generate(events, backend):
|
||||
events = [e for e in events
|
||||
if "disable" not in e.properties]
|
||||
|
@ -25,18 +38,17 @@ def generate(events, backend):
|
|||
'provider qemu {')
|
||||
|
||||
for e in events:
|
||||
args = str(e.args)
|
||||
|
||||
# DTrace provider syntax expects foo() for empty
|
||||
# params, not foo(void)
|
||||
if args == 'void':
|
||||
args = ''
|
||||
args = []
|
||||
for type_, name in e.args:
|
||||
if name in RESERVED_WORDS:
|
||||
name += '_'
|
||||
args.append(type_ + ' ' + name)
|
||||
|
||||
# Define prototype for probe arguments
|
||||
out('',
|
||||
'probe %(name)s(%(args)s);',
|
||||
name=e.name,
|
||||
args=args)
|
||||
args=','.join(args))
|
||||
|
||||
out('',
|
||||
'};')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue