float vmlinux_symtab till process_func_body

This commit is contained in:
2025-10-20 22:13:38 +05:30
parent 76d0dbfbf4
commit e499c29d42
2 changed files with 6 additions and 6 deletions

View File

@ -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)

View File

@ -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
)