From 9736ec9e8469c4faaf6fa4df0e56b5a4ab424999 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 8 Jan 2020 23:53:40 +0300 Subject: Fix redefine HPM structs in multy file plugins --- src/common/HPMi.h | 6 ++++++ src/plugins/HPMHooking.h | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/src/common/HPMi.h b/src/common/HPMi.h index 7698d3ca7..3d39f06d4 100644 --- a/src/common/HPMi.h +++ b/src/common/HPMi.h @@ -241,9 +241,15 @@ struct HPMi_interface { #ifdef HERCULES_CORE #define HPM_SYMBOL(n, s) (HPM->share((s), (n)), true) #else // ! HERCULES_CORE +#ifdef HERCULES_CORE_HPMI_SKIP +extern struct HPMi_interface HPMi_s; +extern struct HPMi_interface *HPMi; +extern void *(*import_symbol) (char *name, unsigned int pID); +#else HPExport struct HPMi_interface HPMi_s; HPExport struct HPMi_interface *HPMi; HPExport void *(*import_symbol) (char *name, unsigned int pID); +#endif #define HPM_SYMBOL(n, s) ((s) = import_symbol((n),HPMi->pid)) #endif // !HERCULES_CORE diff --git a/src/plugins/HPMHooking.h b/src/plugins/HPMHooking.h index f94dccac4..39d63a50b 100644 --- a/src/plugins/HPMHooking.h +++ b/src/plugins/HPMHooking.h @@ -41,7 +41,11 @@ struct HPMHooking_core_interface { const char *(*Hooked)(bool *fr); }; #else // ! HERCULES_CORE +#ifdef HERCULES_CORE_HPMI_SKIP +extern struct HPMHooking_interface HPMHooking_s; +#else HPExport struct HPMHooking_interface HPMHooking_s; +#endif #include "HPMHooking/HPMHooking.Defs.inc" -- cgit v1.2.3-60-g2f50