diff --git a/public/asm/asm.c b/public/asm/asm.c index dff7be12..da447479 100644 --- a/public/asm/asm.c +++ b/public/asm/asm.c @@ -4,6 +4,8 @@ #define _GNU_SOURCE #include #include +#include +#include #define REG_EAX 0 #define REG_ECX 1 @@ -23,9 +25,7 @@ */ void check_thunks(unsigned char *dest, unsigned char *pc) { -#if defined WIN32 - return; -#else +#ifndef WIN32 /* Step write address back 4 to the start of the function address */ unsigned char *writeaddr = dest - 4; unsigned char *calloffset = *(unsigned char **)writeaddr; @@ -62,6 +62,10 @@ void check_thunks(unsigned char *dest, unsigned char *pc) } default: { + printf("Unknown thunk: %c\n", *(calladdr+1)); +#ifndef NDEBUG + abort(); +#endif break; } } @@ -78,8 +82,6 @@ void check_thunks(unsigned char *dest, unsigned char *pc) *(void **)writeaddr = (void *)pc; writeaddr += 4; } - - return; #endif } diff --git a/public/sm_namehashset.h b/public/sm_namehashset.h index 5b169d07..5e6fbe95 100644 --- a/public/sm_namehashset.h +++ b/public/sm_namehashset.h @@ -120,7 +120,7 @@ public: } template - void add(Insert &i, U &&value) + bool add(Insert &i, U &&value) { return table_.add(i, ke::Forward(value)); }