Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ExeBy/exe_root.../opt/saltstac.../salt/include
File: ffitarget.h
/* -----------------------------------------------------------------*-C-*-
[0] Fix | Delete
ffitarget.h - Copyright (c) 2012, 2014, 2018 Anthony Green
[1] Fix | Delete
Copyright (c) 1996-2003, 2010 Red Hat, Inc.
[2] Fix | Delete
Copyright (C) 2008 Free Software Foundation, Inc.
[3] Fix | Delete
[4] Fix | Delete
Target configuration macros for x86 and x86-64.
[5] Fix | Delete
[6] Fix | Delete
Permission is hereby granted, free of charge, to any person obtaining
[7] Fix | Delete
a copy of this software and associated documentation files (the
[8] Fix | Delete
``Software''), to deal in the Software without restriction, including
[9] Fix | Delete
without limitation the rights to use, copy, modify, merge, publish,
[10] Fix | Delete
distribute, sublicense, and/or sell copies of the Software, and to
[11] Fix | Delete
permit persons to whom the Software is furnished to do so, subject to
[12] Fix | Delete
the following conditions:
[13] Fix | Delete
[14] Fix | Delete
The above copyright notice and this permission notice shall be included
[15] Fix | Delete
in all copies or substantial portions of the Software.
[16] Fix | Delete
[17] Fix | Delete
THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
[18] Fix | Delete
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
[19] Fix | Delete
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
[20] Fix | Delete
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
[21] Fix | Delete
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
[22] Fix | Delete
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
[23] Fix | Delete
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
[24] Fix | Delete
DEALINGS IN THE SOFTWARE.
[25] Fix | Delete
[26] Fix | Delete
----------------------------------------------------------------------- */
[27] Fix | Delete
[28] Fix | Delete
#ifndef LIBFFI_TARGET_H
[29] Fix | Delete
#define LIBFFI_TARGET_H
[30] Fix | Delete
[31] Fix | Delete
#ifndef LIBFFI_H
[32] Fix | Delete
#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
[33] Fix | Delete
#endif
[34] Fix | Delete
[35] Fix | Delete
/* ---- System specific configurations ----------------------------------- */
[36] Fix | Delete
[37] Fix | Delete
/* For code common to all platforms on x86 and x86_64. */
[38] Fix | Delete
#define X86_ANY
[39] Fix | Delete
[40] Fix | Delete
#if defined (X86_64) && defined (__i386__)
[41] Fix | Delete
#undef X86_64
[42] Fix | Delete
#warning ******************************************************
[43] Fix | Delete
#warning ********** X86 IS DEFINED ****************************
[44] Fix | Delete
#warning ******************************************************
[45] Fix | Delete
#define X86
[46] Fix | Delete
#endif
[47] Fix | Delete
[48] Fix | Delete
#ifdef X86_WIN64
[49] Fix | Delete
#define FFI_SIZEOF_ARG 8
[50] Fix | Delete
#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
[51] Fix | Delete
#endif
[52] Fix | Delete
[53] Fix | Delete
#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION
[54] Fix | Delete
#ifndef _MSC_VER
[55] Fix | Delete
#define FFI_TARGET_HAS_COMPLEX_TYPE
[56] Fix | Delete
#endif
[57] Fix | Delete
[58] Fix | Delete
/* ---- Generic type definitions ----------------------------------------- */
[59] Fix | Delete
[60] Fix | Delete
#ifndef LIBFFI_ASM
[61] Fix | Delete
#ifdef X86_WIN64
[62] Fix | Delete
#ifdef _MSC_VER
[63] Fix | Delete
typedef unsigned __int64 ffi_arg;
[64] Fix | Delete
typedef __int64 ffi_sarg;
[65] Fix | Delete
#else
[66] Fix | Delete
typedef unsigned long long ffi_arg;
[67] Fix | Delete
typedef long long ffi_sarg;
[68] Fix | Delete
#endif
[69] Fix | Delete
#else
[70] Fix | Delete
#if defined __x86_64__ && defined __ILP32__
[71] Fix | Delete
#define FFI_SIZEOF_ARG 8
[72] Fix | Delete
#define FFI_SIZEOF_JAVA_RAW 4
[73] Fix | Delete
typedef unsigned long long ffi_arg;
[74] Fix | Delete
typedef long long ffi_sarg;
[75] Fix | Delete
#else
[76] Fix | Delete
typedef unsigned long ffi_arg;
[77] Fix | Delete
typedef signed long ffi_sarg;
[78] Fix | Delete
#endif
[79] Fix | Delete
#endif
[80] Fix | Delete
[81] Fix | Delete
typedef enum ffi_abi {
[82] Fix | Delete
#if defined(X86_WIN64)
[83] Fix | Delete
FFI_FIRST_ABI = 0,
[84] Fix | Delete
FFI_WIN64, /* sizeof(long double) == 8 - microsoft compilers */
[85] Fix | Delete
FFI_GNUW64, /* sizeof(long double) == 16 - GNU compilers */
[86] Fix | Delete
FFI_LAST_ABI,
[87] Fix | Delete
#ifdef __GNUC__
[88] Fix | Delete
FFI_DEFAULT_ABI = FFI_GNUW64
[89] Fix | Delete
#else
[90] Fix | Delete
FFI_DEFAULT_ABI = FFI_WIN64
[91] Fix | Delete
#endif
[92] Fix | Delete
[93] Fix | Delete
#elif defined(X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
[94] Fix | Delete
FFI_FIRST_ABI = 1,
[95] Fix | Delete
FFI_UNIX64,
[96] Fix | Delete
FFI_WIN64,
[97] Fix | Delete
FFI_EFI64 = FFI_WIN64,
[98] Fix | Delete
FFI_GNUW64,
[99] Fix | Delete
FFI_LAST_ABI,
[100] Fix | Delete
FFI_DEFAULT_ABI = FFI_UNIX64
[101] Fix | Delete
[102] Fix | Delete
#elif defined(X86_WIN32)
[103] Fix | Delete
FFI_FIRST_ABI = 0,
[104] Fix | Delete
FFI_SYSV = 1,
[105] Fix | Delete
FFI_STDCALL = 2,
[106] Fix | Delete
FFI_THISCALL = 3,
[107] Fix | Delete
FFI_FASTCALL = 4,
[108] Fix | Delete
FFI_MS_CDECL = 5,
[109] Fix | Delete
FFI_PASCAL = 6,
[110] Fix | Delete
FFI_REGISTER = 7,
[111] Fix | Delete
FFI_LAST_ABI,
[112] Fix | Delete
FFI_DEFAULT_ABI = FFI_MS_CDECL
[113] Fix | Delete
#else
[114] Fix | Delete
FFI_FIRST_ABI = 0,
[115] Fix | Delete
FFI_SYSV = 1,
[116] Fix | Delete
FFI_THISCALL = 3,
[117] Fix | Delete
FFI_FASTCALL = 4,
[118] Fix | Delete
FFI_STDCALL = 5,
[119] Fix | Delete
FFI_PASCAL = 6,
[120] Fix | Delete
FFI_REGISTER = 7,
[121] Fix | Delete
FFI_MS_CDECL = 8,
[122] Fix | Delete
FFI_LAST_ABI,
[123] Fix | Delete
FFI_DEFAULT_ABI = FFI_SYSV
[124] Fix | Delete
#endif
[125] Fix | Delete
} ffi_abi;
[126] Fix | Delete
#endif
[127] Fix | Delete
[128] Fix | Delete
/* ---- Definitions for closures ----------------------------------------- */
[129] Fix | Delete
[130] Fix | Delete
#define FFI_CLOSURES 1
[131] Fix | Delete
#define FFI_GO_CLOSURES 1
[132] Fix | Delete
[133] Fix | Delete
#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
[134] Fix | Delete
#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
[135] Fix | Delete
#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
[136] Fix | Delete
#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4)
[137] Fix | Delete
[138] Fix | Delete
#if defined (X86_64) || defined(X86_WIN64) \
[139] Fix | Delete
|| (defined (__x86_64__) && defined (X86_DARWIN))
[140] Fix | Delete
/* 4 bytes of ENDBR64 + 7 bytes of LEA + 6 bytes of JMP + 7 bytes of NOP
[141] Fix | Delete
+ 8 bytes of pointer. */
[142] Fix | Delete
# define FFI_TRAMPOLINE_SIZE 32
[143] Fix | Delete
# define FFI_NATIVE_RAW_API 0
[144] Fix | Delete
#else
[145] Fix | Delete
/* 4 bytes of ENDBR32 + 5 bytes of MOV + 5 bytes of JMP + 2 unused
[146] Fix | Delete
bytes. */
[147] Fix | Delete
# define FFI_TRAMPOLINE_SIZE 16
[148] Fix | Delete
# define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
[149] Fix | Delete
#endif
[150] Fix | Delete
[151] Fix | Delete
#if !defined(GENERATE_LIBFFI_MAP) && defined(__CET__)
[152] Fix | Delete
# include <cet.h>
[153] Fix | Delete
# if (__CET__ & 1) != 0
[154] Fix | Delete
# define ENDBR_PRESENT
[155] Fix | Delete
# endif
[156] Fix | Delete
# define _CET_NOTRACK notrack
[157] Fix | Delete
#else
[158] Fix | Delete
# define _CET_ENDBR
[159] Fix | Delete
# define _CET_NOTRACK
[160] Fix | Delete
#endif
[161] Fix | Delete
[162] Fix | Delete
#endif
[163] Fix | Delete
[164] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function