|
12 | 12 | {"id": "def-tcp_v4_rcv", "category": "definition", "tool": "find_definition", "args": {"symbol": "tcp_v4_rcv"}, "expect": {"paths": ["net/ipv4/tcp_ipv4.c"], "top_path": ["net/ipv4/tcp_ipv4.c"]}} |
13 | 13 | {"id": "def-ext4_map_blocks", "category": "definition", "tool": "find_definition", "args": {"symbol": "ext4_map_blocks"}, "expect": {"paths": ["fs/ext4/inode.c"]}} |
14 | 14 | {"id": "def-kernel_clone", "category": "definition", "tool": "find_definition", "args": {"symbol": "kernel_clone"}, "expect": {"paths": ["kernel/fork.c"], "top_path": ["kernel/fork.c"]}} |
15 | | -# def-mutex_lock exercises ctags export recovery (v1.4.0): GNU Global's C parser |
16 | | -# derails on the sparse annotation in "static void __sched __mutex_lock_slowpath(...) |
17 | | -# __acquires(lock);" and misses the real definition at kernel/locking/mutex.c:314 — |
18 | | -# the server recovers it from the EXPORT_SYMBOL(mutex_lock) site via ctags and ranks |
19 | | -# it first. This case was a deliberate known-fail from v1.0.0 to v1.3.1. |
20 | | -{"id": "def-mutex_lock", "category": "definition", "tool": "find_definition", "args": {"symbol": "mutex_lock"}, "expect": {"paths": ["kernel/locking/mutex.c"], "top_path": ["kernel/locking/mutex.c"], "resolved_via": "ctags:EXPORT_SYMBOL"}} |
| 15 | +# def-mutex_lock was a deliberate known-fail from v1.0.0 to v1.3.1: on kernels newer |
| 16 | +# than ~v6.16, GNU Global's C parser derails on the sparse annotation in "static void |
| 17 | +# __sched __mutex_lock_slowpath(...) __acquires(lock);" and misses the real definition |
| 18 | +# at kernel/locking/mutex.c:314. Since v1.4.0 the server recovers it from the |
| 19 | +# EXPORT_SYMBOL(mutex_lock) site via ctags (resolved_via "ctags:EXPORT_SYMBOL"). |
| 20 | +# The expectation stays path-level ONLY: on old kernels the definition is indexed |
| 21 | +# natively (no recovery, no resolved_via), on new ones recovery supplies it — the |
| 22 | +# recovery mechanism itself is asserted deterministically in tests/test_server.py. |
| 23 | +{"id": "def-mutex_lock", "category": "definition", "tool": "find_definition", "args": {"symbol": "mutex_lock"}, "expect": {"paths": ["kernel/locking/mutex.c"]}} |
21 | 24 | {"id": "def-skb_clone", "category": "definition", "tool": "find_definition", "args": {"symbol": "skb_clone"}, "expect": {"paths": ["net/core/skbuff.c"], "top_path": ["net/core/skbuff.c"]}} |
22 | 25 | {"id": "def-do_dentry_open", "category": "definition", "tool": "find_definition", "args": {"symbol": "do_dentry_open"}, "expect": {"paths": ["fs/open.c"], "top_path": ["fs/open.c"]}} |
23 | 26 | {"id": "def-wait_event", "category": "definition", "tool": "find_definition", "args": {"symbol": "wait_event"}, "expect": {"paths": ["include/linux/wait.h"]}} |
|
0 commit comments