xref: /linux-6.15/tools/objtool/weak.c (revision c8ea0d67)
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Copyright (C) 2020 Matt Helsley <[email protected]>
4  * Weak definitions necessary to compile objtool without
5  * some subcommands (e.g. check, orc).
6  */
7 
8 #include <stdbool.h>
9 #include <errno.h>
10 #include "objtool.h"
11 
12 #define __weak __attribute__((weak))
13 
14 #define UNSUPPORTED(name)						\
15 ({									\
16 	fprintf(stderr, "error: objtool: " name " not implemented\n");	\
17 	return ENOSYS;							\
18 })
19 
20 int __weak check(struct objtool_file *file)
21 {
22 	UNSUPPORTED("check subcommand");
23 }
24 
25 int __weak orc_dump(const char *_objname)
26 {
27 	UNSUPPORTED("orc");
28 }
29 
30 int __weak create_orc(struct objtool_file *file)
31 {
32 	UNSUPPORTED("orc");
33 }
34 
35 int __weak create_orc_sections(struct objtool_file *file)
36 {
37 	UNSUPPORTED("orc");
38 }
39