Victor Zhang
7b856e3028
Add noexecstack flag for gcc/clang C and CPP in Meson
...
The `-Wl,-z,noexecstack` and `-Wa,--noexecstack` flags are already set for CMake, but not for Meson.
This brings the flags to the Meson build as well. Note that this maintains the discrepancy in behavior
between CMake and Meson when it comes to enabling ASM: on CMake, the ZSTD_HAS_NOEXECSTACK variable
is set and these flags added for GCC/Clang and MinGW. Then later, the ZSTD_HAS_NOEXECSTACK variable
is checked (along with some other conditions) to enable or disable ASM. However on Meson, this logic
is restricted to simply checking for GCC/Clang. This patch maintains this behavior; noexecstack is
dependent on GCC/Clang only.
2025-02-04 15:20:39 -08:00
Yann Collet
26a2b5d5df
Merge pull request #4265 from pps83/static-bmi2-check
...
Check `STATIC_BMI2` instead of `STATIC_BMI2 == 1`
2025-01-31 14:39:20 -08:00
Yann Collet
086ddcd9ba
Merge pull request #4271 from tsdgeos/removedupe
...
cmake: Remove duplicated line
2025-01-31 14:38:19 -08:00
Yann Collet
b55ff3c61d
Merge pull request #4278 from facebook/bench_x100
...
bench: better result alignment
2025-01-31 14:38:01 -08:00
Yann Collet
60f84f73fe
bench: better result alignment
...
when displaying ratios > x100
2025-01-30 21:30:48 -08:00
Yann Collet
283fbd2dca
Merge pull request #4264 from pps83/dev-static-bmi2
...
Move STATIC_BMI2 define to portability_macros.h
2025-01-30 11:11:51 -08:00
Albert Astals Cid
de7c8b9842
cmake: Remove duplicated line
2025-01-28 00:22:35 +01:00
Yann Collet
6a65a43032
Merge pull request #4269 from luau-project/fix-rc-include
...
fix: quote include directory for resource compiler
2025-01-27 11:58:22 -08:00
luau-project
be1bf2469e
fix: quote include directory for resource compiler
2025-01-27 15:18:55 -03:00
Yann Collet
1d088ba55c
Merge pull request #4260 from gcabiddu/compress_sequences_kernel
...
[linux] Expose ZSTD_compressSequences*() in the kernel
2025-01-27 09:44:53 -08:00
Giovanni Cabiddu
92be4be810
[linux] Expose ZSTD_compressSequencesAndLiterals() in the kernel
...
Make the function ZSTD_compressSequencesAndLiterals() available in kernel
space. This will be used by Intel QAT driver.
Additionally, (1) expose the function ZSTD_CCtx_setParameter(), which is
required to set parameters before calling ZSTD_compressSequencesAndLiterals(),
(2) update the build process to include `compress/zstd_preSplit.o` and
(3) replace `asm/unaligned.h` with `linux/unaligned.h`.
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com >
2025-01-27 15:24:22 +00:00
luau-project
6cd4204ee3
CI: build with CMake on source directory with spaces to reproduce #4268
2025-01-27 11:59:43 -03:00
Yann Collet
ab54285129
Merge pull request #4266 from pps83/rm-ZSTD_decompressSequences_t
...
Remove unused ZSTD_decompressSequences_t typedef
2025-01-26 22:55:46 -08:00
Pavel P
0cda0100ea
fix formatting
2025-01-24 03:03:22 +02:00
Pavel P
f7e8fc339b
Check STATIC_BMI2
instead of STATIC_BMI2 == 1
2025-01-24 03:03:21 +02:00
Pavel P
0a183620a3
Reorder __BMI2__ check
...
+ if `__BMI2__` defined, then set STATIC_BMI2 for all compilers
+ use `defined(_MSC_VER) && defined(__AVX2__)` as fallback for ms compiler
2025-01-24 03:02:47 +02:00
Pavel P
d486ccc9e9
Update comment for STATIC_BMI2 macro
2025-01-24 03:02:47 +02:00
Pavel P
1b15e888fc
Move STATIC_BMI2 block as-is to portability_macros.h
2025-01-24 03:02:46 +02:00
Pavel P
59afb28c97
Remove unused ZSTD_decompressSequences_t typedef
2025-01-24 02:13:20 +02:00
Yann Collet
ea0aa030cd
Merge pull request #4263 from pps83/dev-dyn-bmi2
...
Check `DYNAMIC_BMI2` instead of `DYNAMIC_BMI2 != 0`
2025-01-23 15:53:17 -08:00
Pavel P
1204626138
Check DYNAMIC_BMI2
instead of DYNAMIC_BMI2 != 0
...
`#if DYNAMIC_BMI2` is consistent with the rest of the code.
+ use spaces instead of tabs
2025-01-23 23:59:38 +02:00
Yann Collet
a7b59bcb7f
Merge pull request #4257 from pps83/dev-x64test
...
Use _M_X64 only without mixing with _M_AMD64
2025-01-23 12:50:27 -08:00
Yann Collet
55c0c5bdca
Merge pull request #4258 from pps83/dev-ZSTD_ALIGNED
...
Implement ZSTD_ALIGNED for ms compiler
2025-01-22 15:09:35 -08:00
Yann Collet
2ef57cf1e2
Merge pull request #4259 from Treata11/dev
...
Add support for Apple framework builds
2025-01-22 15:09:11 -08:00
Treata11
45c0e72c0a
Instructions for Apple Framework builds
2025-01-22 22:54:03 +03:30
Treata11
becef672bb
Build: Revert min version to 3.10
2025-01-22 22:53:41 +03:30
Treata11
03d5ad6fed
Ignore generated framework artifacts
...
Signed-off-by: Treata11 <treata11@yahoo.com >
2025-01-21 21:06:54 +03:30
Treata11
897cec3876
Build: Add support for Apple frameworks
...
Signed-off-by: Treata11 <treata11@yahoo.com >
2025-01-21 20:58:27 +03:30
Pavel P
a0872a8372
Implement ZSTD_ALIGNED for ms compiler
2025-01-21 02:33:25 +02:00
Pavel P
6c1d1cc600
Use _M_X64 only without mixing with _M_AMD64
2025-01-21 02:27:39 +02:00
Yann Collet
f7c7553e4f
Merge pull request #4255 from facebook/dependabot/github_actions/github/codeql-action-3.28.1
...
Bump github/codeql-action from 3.27.1 to 3.28.1
2025-01-19 23:18:33 -08:00
Yann Collet
cf01bbf005
Merge pull request #4254 from facebook/dependabot/github_actions/cygwin/cygwin-install-action-5
...
Bump cygwin/cygwin-install-action from 4 to 5
2025-01-19 23:16:18 -08:00
Yann Collet
056492e31b
Update dev-short-tests.yml
...
specify cygwin action version
2025-01-19 23:14:59 -08:00
dependabot[bot]
5b9c5d4929
Bump github/codeql-action from 3.27.1 to 3.28.1
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 3.27.1 to 3.28.1.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](4f3212b617...b6a472f63d
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-01-20 05:47:03 +00:00
dependabot[bot]
e39ed41435
Bump cygwin/cygwin-install-action from 4 to 5
...
Bumps [cygwin/cygwin-install-action](https://github.com/cygwin/cygwin-install-action ) from 4 to 5.
- [Release notes](https://github.com/cygwin/cygwin-install-action/releases )
- [Commits](006ad0b094...f61179d722
)
---
updated-dependencies:
- dependency-name: cygwin/cygwin-install-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-01-20 05:46:57 +00:00
Yann Collet
48b186f76b
Merge pull request #4253 from facebook/BitContainerType
...
minor: use BitContainerType when appropriate
2025-01-19 18:35:36 -08:00
Yann Collet
0c335c97b8
Merge pull request #4252 from facebook/x32_dynamicBmi2
...
enable DYNAMIC_BMI2 by default on x86 (32-bit mode)
2025-01-19 18:30:29 -08:00
Yann Collet
82346b92bb
minor: generalize BitContainerType
...
technically equivalent to `size_t`,
but it's the proper type for underlying register representation.
This makes it possible to control register type, and therefore size, independently from `size_t`,
which can be useful on systems where `size_t` is 32-bit, while the architecture supports 64-bit registers.
2025-01-19 18:05:57 -08:00
Yann Collet
4bbf4a285d
enable DYNAMIC_BMI2 by default on x86 (32-bit mode)
...
so far was only enabled for x64 (64-bit mode)
2025-01-19 08:11:59 -08:00
Yann Collet
9fbed3330c
Merge pull request #4251 from facebook/x32_bmi2
...
BMI2 detection in 32-bit mode
2025-01-19 07:37:57 -08:00
Yann Collet
a556559841
no longer limit automated BMI2 detection to x64
...
this was previously no triggered in x86 32-bit mode,
due to a limitation in `bitstream.h`, that was fixed in #4248 .
Now, `bmi2` will be automatically detected and triggered
at compilation time, if the corresponding instruction set is enabled,
even in 32-bit mode.
Also: updated library documentation, to feature STATIC_BMI2 build variable
2025-01-19 00:08:57 -08:00
Yann Collet
e475dc4c05
Merge pull request #4250 from facebook/x86_32_avx2
...
added a CI test for x86 32-bit + avx2 combination
2025-01-18 23:54:51 -08:00
Yann Collet
d2d74616c0
also add -mbmi2
to the compilation test
2025-01-18 22:58:03 -08:00
Yann Collet
27d7940631
minor: cosmetic, indentation
2025-01-18 22:49:16 -08:00
Yann Collet
0501095898
added -DSTATIC_BMI2=1 for the -mavx2 test
2025-01-18 22:49:16 -08:00
Yann Collet
f0b5f65bca
fixed minor static function declaration issue
...
in AVX2 mode only
2025-01-18 22:49:16 -08:00
Yann Collet
35edbc20dc
added avx2 (x64) compilation test
2025-01-18 22:49:16 -08:00
Yann Collet
9efb09749b
added a CI test for x86 32-bit + avx2 combination
...
which is expected to be quite rare, but nonetheless possible.
This test is initially expected to fail, before integration of #4248 fix
2025-01-18 22:49:16 -08:00
Yann Collet
a469e7c083
Merge pull request #4248 from pps83/dev-bzhi32
...
Use _bzhi_u32 for 32-bit builds when building with STATIC_BMI2
2025-01-18 22:48:24 -08:00
Yann Collet
167b00495d
Merge pull request #4246 from pps83/dev-asmx64-win
...
[asm] Enable x86_64 asm for windows builds
2025-01-18 20:03:16 -08:00