Age | Commit message (Collapse) | Author |
|
Co-authored-by: concatime <concatime@users.noreply@github.com>
Co-authored-by: Mika Lindqvist <postmaster@raasu.org>
|
|
FFmpeg during the configure stage generates a config.h file with
```
#define HAVE_UNISTD_H 0
```
on windows. Then somewhere in FFmpeg's code there is:
```
#include "config.h" // FFmpeg's config.h
#include <zlib.h>
```
which causes zlib.h to include unistd.h on windows. It is way easier to handle the issue here than in FFmpeg.
Co-authored-by: Mika Lindqvist <postmaster@raasu.org>
|
|
* Don't assign contents of variable to itself
* Quote strings containing "="
|
|
* 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
|
|
|
|
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.
|
|
|
|
favor of compilation and link test. #911
|
|
|
|
|
|
|
|
compiler.
This disallows calls to our own exported functions being replaced by LD_PRELOAD, thus
avoiding the potential bugs and allowing the compiler to optimize better.
|
|
|
|
|
|
|
|
|
|
|
|
platforms.
Also:
- use same name for .so on CMake and configure in --zlib-compat case
- configure: merge i686 and x86_64 sections, since they were essentially identical
- pkgcheck.sh: verify resulting shared libraries are bit-for-bit identical
- pkgcheck.sh: use diffoscope if present to show differences in shared libraries
Don't install diffoscope in ci, since that slows down successful
runs; we can add it later if failures become common.
Fixes #638 (at least for the systems tested)
|
|
|
|
Fixes https://github.com/zlib-ng/zlib-ng/issues/666
for all the CHOST values currently used in
.github/workflows/*.yml.
Also make ci's shellcheck happy by avoiding backticks in the changed lines.
|
|
The -lc was introduced by d6231142d2b883a8c3b253fa34992b5cdb4ac2fe :
which said in part
"Changes in 1.2.3.2 (3 September 2006)
...
- Rig configure --shared to build both shared and static [Teredesai, Truta]"
It's not clear why it was needed. On powerpc, linking -lc explicitly
causes __moddi3 and __stack_chk_fail_local to swap location in the
binary.
If we want configure and cmake to generate identical shared libraries,
either we need to link -lc explicitly in both configure and cmake,
or in neither. Occam's Razor suggests omitting it from configure
rather than adding it to cmake.
|
|
|
|
|
|
Remove current directory library include path in configure not in cmake
|
|
Linking .o into a shared library could be bad.
In this case it seems to have been harmless, but it should be fixed anyway.
|
|
|
|
Fixed -mfpu=neon not being applied on arm|arm7 if available.
|
|
|
|
|
|
|
|
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.
|
|
This commit implements a Power (POWER8+) vector optimization for Adler32
checksum using VSX (vector) instructions. The VSX adler32 checksum is up
to 10x fast than the adler32 baseline code.
Author: Rogerio Alves <rcardoso@linux.ibm.com>
|
|
|
|
|
|
Co-authored-by: Brian Bockelman <bockelman@gmail.com>
Co-authored-by: Mika T. Lindqvist <postmaster@raasu.org>
|
|
supported.
|
|
|
|
This commit introduces a new slide_hash function that
uses VSX vector instructions to slide 8 hash elements at a time,
instead of just one as the standard code does.
|
|
Add the scaffolding for future optimizations for POWER processors. Now
the build is capable of correctly detecting multiple processor
sub-architectures (ppc, ppc64 and ppc64le) and also if features
needed for the optimizations are available during build and runtime.
With these changes, adding a new optimized function for POWER should be
as simple as adding a new file under arch/power/, appending build
instructions to the build files and editing functable.c accordingly.
The UNALIGNED_OK flag is now also added by default for powerpc64le
targets.
|
|
|
|
|
|
to compare258.
|
|
ARM.
|
|
for aarch64.
|
|
|
|
|
|
Added macOS configure build.
|
|
|
|
- Select minimal vm image instead of generic ('C'), reducing size and boot time.
- Windows needs 'C' image to not hang on booting
- Update from Xenial to Bionic for linux tests.
- ppc64 images don't have Bionic, set to Xenial
- ppc64 is having misc failures with Xenial tools, so use GCC-9 and Clang-6
- ppc64 cannot run MSAN
- Add another test for more complete testing across architectures.
- Enable fuzzers, msan and/or sanitizers most various tests.
- Disable ASAN leak detection on aarch64, since it crashes under qemu
- Reorder tests to be better grouped and running windows/macox tests lasts.
- Enable verbose messages from sanitizers
CmakeLists.txt changes:
- Enable warnings by default.
- Add MAINTAINER setting to cmake
- Enables extra warnings.
- Enables fuzzers.
- Add CI detection to cmake, currently auto-enables MAINTAINER mode.
- Add detection of several more sanitizer features.
- Test sanitizer features together, not just alone.
This also helps with their inter-dependencies.
.gitignore changes:
- Add switchlevels.
|