prefix cs_ to global variables to avoid link problems (#1102)

This commit is contained in:
Alberto Garcia Illera 2018-03-19 15:23:09 +01:00 committed by Nguyen Anh Quynh
parent a1659e996c
commit 5f173b0562
10 changed files with 45 additions and 45 deletions

View File

@ -43,10 +43,10 @@ static void destroy(cs_struct *handle)
void AArch64_enable(void) void AArch64_enable(void)
{ {
arch_init[CS_ARCH_ARM64] = init; cs_arch_init[CS_ARCH_ARM64] = init;
arch_option[CS_ARCH_ARM64] = option; cs_arch_option[CS_ARCH_ARM64] = option;
arch_destroy[CS_ARCH_ARM64] = destroy; cs_arch_destroy[CS_ARCH_ARM64] = destroy;
arch_disallowed_mode_mask[CS_ARCH_ARM64] = ~(CS_MODE_LITTLE_ENDIAN | CS_MODE_ARM | CS_MODE_BIG_ENDIAN); cs_arch_disallowed_mode_mask[CS_ARCH_ARM64] = ~(CS_MODE_LITTLE_ENDIAN | CS_MODE_ARM | CS_MODE_BIG_ENDIAN);
// support this arch // support this arch
all_arch |= (1 << CS_ARCH_ARM64); all_arch |= (1 << CS_ARCH_ARM64);

View File

@ -62,10 +62,10 @@ static void destroy(cs_struct *handle)
void ARM_enable(void) void ARM_enable(void)
{ {
arch_init[CS_ARCH_ARM] = init; cs_arch_init[CS_ARCH_ARM] = init;
arch_option[CS_ARCH_ARM] = option; cs_arch_option[CS_ARCH_ARM] = option;
arch_destroy[CS_ARCH_ARM] = destroy; cs_arch_destroy[CS_ARCH_ARM] = destroy;
arch_disallowed_mode_mask[CS_ARCH_ARM] = ~(CS_MODE_LITTLE_ENDIAN | cs_arch_disallowed_mode_mask[CS_ARCH_ARM] = ~(CS_MODE_LITTLE_ENDIAN |
CS_MODE_ARM | CS_MODE_V8 | CS_MODE_MCLASS | CS_MODE_THUMB | CS_MODE_ARM | CS_MODE_V8 | CS_MODE_MCLASS | CS_MODE_THUMB |
CS_MODE_BIG_ENDIAN); CS_MODE_BIG_ENDIAN);

View File

@ -62,10 +62,10 @@ static void destroy(cs_struct *handle)
void Mips_enable(void) void Mips_enable(void)
{ {
arch_init[CS_ARCH_MIPS] = init; cs_arch_init[CS_ARCH_MIPS] = init;
arch_option[CS_ARCH_MIPS] = option; cs_arch_option[CS_ARCH_MIPS] = option;
arch_destroy[CS_ARCH_MIPS] = destroy; cs_arch_destroy[CS_ARCH_MIPS] = destroy;
arch_disallowed_mode_mask[CS_ARCH_MIPS] = ~(CS_MODE_LITTLE_ENDIAN | cs_arch_disallowed_mode_mask[CS_ARCH_MIPS] = ~(CS_MODE_LITTLE_ENDIAN |
CS_MODE_32 | CS_MODE_64 | CS_MODE_MICRO | CS_MODE_MIPS32R6 | CS_MODE_32 | CS_MODE_64 | CS_MODE_MICRO | CS_MODE_MIPS32R6 |
CS_MODE_MIPSGP64 | CS_MODE_BIG_ENDIAN); CS_MODE_MIPSGP64 | CS_MODE_BIG_ENDIAN);

View File

@ -47,10 +47,10 @@ static void destroy(cs_struct *handle)
void PPC_enable(void) void PPC_enable(void)
{ {
arch_init[CS_ARCH_PPC] = init; cs_arch_init[CS_ARCH_PPC] = init;
arch_option[CS_ARCH_PPC] = option; cs_arch_option[CS_ARCH_PPC] = option;
arch_destroy[CS_ARCH_PPC] = destroy; cs_arch_destroy[CS_ARCH_PPC] = destroy;
arch_disallowed_mode_mask[CS_ARCH_PPC] = ~(CS_MODE_LITTLE_ENDIAN | cs_arch_disallowed_mode_mask[CS_ARCH_PPC] = ~(CS_MODE_LITTLE_ENDIAN |
CS_MODE_32 | CS_MODE_64 | CS_MODE_BIG_ENDIAN); CS_MODE_32 | CS_MODE_64 | CS_MODE_BIG_ENDIAN);
// support this arch // support this arch

View File

@ -47,10 +47,10 @@ static void destroy(cs_struct *handle)
void Sparc_enable(void) void Sparc_enable(void)
{ {
arch_init[CS_ARCH_SPARC] = init; cs_arch_init[CS_ARCH_SPARC] = init;
arch_option[CS_ARCH_SPARC] = option; cs_arch_option[CS_ARCH_SPARC] = option;
arch_destroy[CS_ARCH_SPARC] = destroy; cs_arch_destroy[CS_ARCH_SPARC] = destroy;
arch_disallowed_mode_mask[CS_ARCH_SPARC] = cs_arch_disallowed_mode_mask[CS_ARCH_SPARC] =
~(CS_MODE_BIG_ENDIAN | CS_MODE_V9); ~(CS_MODE_BIG_ENDIAN | CS_MODE_V9);
// support this arch // support this arch

View File

@ -46,10 +46,10 @@ static void destroy(cs_struct *handle)
void SystemZ_enable(void) void SystemZ_enable(void)
{ {
arch_init[CS_ARCH_SYSZ] = init; cs_arch_init[CS_ARCH_SYSZ] = init;
arch_option[CS_ARCH_SYSZ] = option; cs_arch_option[CS_ARCH_SYSZ] = option;
arch_destroy[CS_ARCH_SYSZ] = destroy; cs_arch_destroy[CS_ARCH_SYSZ] = destroy;
arch_disallowed_mode_mask[CS_ARCH_SYSZ] = ~CS_MODE_BIG_ENDIAN; cs_arch_disallowed_mode_mask[CS_ARCH_SYSZ] = ~CS_MODE_BIG_ENDIAN;
// support this arch // support this arch
all_arch |= (1 << CS_ARCH_SYSZ); all_arch |= (1 << CS_ARCH_SYSZ);

View File

@ -88,10 +88,10 @@ static void destroy(cs_struct *handle)
void X86_enable(void) void X86_enable(void)
{ {
arch_init[CS_ARCH_X86] = init; cs_arch_init[CS_ARCH_X86] = init;
arch_option[CS_ARCH_X86] = option; cs_arch_option[CS_ARCH_X86] = option;
arch_destroy[CS_ARCH_X86] = destroy; cs_arch_destroy[CS_ARCH_X86] = destroy;
arch_disallowed_mode_mask[CS_ARCH_X86] = ~(CS_MODE_LITTLE_ENDIAN | cs_arch_disallowed_mode_mask[CS_ARCH_X86] = ~(CS_MODE_LITTLE_ENDIAN |
CS_MODE_32 | CS_MODE_64 | CS_MODE_16); CS_MODE_32 | CS_MODE_64 | CS_MODE_16);
// support this arch // support this arch

View File

@ -43,10 +43,10 @@ static void destroy(cs_struct *handle)
void XCore_enable(void) void XCore_enable(void)
{ {
arch_init[CS_ARCH_XCORE] = init; cs_arch_init[CS_ARCH_XCORE] = init;
arch_option[CS_ARCH_XCORE] = option; cs_arch_option[CS_ARCH_XCORE] = option;
arch_destroy[CS_ARCH_XCORE] = destroy; cs_arch_destroy[CS_ARCH_XCORE] = destroy;
arch_disallowed_mode_mask[CS_ARCH_XCORE] = ~CS_MODE_BIG_ENDIAN; cs_arch_disallowed_mode_mask[CS_ARCH_XCORE] = ~CS_MODE_BIG_ENDIAN;
// support this arch // support this arch
all_arch |= (1 << CS_ARCH_XCORE); all_arch |= (1 << CS_ARCH_XCORE);

18
cs.c
View File

@ -51,10 +51,10 @@
#define SKIPDATA_MNEM NULL #define SKIPDATA_MNEM NULL
#endif #endif
cs_err (*arch_init[MAX_ARCH])(cs_struct *) = { NULL }; cs_err (*cs_arch_init[MAX_ARCH])(cs_struct *) = { NULL };
cs_err (*arch_option[MAX_ARCH]) (cs_struct *, cs_opt_type, size_t value) = { NULL }; cs_err (*cs_arch_option[MAX_ARCH]) (cs_struct *, cs_opt_type, size_t value) = { NULL };
void (*arch_destroy[MAX_ARCH]) (cs_struct *) = { NULL }; void (*cs_arch_destroy[MAX_ARCH]) (cs_struct *) = { NULL };
cs_mode arch_disallowed_mode_mask[MAX_ARCH] = { 0 }; cs_mode cs_arch_disallowed_mode_mask[MAX_ARCH] = { 0 };
extern void ARM_enable(void); extern void ARM_enable(void);
extern void AArch64_enable(void); extern void AArch64_enable(void);
@ -244,9 +244,9 @@ cs_err CAPSTONE_API cs_open(cs_arch arch, cs_mode mode, csh *handle)
archs_enable(); archs_enable();
if (arch < CS_ARCH_MAX && arch_init[arch]) { if (arch < CS_ARCH_MAX && cs_arch_init[arch]) {
// verify if requested mode is valid // verify if requested mode is valid
if (mode & arch_disallowed_mode_mask[arch]) { if (mode & cs_arch_disallowed_mode_mask[arch]) {
*handle = 0; *handle = 0;
return CS_ERR_MODE; return CS_ERR_MODE;
} }
@ -266,7 +266,7 @@ cs_err CAPSTONE_API cs_open(cs_arch arch, cs_mode mode, csh *handle)
// default skipdata setup // default skipdata setup
ud->skipdata_setup.mnemonic = SKIPDATA_MNEM; ud->skipdata_setup.mnemonic = SKIPDATA_MNEM;
err = arch_init[ud->arch](ud); err = cs_arch_init[ud->arch](ud);
if (err) { if (err) {
cs_mem_free(ud); cs_mem_free(ud);
*handle = 0; *handle = 0;
@ -437,13 +437,13 @@ cs_err CAPSTONE_API cs_option(csh ud, cs_opt_type type, size_t value)
return CS_ERR_OK; return CS_ERR_OK;
case CS_OPT_MODE: case CS_OPT_MODE:
// verify if requested mode is valid // verify if requested mode is valid
if (value & arch_disallowed_mode_mask[handle->arch]) { if (value & cs_arch_disallowed_mode_mask[handle->arch]) {
return CS_ERR_OPTION; return CS_ERR_OPTION;
} }
break; break;
} }
return arch_option[handle->arch](handle, type, value); return cs_arch_option[handle->arch](handle, type, value);
} }
// generate @op_str for data instruction of SKIPDATA // generate @op_str for data instruction of SKIPDATA

View File

@ -61,17 +61,17 @@ struct cs_struct {
#define MODE_IS_BIG_ENDIAN(mode) (((mode) & CS_MODE_BIG_ENDIAN) != 0) #define MODE_IS_BIG_ENDIAN(mode) (((mode) & CS_MODE_BIG_ENDIAN) != 0)
// constructor initialization for all archs // constructor initialization for all archs
extern cs_err (*arch_init[MAX_ARCH]) (cs_struct *); extern cs_err (*cs_arch_init[MAX_ARCH]) (cs_struct *);
// support cs_option() for all archs // support cs_option() for all archs
extern cs_err (*arch_option[MAX_ARCH]) (cs_struct*, cs_opt_type, size_t value); extern cs_err (*cs_arch_option[MAX_ARCH]) (cs_struct*, cs_opt_type, size_t value);
// deinitialized functions: to be called when cs_close() is called // deinitialized functions: to be called when cs_close() is called
extern void (*arch_destroy[MAX_ARCH]) (cs_struct*); extern void (*cs_arch_destroy[MAX_ARCH]) (cs_struct*);
// bitmask for finding disallowed modes for an arch: // bitmask for finding disallowed modes for an arch:
// to be called in cs_open()/cs_option() // to be called in cs_open()/cs_option()
extern cs_mode arch_disallowed_mode_mask[MAX_ARCH]; extern cs_mode cs_arch_disallowed_mode_mask[MAX_ARCH];
extern unsigned int all_arch; extern unsigned int all_arch;