pass context to memory allocation

This commit is contained in:
2025-10-22 12:01:52 +05:30
parent b3921c424d
commit f2bc7f1434
2 changed files with 14 additions and 14 deletions

View File

@ -330,18 +330,6 @@ def process_func_body(
local_sym_tab = {}
# pre-allocate dynamic variables
local_sym_tab = allocate_mem(
module,
builder,
func_node.body,
func,
ret_type,
map_sym_tab,
local_sym_tab,
structs_sym_tab,
)
# Add the context parameter (first function argument) to the local symbol table
if func_node.args.args and len(func_node.args.args) > 0:
context_arg = func_node.args.args[0]
@ -371,6 +359,18 @@ def process_func_body(
local_sym_tab[context_name] = context_type
logger.info(f"Added argument '{context_name}' to local symbol table")
# pre-allocate dynamic variables
local_sym_tab = allocate_mem(
module,
builder,
func_node.body,
func,
ret_type,
map_sym_tab,
local_sym_tab,
structs_sym_tab,
)
logger.info(f"Local symbol table: {local_sym_tab.keys()}")
for stmt in func_node.body:

View File

@ -15,9 +15,9 @@ from ctypes import c_int64, c_void_p # noqa: F401
@section("tracepoint/syscalls/sys_enter_execve")
def hello_world(ctx: struct_trace_event_raw_sys_enter) -> c_int64:
a = 2 + TASK_COMM_LEN + TASK_COMM_LEN
# b = ctx
b = ctx.id
print(f"Hello, World{TASK_COMM_LEN} and {a}")
# print(f"This is context field {b}")
print(f"This is context field {b}")
return c_int64(TASK_COMM_LEN + 2)