I found that stap can't parse the member of kernel structure if its name is "function". ex) ---- probe kernel.function("add_timer_on") { printf("%x\n", $timer->function) } ---- This script causes perse errors.
The problem is with line 2165 in src/parser.cxx. It uses "expect_ident()" to fetch a piece of the target symbol expression, but since a few months ago, "function" is lexed as a tok_keyword, not an tok_identifier. The parser::expect routines need to be slightly tweaked to accept this possibility.
Created attachment 1161 [details] patch to fix issue This patch fixes the issue by allowing keywords (such as 'function') to appear in target symbol dereferences.
The patch should fix this issue.