summaryrefslogtreecommitdiffstats
path: root/tools/objtool/weak.c
blob: 942ea5e8ac36061fc4b8935b08a79d8902115b04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (C) 2020 Matt Helsley <mhelsley@vmware.com>
 * Weak definitions necessary to compile objtool without
 * some subcommands (e.g. check, orc).
 */

#include <stdbool.h>
#include <errno.h>
#include "objtool.h"

#define __weak __attribute__((weak))

#define UNSUPPORTED(name)						\
({									\
	fprintf(stderr, "error: objtool: " name " not implemented\n");	\
	return ENOSYS;							\
})

const char __weak *objname;

int __weak check(const char *_objname, bool orc)
{
	UNSUPPORTED("check subcommand");
}

int __weak orc_dump(const char *_objname)
{
	UNSUPPORTED("orc");
}

int __weak create_orc(struct objtool_file *file)
{
	UNSUPPORTED("orc");
}

int __weak create_orc_sections(struct objtool_file *file)
{
	UNSUPPORTED("orc");
}