1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0-or-later 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright (C) 2020 Matt Helsley <mhelsley@vmware.com> 4*4882a593Smuzhiyun * Weak definitions necessary to compile objtool without 5*4882a593Smuzhiyun * some subcommands (e.g. check, orc). 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #include <stdbool.h> 9*4882a593Smuzhiyun #include <errno.h> 10*4882a593Smuzhiyun #include "objtool.h" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #define UNSUPPORTED(name) \ 13*4882a593Smuzhiyun ({ \ 14*4882a593Smuzhiyun fprintf(stderr, "error: objtool: " name " not implemented\n"); \ 15*4882a593Smuzhiyun return ENOSYS; \ 16*4882a593Smuzhiyun }) 17*4882a593Smuzhiyun check(struct objtool_file * file)18*4882a593Smuzhiyunint __weak check(struct objtool_file *file) 19*4882a593Smuzhiyun { 20*4882a593Smuzhiyun UNSUPPORTED("check subcommand"); 21*4882a593Smuzhiyun } 22*4882a593Smuzhiyun orc_dump(const char * _objname)23*4882a593Smuzhiyunint __weak orc_dump(const char *_objname) 24*4882a593Smuzhiyun { 25*4882a593Smuzhiyun UNSUPPORTED("orc"); 26*4882a593Smuzhiyun } 27*4882a593Smuzhiyun orc_create(struct objtool_file * file)28*4882a593Smuzhiyunint __weak orc_create(struct objtool_file *file) 29*4882a593Smuzhiyun { 30*4882a593Smuzhiyun UNSUPPORTED("orc"); 31*4882a593Smuzhiyun } 32