diff options
| author | Ryan Snyder <ryan@vector35.com> | 2021-05-28 16:35:34 -0400 |
|---|---|---|
| committer | Ryan Snyder <ryan@vector35.com> | 2021-05-28 18:01:44 -0400 |
| commit | 0732c4d3e9b24382271139c6f796d1639efb1c5d (patch) | |
| tree | 70bc863d4e1321fd2d1a5a8a1e819a00b1c6b5b7 /binaryninjacore.h | |
| parent | 4c8f4c3ddb307bfd3168cf5bd573e1dffda9629b (diff) | |
Improve calling convention support for variadic argument resolution
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 71cc538d..35f653a2 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -28,14 +28,14 @@ // Current ABI version for linking to the core. This is incremented any time // there are changes to the API that affect linking, including new functions, // new types, or modifications to existing functions or types. -#define BN_CURRENT_CORE_ABI_VERSION 9 +#define BN_CURRENT_CORE_ABI_VERSION 10 // Minimum ABI version that is supported for loading of plugins. Plugins that // are linked to an ABI version less than this will not be able to load and // will require rebuilding. The minimum version is increased when there are // incompatible changes that break binary compatibility, such as changes to // existing types or functions. -#define BN_MINIMUM_CORE_ABI_VERSION 7 +#define BN_MINIMUM_CORE_ABI_VERSION 10 #ifdef __GNUC__ # ifdef BINARYNINJACORE_LIBRARY @@ -2057,6 +2057,8 @@ extern "C" BNFunction* func, BNVariable* result); void (*getParameterVariableForIncomingVariable)(void* ctxt, const BNVariable* var, BNFunction* func, BNVariable* result); + + bool (*areArgumentRegistersUsedForVarArgs)(void* ctxt); }; struct BNVariableNameAndType @@ -4661,6 +4663,7 @@ __attribute__ ((format (printf, 1, 2))) BINARYNINJACOREAPI uint32_t* BNGetIntegerArgumentRegisters(BNCallingConvention* cc, size_t* count); BINARYNINJACOREAPI uint32_t* BNGetFloatArgumentRegisters(BNCallingConvention* cc, size_t* count); BINARYNINJACOREAPI bool BNAreArgumentRegistersSharedIndex(BNCallingConvention* cc); + BINARYNINJACOREAPI bool BNAreArgumentRegistersUsedForVarArgs(BNCallingConvention* cc); BINARYNINJACOREAPI bool BNIsStackReservedForArgumentRegisters(BNCallingConvention* cc); BINARYNINJACOREAPI bool BNIsStackAdjustedOnReturn(BNCallingConvention* cc); BINARYNINJACOREAPI bool BNIsEligibleForHeuristics(BNCallingConvention* cc); |
