Merge tag 'tomoyo-pr-20201012' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1
[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 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 }