objtool: Move object file loading out of check()
[linux-2.6-microblaze.git] / tools / objtool / weak.c
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 int __weak check(struct objtool_file *file, bool orc)
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 }