Files
vatrog-vm-introspection-engine/src/handlers/semsig_stub.c
T

27 lines
1.0 KiB
C
Raw Normal View History

/* semsig_stub.c - the OFF (no-backend) path of the semantic-signature feature.
*
* Built into the library ONLY when VMIE_DISASM=OFF (the default). It provides
* the full public generic surface so the ABI is stable - linking never fails
* for a missing symbol - while the feature is not present:
* semsig_hash -> 0 (the same "no hash" sentinel as func_hash)
* semsig_backend_name -> "none"
* Callers tell "feature off" from "empty/undecodable function" via the compile-
* time macro VMIE_HAVE_DISASM (0 here), NOT via the runtime 0.
*
* In the OFF build semsig.c is NOT compiled (it calls the backend decode, which
* does not exist without a backend); this stub is the whole generic symbol. See
* CMakeLists.txt for the source-selection logic.
*/
#include <stdint.h>
#include "semsig.h"
uint64_t semsig_hash(mem_view_t fn) __attribute__((cold));
uint64_t semsig_hash(mem_view_t fn) {
(void)fn;
return 0; /* feature not built: same sentinel as func_hash */
}
const char* semsig_backend_name(void) {
return "none";
}