|
IDA SDK
|
Used by idainfo::abibits.
Macros | |
| #define | ABI_8ALIGN4 0x00000001 |
| 4 byte alignment for 8byte scalars (__int64/double) inside structures? | |
| #define | ABI_PACK_STKARGS 0x00000002 |
| do not align stack arguments to stack slots | |
| #define | ABI_BIGARG_ALIGN 0x00000004 |
| use natural type alignment for argument if the alignment exceeds native word size. More... | |
| #define | ABI_STACK_LDBL 0x00000008 |
| long double arguments are passed on stack | |
| #define | ABI_STACK_VARARGS 0x00000010 |
| varargs are always passed on stack (even when there are free registers) | |
| #define | ABI_HARD_FLOAT 0x00000020 |
| use the floating-point register set | |
| #define | ABI_SET_BY_USER 0x00000040 |
| compiler/abi were set by user flag and require SETCOMP_BY_USER flag to be changed | |
| #define | ABI_GCC_LAYOUT 0x00000080 |
| use gcc layout for udts (used for mingw) | |
| #define | ABI_MAP_STKARGS 0x00000100 |
| register arguments are mapped to stack area (and consume stack slots) | |
| #define | ABI_HUGEARG_ALIGN 0x00000200 |
| use natural type alignment for an argument even if its alignment exceeds double native word size (the default is to use double word max). More... | |
| #define ABI_BIGARG_ALIGN 0x00000004 |
use natural type alignment for argument if the alignment exceeds native word size.
(e.g. __int64 argument should be 8byte aligned on some 32bit platforms)
| #define ABI_HUGEARG_ALIGN 0x00000200 |
use natural type alignment for an argument even if its alignment exceeds double native word size (the default is to use double word max).
e.g. if this bit is set, __int128 has 16-byte alignment. this bit is not used by ida yet