xref: /linux/tools/testing/selftests/bpf/progs/test_static_linked1.c (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright (c) 2021 Facebook */
3 
4 #include <linux/bpf.h>
5 #include <bpf/bpf_helpers.h>
6 
7 /* 8-byte aligned .data */
8 static volatile long static_var1 = 2;
9 static volatile int static_var2 = 3;
10 int var1 = -1;
11 /* 4-byte aligned .rodata */
12 const volatile int rovar1;
13 
14 /* same "subprog" name in both files */
15 static __noinline int subprog(int x)
16 {
17 	/* but different formula */
18 	return x * 2;
19 }
20 
21 SEC("raw_tp/sys_enter")
22 int handler1(const void *ctx)
23 {
24 	var1 = subprog(rovar1) + static_var1 + static_var2;
25 
26 	return 0;
27 }
28 
29 char LICENSE[] SEC("license") = "GPL";
30 int VERSION SEC("version") = 1;
31