|  | // 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"); | 
|  | } |