xref: /linux/tools/objtool/tests/generic/fixtures/static_local.c (revision fbb79ff9a6638aeb5b7a5f7db25afd033e6edd96)
1*fbb79ff9SPuranjay Mohan // SPDX-License-Identifier: GPL-2.0
2*fbb79ff9SPuranjay Mohan /* Static local in a patched function. */
3*fbb79ff9SPuranjay Mohan 
4*fbb79ff9SPuranjay Mohan static const char __modinfo[]
5*fbb79ff9SPuranjay Mohan 	__attribute__((section(".modinfo"), used, aligned(1))) = "\0name=vmlinux";
6*fbb79ff9SPuranjay Mohan 
7*fbb79ff9SPuranjay Mohan int target(int x)
8*fbb79ff9SPuranjay Mohan {
9*fbb79ff9SPuranjay Mohan 	static int counter;
10*fbb79ff9SPuranjay Mohan 
11*fbb79ff9SPuranjay Mohan 	counter += 1;
12*fbb79ff9SPuranjay Mohan #ifdef PATCHED
13*fbb79ff9SPuranjay Mohan 	return x + counter + 1;
14*fbb79ff9SPuranjay Mohan #else
15*fbb79ff9SPuranjay Mohan 	return x + counter;
16*fbb79ff9SPuranjay Mohan #endif
17*fbb79ff9SPuranjay Mohan }
18