From e499c29d424ab878b21341039ec601a9050276ff Mon Sep 17 00:00:00 2001 From: varun-r-mallya Date: Mon, 20 Oct 2025 22:13:38 +0530 Subject: [PATCH] float vmlinux_symtab till process_func_body --- pythonbpf/codegen.py | 3 +-- pythonbpf/functions/functions_pass.py | 9 +++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pythonbpf/codegen.py b/pythonbpf/codegen.py index beac470..287fef9 100644 --- a/pythonbpf/codegen.py +++ b/pythonbpf/codegen.py @@ -59,10 +59,9 @@ def processor(source_code, filename, module): populate_global_symbol_table(tree, module) license_processing(tree, module) globals_processing(tree, module) - print("DEBUG:", vmlinux_symtab) structs_sym_tab = structs_proc(tree, module, bpf_chunks) map_sym_tab = maps_proc(tree, module, bpf_chunks) - func_proc(tree, module, bpf_chunks, map_sym_tab, structs_sym_tab) + func_proc(tree, module, bpf_chunks, map_sym_tab, structs_sym_tab, vmlinux_symtab) globals_list_creation(tree, module) diff --git a/pythonbpf/functions/functions_pass.py b/pythonbpf/functions/functions_pass.py index 8d0bce1..6e06de7 100644 --- a/pythonbpf/functions/functions_pass.py +++ b/pythonbpf/functions/functions_pass.py @@ -311,7 +311,7 @@ def process_stmt( def process_func_body( - module, builder, func_node, func, ret_type, map_sym_tab, structs_sym_tab + module, builder, func_node, func, ret_type, map_sym_tab, structs_sym_tab, vmlinux_symtab ): """Process the body of a bpf function""" # TODO: A lot. We just have print -> bpf_trace_printk for now @@ -350,7 +350,7 @@ def process_func_body( builder.ret(ir.Constant(ir.IntType(64), 0)) -def process_bpf_chunk(func_node, module, return_type, map_sym_tab, structs_sym_tab): +def process_bpf_chunk(func_node, module, return_type, map_sym_tab, structs_sym_tab, vmlinux_symtab): """Process a single BPF chunk (function) and emit corresponding LLVM IR.""" func_name = func_node.name @@ -384,7 +384,7 @@ def process_bpf_chunk(func_node, module, return_type, map_sym_tab, structs_sym_t builder = ir.IRBuilder(block) process_func_body( - module, builder, func_node, func, ret_type, map_sym_tab, structs_sym_tab + module, builder, func_node, func, ret_type, map_sym_tab, structs_sym_tab, vmlinux_symtab ) return func @@ -394,7 +394,7 @@ def process_bpf_chunk(func_node, module, return_type, map_sym_tab, structs_sym_t # ============================================================================ -def func_proc(tree, module, chunks, map_sym_tab, structs_sym_tab): +def func_proc(tree, module, chunks, map_sym_tab, structs_sym_tab, vmlinux_symtab): for func_node in chunks: if is_global_function(func_node): continue @@ -407,6 +407,7 @@ def func_proc(tree, module, chunks, map_sym_tab, structs_sym_tab): ctypes_to_ir(infer_return_type(func_node)), map_sym_tab, structs_sym_tab, + vmlinux_symtab )