Age | Commit message (Collapse) | Author |
|
- Add Soong blueprint
- Add CRC32 fixes
- Add NDK mappings
All changes were based on the Android fork of Chromium zlib.
Change-Id: Icf0f00d95e1534a0f5683cce40679916a464cc12
|
|
When DFLTCC was introduced, deflateBound() was adjusted, but
compressBound() was not, leading to compression failures when using
compressBound() + compress() with poorly compressible data.
|
|
* Use the self-hosted builder instead of ubuntu-latest.
* Drop qemu-related settings from DFLTCC configurations.
* Install codecov only for the current user, since the self-hosted
builder runs under a restricted non-root account.
* Use actions/checkout@v2 for configure checks, since for some reason
actions/checkout@v1 cannot find git on the self-hosted builder.
* Update the testing section of the DFLTCC README.
* Add the infrastructure code for the self-hosted builder.
|
|
Do not use relative includes, since they are valid only within the
source directory. Rely on the build system to pass the necessary
include flags instead.
|
|
* Using vdupq_n_u64 duplicates the unsigned 64-bit integer to two consecutive aligned memory locations in stack so compiler can use wider load instructions.
All different-sized general-purpose registers overlay on ARM/AArch64, so any vector cast is no-op in assembly.
|
|
* There is no need to convert between unsigned and signed vector types. All relevant intrinsics have versions for all unsigned vector types.
|
|
|
|
* 32-bit ARM and AArch64 use slightly different macros for CRC32 and NEON feature bits
* 32-bit ARM sometimes requires asm/hwcap.h for AT_HWCAP2
|
|
http://infozip.sourceforge.net/ is sadly not having HTTPS access
enabled. Shoutout to somebody with admin access for this project:
It would be nice to enable it and thus allowing secure access to
these pages via https://infozip.sourceforge.io/ . The option has
been there for a while now:
https://sourceforge.net/blog/introducing-https-for-project-websites/
also:
- follow permanent redirects
- add ending slashes
|
|
|
|
This allows us to provide useful warning messages from cmake or
configure if the system headers don't provide the necessary flags to do
runtime detection.
|
|
sys/auxv.h includes the appropriate headers to provide the HWCAP
constants, on both glibc and musl, which makes it unnecessary to include
asm/hwcap.h directly. And on musl, asm/hwcap.h doesn't exist.
|
|
|
|
chunkmemset_neon().
* using memcpy() forbids optimizer to optimize away the temporary variable due to aliasing rules.
|
|
|
|
|
|
DFLTCC does not provide the necessary information to implement
inflateSyncPoint() - Incomplete-Function Status and Incomplete-Function
Length are the fields that provide the relevant information, but
unfortunately it's not enough. If DFLTCC is in use, the current code
checks software decompression state and always returns 0. This
(rightfully) confuses rsync, so fix by returning Z_STREAM_ERROR
instead.
|
|
Use z_const instead of const in order to fix compiler warnings.
|
|
zlib-ng/arch/x86/crc_folding.c:252:31: runtime error: unsigned integer overflow: 0 - 108370614813184 cannot be represented in type 'unsigned long'
|
|
* Don't unroll distances smaller than chunk size.
|
|
|
|
YMM (256bit) instead of ZMM (512bit) register usage.
|
|
longest_match related code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When switching to a compression level that is in general supported by
the hardware accelerator, the code doesn't check whether acceleration is
available or enabled.
|
|
|
|
bi_windup and send_bits were moved to tree_emit.h, so include it.
|
|
|
|
On ARMv7, they have more stringent alignment requirements,
which aren't accounted for.
|
|
|
|
slide_hash_avx2.
slide_sse.c(20,51): warning C4244: 'function': conversion from 'unsigned int' to 'short', possible loss of data
slide_avx.c(21,54): warning C4244: 'function': conversion from 'unsigned int' to 'short', possible loss of data
|
|
|
|
adler32_ssse3.c:123:7: warning: no newline at end of file [-Wnewline-eof]
|
|
|
|
Fixed -mfpu=neon not being applied on arm|arm7 if available.
|
|
|
|
|
|
zero.
adler32_avx.c:108:15: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'size_t' (aka 'unsigned long')
|
|
Co-authored-by: pps83 <pps83@users.noreply.github.com>
|
|
|
|
Fixed MSVC compiler warning in storechunk for ARM Neon.
Fixed arm_neon.h include for memchunk for ARM Neon.
|
|
Use uint8_t[8] struct on big-endian machines for speed.
|
|
|
|
The slide_hash optimization for POWER currently depends on POWER8 macro
to be enabled. Switch this to use POWER8_VSX_SLIDEHASH instead to better
match the naming scheme used by other archs.
|