18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (C) 2020 Matt Helsley <mhelsley@vmware.com>
48c2ecf20Sopenharmony_ci * Weak definitions necessary to compile objtool without
58c2ecf20Sopenharmony_ci * some subcommands (e.g. check, orc).
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#include <stdbool.h>
98c2ecf20Sopenharmony_ci#include <errno.h>
108c2ecf20Sopenharmony_ci#include "objtool.h"
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#define UNSUPPORTED(name)						\
138c2ecf20Sopenharmony_ci({									\
148c2ecf20Sopenharmony_ci	fprintf(stderr, "error: objtool: " name " not implemented\n");	\
158c2ecf20Sopenharmony_ci	return ENOSYS;							\
168c2ecf20Sopenharmony_ci})
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciint __weak check(struct objtool_file *file)
198c2ecf20Sopenharmony_ci{
208c2ecf20Sopenharmony_ci	UNSUPPORTED("check subcommand");
218c2ecf20Sopenharmony_ci}
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciint __weak orc_dump(const char *_objname)
248c2ecf20Sopenharmony_ci{
258c2ecf20Sopenharmony_ci	UNSUPPORTED("orc");
268c2ecf20Sopenharmony_ci}
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciint __weak orc_create(struct objtool_file *file)
298c2ecf20Sopenharmony_ci{
308c2ecf20Sopenharmony_ci	UNSUPPORTED("orc");
318c2ecf20Sopenharmony_ci}
32