DynamoRIO
Coding Tips

Ctags

By default, Exuberant Ctags' indexer misses some of DynamoRIO's symbols:

  • variables declared using macros (e.g., DynamoRIO's options in optionsx.h),
  • labels in .asm files, and
  • preprocessor definitions in .asm files.

By telling Ctags about these patterns, you can build a more comprehensive index:

ctags-exuberant '--exclude=win32/*' \
'--regex-c=/([\t](^)+)[ \t]+VAR_IN_SECTION/\1/d,definition/'\
'--regex-c=/DECLARE_[\t,](A-Z]*_VAR\(([^)*[](\t)+)*\**([,](^)+),/\2/d,definition/'\
'--regex-asm=/DECLARE_['--regex-asm=/#[ \t](A-Z_]*FUNC\((.+)\)/\1/d,definition/'\)*define[ \t]+([\t](^()+)/\1/d,definition/'\
'--regex-c++=/OPTION_?[\t](^(]*\([^,)]*,[)*([)\t](^,)+).*/\1/d,definition/'\
-R .