From e218e481621b5950c0a6c79effe43dbfcef8fc1a Mon Sep 17 00:00:00 2001 From: Pragyansh Chaturvedi Date: Mon, 8 Sep 2025 22:50:14 +0530 Subject: [PATCH] Pass map_sym_tab to functions pass --- pythonbpf/codegen.py | 4 ++-- pythonbpf/functions_pass.py | 3 ++- pythonbpf/maps_pass.py | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pythonbpf/codegen.py b/pythonbpf/codegen.py index 7ce974b..7d05d3e 100644 --- a/pythonbpf/codegen.py +++ b/pythonbpf/codegen.py @@ -27,8 +27,8 @@ def processor(source_code, filename, module): for func_node in bpf_chunks: print(f"Found BPF function: {func_node.name}") - maps_proc(tree, module, bpf_chunks) - func_proc(tree, module, bpf_chunks) + map_sym_tab = maps_proc(tree, module, bpf_chunks) + func_proc(tree, module, bpf_chunks, map_sym_tab) # For now, we will parse the BPF specific parts of AST # constants_processing(tree, module) diff --git a/pythonbpf/functions_pass.py b/pythonbpf/functions_pass.py index 69b488d..cfbc04f 100644 --- a/pythonbpf/functions_pass.py +++ b/pythonbpf/functions_pass.py @@ -86,7 +86,8 @@ def process_bpf_chunk(func_node, module, return_type): return func -def func_proc(tree, module, chunks): + +def func_proc(tree, module, chunks, map_sym_tab): for func_node in chunks: is_global = False for decorator in func_node.decorator_list: diff --git a/pythonbpf/maps_pass.py b/pythonbpf/maps_pass.py index 91bfbcf..782b2f6 100644 --- a/pythonbpf/maps_pass.py +++ b/pythonbpf/maps_pass.py @@ -17,6 +17,7 @@ def maps_proc(tree, module, chunks): print(f"Found BPF map: {func_node.name}") process_bpf_map(func_node, module) continue + return map_sym_tab def create_bpf_map(module, map_name, map_params):