xref: /openbmc/linux/tools/objtool/weak.c (revision 34facb04)
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Copyright (C) 2020 Matt Helsley <mhelsley@vmware.com>
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 const char __weak *objname;
21 
22 int __weak check(const char *_objname, bool orc)
23 {
24 	UNSUPPORTED("check subcommand");
25 }
26 
27 int __weak orc_dump(const char *_objname)
28 {
29 	UNSUPPORTED("orc");
30 }
31 
32 int __weak create_orc(struct objtool_file *file)
33 {
34 	UNSUPPORTED("orc");
35 }
36 
37 int __weak create_orc_sections(struct objtool_file *file)
38 {
39 	UNSUPPORTED("orc");
40 }
41