mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
New ACC version.
This commit is contained in:
parent
d333c940da
commit
6da1790c46
|
@ -27,7 +27,7 @@
|
|||
|
||||
#ifndef __ACC_H_INCLUDED
|
||||
#define __ACC_H_INCLUDED 1
|
||||
#define ACC_VERSION 20160919L
|
||||
#define ACC_VERSION 20170125L
|
||||
#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
|
||||
# define __CYGWIN__ __CYGWIN32__
|
||||
#endif
|
||||
|
@ -234,10 +234,12 @@
|
|||
# endif
|
||||
#endif
|
||||
#endif
|
||||
#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == ACC_0xffffL)
|
||||
#if (UINT_MAX == ACC_0xffffL)
|
||||
#if defined(_MSC_VER) && defined(M_I86HM)
|
||||
# define ptrdiff_t long
|
||||
# define _PTRDIFF_T_DEFINED 1
|
||||
#endif
|
||||
#endif
|
||||
#if (UINT_MAX == ACC_0xffffL)
|
||||
# undef __ACC_RENAME_A
|
||||
# undef __ACC_RENAME_B
|
||||
|
@ -386,7 +388,7 @@
|
|||
#define ACC_CPP_ECONCAT6(a,b,c,d,e,f) ACC_CPP_CONCAT6(a,b,c,d,e,f)
|
||||
#define ACC_CPP_ECONCAT7(a,b,c,d,e,f,g) ACC_CPP_CONCAT7(a,b,c,d,e,f,g)
|
||||
#endif
|
||||
#define __ACC_MASK_GEN(o,b) (((((o) << ((b)-!!(b))) - (o)) << 1) + (o)*!!(b))
|
||||
#define __ACC_MASK_GEN(o,b) (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*((b)!=0))
|
||||
#if 1 && defined(__cplusplus)
|
||||
# if !defined(__STDC_CONSTANT_MACROS)
|
||||
# define __STDC_CONSTANT_MACROS 1
|
||||
|
@ -2139,6 +2141,7 @@ ACC_COMPILE_TIME_ASSERT_HEADER(3 == 3)
|
|||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#define ACC_SIZEOF_CHAR 1
|
||||
#ifndef ACC_SIZEOF_SHORT
|
||||
#if defined(SIZEOF_SHORT)
|
||||
# define ACC_SIZEOF_SHORT (SIZEOF_SHORT)
|
||||
|
@ -2733,7 +2736,7 @@ ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
|
|||
#elif (ACC_ARCH_POWERPC)
|
||||
# define ACC_OPT_PREFER_PREINC 1
|
||||
# define ACC_OPT_PREFER_PREDEC 1
|
||||
# if (ACC_ABI_BIG_ENDIAN)
|
||||
# if (ACC_ABI_BIG_ENDIAN) || (ACC_WORDSIZE == 8)
|
||||
# ifndef ACC_OPT_UNALIGNED16
|
||||
# define ACC_OPT_UNALIGNED16 1
|
||||
# endif
|
||||
|
@ -2865,11 +2868,14 @@ ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
|
|||
#endif
|
||||
#endif
|
||||
#if !defined(acc_int16e_t)
|
||||
#if (ACC_SIZEOF_LONG == 2)
|
||||
#if (ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT) && (ACC_SIZEOF_SHORT != 2)
|
||||
# undef ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T
|
||||
#endif
|
||||
#if (ACC_SIZEOF_LONG == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
|
||||
# define acc_int16e_t long
|
||||
# define acc_uint16e_t unsigned long
|
||||
# define ACC_TYPEOF_ACC_INT16E_T ACC_TYPEOF_LONG
|
||||
#elif (ACC_SIZEOF_INT == 2)
|
||||
#elif (ACC_SIZEOF_INT == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
|
||||
# define acc_int16e_t int
|
||||
# define acc_uint16e_t unsigned int
|
||||
# define ACC_TYPEOF_ACC_INT16E_T ACC_TYPEOF_INT
|
||||
|
@ -2898,7 +2904,10 @@ ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
|
|||
ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16e_t) == ACC_SIZEOF_ACC_INT16E_T)
|
||||
#endif
|
||||
#if !defined(acc_int32e_t)
|
||||
#if (ACC_SIZEOF_LONG == 4)
|
||||
#if (ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT) && (ACC_SIZEOF_INT != 4)
|
||||
# undef ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T
|
||||
#endif
|
||||
#if (ACC_SIZEOF_LONG == 4) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT)
|
||||
# define acc_int32e_t long int
|
||||
# define acc_uint32e_t unsigned long int
|
||||
# define ACC_TYPEOF_ACC_INT32E_T ACC_TYPEOF_LONG
|
||||
|
@ -2946,19 +2955,25 @@ ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
|
|||
#endif
|
||||
#if !defined(acc_int64e_t)
|
||||
#if (ACC_SIZEOF___INT64 == 8)
|
||||
# if (ACC_CC_BORLANDC) && !(ACC_CFG_TYPE_PREFER___INT64)
|
||||
# define ACC_CFG_TYPE_PREFER___INT64 1
|
||||
# if (ACC_CC_BORLANDC) && !defined(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T)
|
||||
# define ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T ACC_TYPEOF___INT64
|
||||
# endif
|
||||
#endif
|
||||
#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && (ACC_SIZEOF_LONG_LONG != 8)
|
||||
# undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
|
||||
#endif
|
||||
#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64) && (ACC_SIZEOF___INT64 != 8)
|
||||
# undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
|
||||
#endif
|
||||
#if (ACC_SIZEOF_INT == 8) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
|
||||
# define acc_int64e_t int
|
||||
# define acc_uint64e_t unsigned int
|
||||
# define ACC_TYPEOF_ACC_INT64E_T ACC_TYPEOF_INT
|
||||
#elif (ACC_SIZEOF_LONG == 8)
|
||||
#elif (ACC_SIZEOF_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
|
||||
# define acc_int64e_t long int
|
||||
# define acc_uint64e_t unsigned long int
|
||||
# define ACC_TYPEOF_ACC_INT64E_T ACC_TYPEOF_LONG
|
||||
#elif (ACC_SIZEOF_LONG_LONG == 8) && !(ACC_CFG_TYPE_PREFER___INT64)
|
||||
#elif (ACC_SIZEOF_LONG_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
|
||||
# define acc_int64e_t acc_llong_t
|
||||
# define acc_uint64e_t acc_ullong_t
|
||||
# define ACC_TYPEOF_ACC_INT64E_T ACC_TYPEOF_LONG_LONG
|
||||
|
@ -3320,12 +3335,12 @@ ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast64_t) == sizeof(acc_uint_fast6
|
|||
#if (ACC_OS_POSIX)
|
||||
# if (ACC_OS_POSIX_AIX)
|
||||
# define HAVE_SYS_RESOURCE_H 1
|
||||
# elif (ACC_OS_POSIX_FREEBSD || ACC_OS_POSIX_MACOSX || ACC_OS_POSIX_NETBSD || ACC_OS_POSIX_OPENBSD)
|
||||
# elif (ACC_OS_POSIX_DARWIN || ACC_OS_POSIX_FREEBSD || ACC_OS_POSIX_NETBSD || ACC_OS_POSIX_OPENBSD)
|
||||
# define HAVE_STRINGS_H 1
|
||||
# undef HAVE_MALLOC_H
|
||||
# elif (ACC_OS_POSIX_HPUX || ACC_OS_POSIX_INTERIX)
|
||||
# define HAVE_ALLOCA_H 1
|
||||
# elif (ACC_OS_POSIX_MACOSX && ACC_LIBC_MSL)
|
||||
# elif (ACC_OS_POSIX_DARWIN && ACC_LIBC_MSL)
|
||||
# undef HAVE_SYS_TIME_H
|
||||
# undef HAVE_SYS_TYPES_H
|
||||
# elif (ACC_OS_POSIX_SOLARIS || ACC_OS_POSIX_SUNOS)
|
||||
|
@ -3601,7 +3616,7 @@ ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast64_t) == sizeof(acc_uint_fast6
|
|||
#if (ACC_OS_POSIX)
|
||||
# if (ACC_OS_POSIX_AIX)
|
||||
# define HAVE_GETRUSAGE 1
|
||||
# elif (ACC_OS_POSIX_MACOSX && ACC_LIBC_MSL)
|
||||
# elif (ACC_OS_POSIX_DARWIN && ACC_LIBC_MSL)
|
||||
# undef HAVE_CHOWN
|
||||
# undef HAVE_LSTAT
|
||||
# elif (ACC_OS_POSIX_UNICOS)
|
||||
|
@ -4093,11 +4108,14 @@ void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
|
|||
#endif
|
||||
#endif
|
||||
#if !defined(acc_int16e_t)
|
||||
#if (ACC_SIZEOF_LONG == 2)
|
||||
#if (ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT) && (ACC_SIZEOF_SHORT != 2)
|
||||
# undef ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T
|
||||
#endif
|
||||
#if (ACC_SIZEOF_LONG == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
|
||||
# define acc_int16e_t long
|
||||
# define acc_uint16e_t unsigned long
|
||||
# define ACC_TYPEOF_ACC_INT16E_T ACC_TYPEOF_LONG
|
||||
#elif (ACC_SIZEOF_INT == 2)
|
||||
#elif (ACC_SIZEOF_INT == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
|
||||
# define acc_int16e_t int
|
||||
# define acc_uint16e_t unsigned int
|
||||
# define ACC_TYPEOF_ACC_INT16E_T ACC_TYPEOF_INT
|
||||
|
@ -4126,7 +4144,10 @@ void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
|
|||
ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16e_t) == ACC_SIZEOF_ACC_INT16E_T)
|
||||
#endif
|
||||
#if !defined(acc_int32e_t)
|
||||
#if (ACC_SIZEOF_LONG == 4)
|
||||
#if (ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT) && (ACC_SIZEOF_INT != 4)
|
||||
# undef ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T
|
||||
#endif
|
||||
#if (ACC_SIZEOF_LONG == 4) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT)
|
||||
# define acc_int32e_t long int
|
||||
# define acc_uint32e_t unsigned long int
|
||||
# define ACC_TYPEOF_ACC_INT32E_T ACC_TYPEOF_LONG
|
||||
|
@ -4174,19 +4195,25 @@ void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
|
|||
#endif
|
||||
#if !defined(acc_int64e_t)
|
||||
#if (ACC_SIZEOF___INT64 == 8)
|
||||
# if (ACC_CC_BORLANDC) && !(ACC_CFG_TYPE_PREFER___INT64)
|
||||
# define ACC_CFG_TYPE_PREFER___INT64 1
|
||||
# if (ACC_CC_BORLANDC) && !defined(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T)
|
||||
# define ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T ACC_TYPEOF___INT64
|
||||
# endif
|
||||
#endif
|
||||
#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && (ACC_SIZEOF_LONG_LONG != 8)
|
||||
# undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
|
||||
#endif
|
||||
#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64) && (ACC_SIZEOF___INT64 != 8)
|
||||
# undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
|
||||
#endif
|
||||
#if (ACC_SIZEOF_INT == 8) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
|
||||
# define acc_int64e_t int
|
||||
# define acc_uint64e_t unsigned int
|
||||
# define ACC_TYPEOF_ACC_INT64E_T ACC_TYPEOF_INT
|
||||
#elif (ACC_SIZEOF_LONG == 8)
|
||||
#elif (ACC_SIZEOF_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
|
||||
# define acc_int64e_t long int
|
||||
# define acc_uint64e_t unsigned long int
|
||||
# define ACC_TYPEOF_ACC_INT64E_T ACC_TYPEOF_LONG
|
||||
#elif (ACC_SIZEOF_LONG_LONG == 8) && !(ACC_CFG_TYPE_PREFER___INT64)
|
||||
#elif (ACC_SIZEOF_LONG_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
|
||||
# define acc_int64e_t acc_llong_t
|
||||
# define acc_uint64e_t acc_ullong_t
|
||||
# define ACC_TYPEOF_ACC_INT64E_T ACC_TYPEOF_LONG_LONG
|
||||
|
@ -5508,18 +5535,17 @@ ACCLIB_EXTERN(int, acc_spawnve) (int mode, const char* fn, const char* const * a
|
|||
# endif
|
||||
#endif
|
||||
ACCCHK_ASSERT(1 == 1)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1u,1) == 1)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1u,2) == 3)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1u,3) == 7)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1u,8) == 255)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1u,1) == 1u)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1u,2) == 3u)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1u,3) == 7u)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1u,8) == 255u)
|
||||
#if (ACC_SIZEOF_INT >= 2)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1,15) == 32767)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1u,16) == 0xffffU)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(0u,16) == 0u)
|
||||
#else
|
||||
#endif
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,16) == 0xffffUL)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,16) == 0ul)
|
||||
#endif
|
||||
#if (ACC_SIZEOF_INT >= 4)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1,31) == 2147483647)
|
||||
ACCCHK_ASSERT(__ACC_MASK_GEN(1u,32) == 0xffffffffU)
|
||||
|
@ -6080,7 +6106,7 @@ ACCLIB_PUBLIC(acc_uint64l_t, acc_ua_get_be64) (const acc_hvoid_p p)
|
|||
v1 = ACC_UA_GET_BE32(b + 0);
|
||||
v0 = ACC_UA_GET_BE32(b + 4);
|
||||
return ACC_ICONV(acc_uint64l_t, v0) | (ACC_ICONV(acc_uint64l_t, v1) << 32);
|
||||
#elif (ACC_SIZEOF_LONG >= 8) || (ACC_SIZEOF_SIZE_T >= 8)
|
||||
#elif (ACC_WORDSIZE >= 8)
|
||||
const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
|
||||
return (ACC_ICONV(acc_uint64l_t, b[7])) | (ACC_ICONV(acc_uint64l_t, b[6]) << 8) | (ACC_ICONV(acc_uint64l_t, b[5]) << 16) | (ACC_ICONV(acc_uint64l_t, b[4]) << 24) | (ACC_ICONV(acc_uint64l_t, b[3]) << 32) | (ACC_ICONV(acc_uint64l_t, b[2]) << 40) | (ACC_ICONV(acc_uint64l_t, b[1]) << 48) | (ACC_ICONV(acc_uint64l_t, b[0]) << 56);
|
||||
#else
|
||||
|
@ -6101,7 +6127,7 @@ ACCLIB_PUBLIC(void, acc_ua_set_be64) (acc_hvoid_p p, acc_uint64l_t v)
|
|||
ACC_UA_SET_BE32(b + 4, v);
|
||||
v >>= 32;
|
||||
ACC_UA_SET_BE32(b + 0, v);
|
||||
#elif (ACC_SIZEOF_LONG >= 8) || (ACC_SIZEOF_SIZE_T >= 8)
|
||||
#elif (ACC_WORDSIZE >= 8)
|
||||
acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
|
||||
b[7] = ACC_ITRUNC(unsigned char, v); v >>= 8;
|
||||
b[6] = ACC_ITRUNC(unsigned char, v); v >>= 8;
|
||||
|
@ -6139,7 +6165,7 @@ ACCLIB_PUBLIC(acc_uint64l_t, acc_ua_get_le64) (const acc_hvoid_p p)
|
|||
v0 = ACC_UA_GET_LE32(b + 0);
|
||||
v1 = ACC_UA_GET_LE32(b + 4);
|
||||
return ACC_ICONV(acc_uint64l_t, v0) | (ACC_ICONV(acc_uint64l_t, v1) << 32);
|
||||
#elif (ACC_SIZEOF_LONG >= 8) || (ACC_SIZEOF_SIZE_T >= 8)
|
||||
#elif (ACC_WORDSIZE >= 8)
|
||||
const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
|
||||
return ACC_ICONV(acc_uint64l_t, b[0]) | (ACC_ICONV(acc_uint64l_t, b[1]) << 8) | (ACC_ICONV(acc_uint64l_t, b[2]) << 16) | (ACC_ICONV(acc_uint64l_t, b[3]) << 24) | (ACC_ICONV(acc_uint64l_t, b[4]) << 32) | (ACC_ICONV(acc_uint64l_t, b[5]) << 40) | (ACC_ICONV(acc_uint64l_t, b[6]) << 48) | (ACC_ICONV(acc_uint64l_t, b[7]) << 56);
|
||||
#else
|
||||
|
@ -6160,7 +6186,7 @@ ACCLIB_PUBLIC(void, acc_ua_set_le64) (acc_hvoid_p p, acc_uint64l_t v)
|
|||
ACC_UA_SET_LE32(b + 0, v);
|
||||
v >>= 32;
|
||||
ACC_UA_SET_LE32(b + 4, v);
|
||||
#elif (ACC_SIZEOF_LONG >= 8) || (ACC_SIZEOF_SIZE_T >= 8)
|
||||
#elif (ACC_WORDSIZE >= 8)
|
||||
acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
|
||||
b[0] = ACC_ITRUNC(unsigned char, v); v >>= 8;
|
||||
b[1] = ACC_ITRUNC(unsigned char, v); v >>= 8;
|
||||
|
@ -6888,7 +6914,7 @@ ACCLIB_PUBLIC(acc_hvoid_p, acc_halloc) (acc_hsize_t size)
|
|||
p = lmalloc(size);
|
||||
#else
|
||||
if (size < ACC_STATIC_CAST(size_t, -1))
|
||||
p = malloc((size_t) size);
|
||||
p = malloc(ACC_STATIC_CAST(size_t, size));
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue
Block a user