@@ -64,7 +64,9 @@ def bpf_map_lookup_elem_emitter(
6464 raise ValueError (
6565 f"Map lookup expects exactly one argument (key), got { len (call .args )} "
6666 )
67- key_ptr = get_or_create_ptr_from_arg (call .args [0 ], builder , local_sym_tab )
67+ key_ptr = get_or_create_ptr_from_arg (
68+ func , module , call .args [0 ], builder , local_sym_tab , struct_sym_tab
69+ )
6870 map_void_ptr = builder .bitcast (map_ptr , ir .PointerType ())
6971
7072 fn_type = ir .FunctionType (
@@ -152,8 +154,12 @@ def bpf_map_update_elem_emitter(
152154 value_arg = call .args [1 ]
153155 flags_arg = call .args [2 ] if len (call .args ) > 2 else None
154156
155- key_ptr = get_or_create_ptr_from_arg (key_arg , builder , local_sym_tab )
156- value_ptr = get_or_create_ptr_from_arg (value_arg , builder , local_sym_tab )
157+ key_ptr = get_or_create_ptr_from_arg (
158+ func , module , key_arg , builder , local_sym_tab , struct_sym_tab
159+ )
160+ value_ptr = get_or_create_ptr_from_arg (
161+ func , module , value_arg , builder , local_sym_tab , struct_sym_tab
162+ )
157163 flags_val = get_flags_val (flags_arg , builder , local_sym_tab )
158164
159165 map_void_ptr = builder .bitcast (map_ptr , ir .PointerType ())
@@ -197,7 +203,9 @@ def bpf_map_delete_elem_emitter(
197203 raise ValueError (
198204 f"Map delete expects exactly one argument (key), got { len (call .args )} "
199205 )
200- key_ptr = get_or_create_ptr_from_arg (call .args [0 ], builder , local_sym_tab )
206+ key_ptr = get_or_create_ptr_from_arg (
207+ func , module , call .args [0 ], builder , local_sym_tab , struct_sym_tab
208+ )
201209 map_void_ptr = builder .bitcast (map_ptr , ir .PointerType ())
202210
203211 # Define function type for bpf_map_delete_elem
0 commit comments