From ba3030a69481e7ed78b8ec7ebedb694a5bd3b64a Mon Sep 17 00:00:00 2001 From: varun-r-mallya Date: Thu, 4 Sep 2025 10:33:43 +0530 Subject: [PATCH] Update bpf examples and remove function pass code --- examples/c-form/Makefile | 2 +- examples/c-form/example.bpf.c | 25 +++++-------------------- examples/execve.py | 3 --- pythonbpf/functions_pass.py | 29 +---------------------------- 4 files changed, 7 insertions(+), 52 deletions(-) diff --git a/examples/c-form/Makefile b/examples/c-form/Makefile index 2f83602..f834240 100644 --- a/examples/c-form/Makefile +++ b/examples/c-form/Makefile @@ -10,7 +10,7 @@ OBJECT := example.bpf.o all: $(OUT) object: $(SRC) - $(BPF_CLANG) $(CFLAGS) $< -o $(OBJECT) + $(BPF_CLANG) -O2 -target bpf -c $< -o $(OBJECT) $(OUT): $(SRC) object $(BPF_CLANG) $(CFLAGS) -S $< -o $@ diff --git a/examples/c-form/example.bpf.c b/examples/c-form/example.bpf.c index d656dda..8f4292f 100644 --- a/examples/c-form/example.bpf.c +++ b/examples/c-form/example.bpf.c @@ -2,31 +2,16 @@ #include #include -int trace_testing(void *ctx) -{ - bpf_printk("THISISACONSTANT"); - bpf_printk("THISISCONSTANT2"); - uint64_t a = 69; - bpf_printk("%d", a); - return 0; +void test_function() { + bpf_printk("test_function called"); } SEC("tracepoint/syscalls/sys_enter_execve") int trace_execve(void *ctx) { - if(ctx){ - trace_testing(ctx); - } else { - bpf_printk("THISISANOTHERCONSTANT"); - } - bpf_trace_printk("execve called\n", 15); - return 0; -} - -SEC("tracepoint/syscalls/sys_exit_execve") -int trace_randomname_exit(void *ctx) -{ - bpf_trace_printk("execve called to exit\n", 15); + bpf_printk("execve called"); + bpf_printk("execve2 called"); + test_function(); return 0; } diff --git a/examples/execve.py b/examples/execve.py index c417fa1..6f5f3d6 100644 --- a/examples/execve.py +++ b/examples/execve.py @@ -1,12 +1,10 @@ from pythonbpf.decorators import section -# from pythonbpf.decorators import tracepoint, syscalls from ctypes import c_void_p, c_int32 #This is a test function def test_function(): print("test_function called") -# @tracepoint(syscalls.sys_enter_execve) @section("tracepoint/syscalls/sys_enter_execve") def trace_execve(ctx: c_void_p) -> c_int32: print("execve called") @@ -14,5 +12,4 @@ def trace_execve(ctx: c_void_p) -> c_int32: test_function() return c_int32(0) - LICENSE = "GPL" diff --git a/pythonbpf/functions_pass.py b/pythonbpf/functions_pass.py index ee58229..e3a6102 100644 --- a/pythonbpf/functions_pass.py +++ b/pythonbpf/functions_pass.py @@ -1,32 +1,5 @@ from llvmlite import ir import ast -def emit_function(module: ir.Module, license_str: str): - license_bytes = license_str.encode("utf8") + b"\x00" - elems = [ir.Constant(ir.IntType(8), b) for b in license_bytes] - ty = ir.ArrayType(ir.IntType(8), len(elems)) - - gvar = ir.GlobalVariable(module, ty, name="LICENSE") - - gvar.initializer = ir.Constant(ty, elems) # type: ignore - - gvar.align = 1 # type: ignore - gvar.linkage = "dso_local" # type: ignore - gvar.global_constant = False - gvar.section = "license" # type: ignore - - return gvar - def functions_processing(tree, module): - bpf_functions = [] - helper_functions = [] - for node in tree.body: - section_name = "" - if isinstance(node, ast.FunctionDef): - if len(node.decorator_list) == 1: - bpf_functions.append(node) - else: - if 'helper_functions' not in locals(): - helper_functions.append(node) - - + pass