| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-scan-build] contains the following command
```
make staticAnalyze
```
[lz4-cppcheck]contains the following command
```
make cppcheck
```
We ignore the exit code of cppcheck. We refer its output as a guideline.
[lz4-scan-build] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L285-L302
[lz4-cppcheck] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L268-L282
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-c-compilers] contains the following command for clang-3.8.
```
make -C tests test-lz4
```
[lz4-c-compilers] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L17-L154
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-c-compilers] contains the following commands for gcc-5
```
make -C tests test-lz4
make -C tests test-lz4c32
```
[lz4-c-compilers] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L17-L154
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Disable "(Trusty) gcc-6 standard C compilation"
[lz4-c-compilers] contains the following commands for gcc-6
```
make c_standards
make -C tests test-lz4
```
[lz4-c-compilers] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L17-L154
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-frame] contains the following command
```
make -C tests test-frametest32
```
`
[lz4-fuzzer] contains the following command
```
make -C tests test-fuzzer32
```
[lz4-frame] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L224-L237
[lz4-fuzzer] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L192-L208
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-c-compilers] contains the following command
```
make -C tests test-lz4c32
```
[lz4-benchmark] contains the following command
```
make -C tests test-fullbench32
```
[lz4-versions] contains the following command
```
make -C tests versionsTest
```
[lz4-c-compilers] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L17-L154
[lz4-benchmark] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L167-L189
[lz4-versions] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L211-L221
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-c-compilers] contains the following command
```
make ctocpptest
```
[lz4-c-compilers] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L17-L154
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-c-compilers] contains the following command
```
make c_standards
```
[lz4-valgrind] contains the following command
```
make -C tests test-lz4 test-mem
```
[lz4-c-compilers] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L17-L154
[lz4-valgrind] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L305-L316
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-ubsan-x64] contains the following command
```
make usan MOREFLAGS=-Wcomma -Werror
```
[lz4-ubsan-x64] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L322-L336
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-c-compilers] contains the following command
```
make -C tests test MOREFLAGS=-mx32
```
[lz4-c-compilers] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L17-L154
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-compilers] contains the following commands.
Note that `make all` contains `make examples`
```
make cxxtest
make clean
make examples
make clean cmake
make clean clangtest
```
[lz4-build-make-travis-install] contains the following commands.
```
make travis-install
```
[lz4-c-compilers] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L17-L154
[lz4-build-make-travis-install] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L498-L510
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-custom-distance] contains the following command
```
MOREFLAGS='-DLZ4_DISTANCE_MAX=8000' make V=1 check
make V=1 -C programs lz4-wlib
make V=1 -C tests fullbench-wmalloc # test LZ4_USER_MEMORY_FUNCTIONS
CC="c++ -Wno-deprecated" make V=1 -C tests fullbench-wmalloc # stricter function signature check
```
Actually, there're 3+1 tests
(1) Test for Custom LZ4_DISTANCE_MAX. 6654c2c, #753, #755
(2) Test for dynamic link library. 3dd34df, #888
(3-1) Test for LZ4_USER_MEMORY_FUNCTIONS. 52646e8, #937, #946
(3-2) Same as (3-1), but compile it with c++.
After we'll stabilize CI tests, this test should be split into 3 individual parts for clarity.
[lz4-custom-distance] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L241-L255
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-asan-x64] contains the following command
```
sudo sysctl -w vm.mmap_min_addr=4096
CC=clang MOREFLAGS=-fsanitize=address make -C tests test-frametest test-fuzzer
```
[lz4-asan-x64] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L361-L376
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[lz4-frame] in ci.yml contains the following command
```
make -C tests test-frametest
```
[lz4-fuzzer] in ci.yml contains the following command
```
make -C tests test-fuzzer
```
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Disable "(Precise) benchmark test"
lz4-benchmark[1] in ci.yml contains the following command
```
make -C tests test-lz4 test-lz4c test-fullbench
```
[1] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L167-L189
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
lz4-platform-macos-latest[1] in ci.yml contains the following test command
```
make # test library build
make test MOREFLAGS='-Werror -Wconversion -Wno-sign-conversion' | tee
```
[1] https://github.com/lz4/lz4/blob/025c3ce8f994213371a4260ae932ea244d44c6fc/.github/workflows/ci.yml#L450
|
|\ \ \
| | | |
| | | | |
Fix g++-4.4 warning
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
g++-4.4 creates the following warning for this line.
```
g++-4.4 -Wno-deprecated -O3 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror -I../lib -I../programs -DXXH_NAMESPACE=LZ4_ lz4frame.o lz4.o lz4hc.o xxhash.o checkFrame.c -o checkFrame
checkFrame.c: In function ‘int frameCheck(cRess_t, FILE*, unsigned int, size_t)’:
checkFrame.c:156: error: comparison between signed and unsigned integer expressions
```
|
|\ \ \ \
| | | | |
| | | | | |
Remove QEMU test from .travis.yml
|
| | | | |
| | | | |
| | | | |
| | | | | |
We have same test in GitHub Actions.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Split c_standards into multiple Makefile targets
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To support older compiler which doesn't have explicit dialect option
for C90 (gcc-4.4), this change set split "c_standards" into multiple
part.
Original "make c_standards" still works as intended. But this change
gives extra freedom of choice for external program For example, CI
can choose test for standards which is supported by specimen compiler.
With this separation, we can also introduce C17 smoothly.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
## Added compilers
- gcc: 4.[4678], 5, 6, 11
- clang: 3.[56789], 4, 5, 12
## Known issue
- make -C tests test-lz4c32
- Fails with all versions of clang. See #991 for details.
- CFLAGS='-O3 -mx32' make -C tests test-lz4c32
- Fails with all versions of clang
- Fails with gcc-11
- `make cxxtest`
- Disabled for now. Will be enabled after #993.
- `make c_standards_c90`, `make c_standards_c11`
- Disabled for now. Will be enabled after #994.
## Difference with `.travis.yml`
The following tests are not included yet.
- name: Compile OSS-Fuzz targets
- name: tag build
The following tests won't be included due to lmitation of the CI environment.
- name: aarch64 real-hw tests
- name: PPC64LE real-hw tests
- name: IBM s390x real-hw tests
Except above, all other features in `.travis.yml` has been included in this change set.
The following post describes details.
|
|\ \ \
| |/ /
|/| | |
Fix -Wshorten-64-to-32 warning
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix -Wshorten-64-to-32 warning
The following CI test (macOS) reports "-Wshorten-64-to-32" warning
make V=1 clean test MOREFLAGS='-Werror -Wconversion -Wno-sign-conversion'
```
blockStreaming_lineByLine.c:68:54: error: implicit conversion loses integer precision: 'const size_t' (aka 'const unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
lz4Stream, inpPtr, cmpBuf, inpBytes, cmpBufBytes, 1);
^~~~~~~~~~~
```
|
|\ \
| | |
| | | |
Fix NULL ptr arithmetic in lz4.c
|
| | | |
|
| | |
| | |
| | |
| | | |
only do arithmetic if offset > 0
|
| |\ \
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
Disable Meson + clang build at travis-ci
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Add GitHub Actions script ci.yml
|
| | | | |
| | | | |
| | | | |
| | | | | |
We must enable this test when all make usan errors will be resolved properly.
|
| | |_|/
| |/| | |
|
|\ \ \ \
| |_|/ /
|/| | | |
fix UB of lz4frame:907
|
| | | |
| | | |
| | | |
| | | |
| | | | |
ensure `dictBase` is only used
when there is an actual dictionary content.
|
| | |/
| |/|
| | |
| | | |
was blindly adding an offset (0) to `dictionary` which could be `NULL`.
|
|/ /
| |
| |
| |
| |
| | |
now line 912
by ensuring pointer arithmetic is only performed
if there is a reason for an internal buffer to be used.
|
|\ \
| | |
| | | |
Fix 'make usan'
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The following command doesn't work as intended
```
cd
git clone https://github.com/lz4/lz4.git
cd lz4
make usan MOREFLAGS='-Wcomma -Werror'
```
```
Cleaning completed
cc: error: unrecognized command line option ‘-Wcomma’; did you mean ‘-Wcomment’?
make[3]: *** [<builtin>: ../lib/lz4.o] Error 1
make[2]: *** [Makefile:65: lz4] Error 2
make[1]: *** [Makefile:133: test] Error 2
make: *** [Makefile:158: usan] Error 2
```
Because the following part of the `Makefile` doesn't propagate `CC`, `CFLAGS` and `LDFLAGS` to child `$(MAKE)` properly.
```
.PHONY: usan
usan: CC = clang
usan: CFLAGS = -O3 -g -fsanitize=undefined -fno-sanitize-recover=undefined -fsanitize-recover=pointer-overflow
usan: LDFLAGS = $(CFLAGS)
usan: clean
$(MAKE) test FUZZER_TIME="-T30s" NB_LOOPS=-i1
```
We need explicit propagation for child process
```
- $(MAKE) test FUZZER_TIME="-T30s" NB_LOOPS=-i1
+ CC=$(CC) CFLAGS=$(CFLAGS) LDFLAGS=$(LDFLAGS) $(MAKE) test FUZZER_TIME="-T30s" NB_LOOPS=-i1
```
After that, `make usan` works and it shows expected runtime error.
```
$ make usan MOREFLAGS='-Wcomma -Werror'
Cleaning completed
../lib/lz4frame.c:907:25: runtime error: applying non-zero offset 65536 to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../lib/lz4frame.c:907:25 in
../lib/lz4frame.c:907:58: runtime error: applying zero offset to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../lib/lz4frame.c:907:58 in
...
```
Please note that `make usan` is working at travis-ci. Because `.travis.yml` has the following [explicit `compiler:` setting](https://github.com/lz4/lz4/blob/7a966c1511816b53ac93aa2f2a2ff97e036a4a60/.travis.yml#L66).
```
- name: (Trusty) USan test
dist: trusty
compiler: clang
script:
- make usan MOREFLAGS=-Wcomma -Werror
```
|
|\ \
| |/
|/| |
Fix -Wshorten-64-to-32 warning
|
|/ |
|
|\
| |
| | |
Fix potential memory corruption with negative memmove() size
|
| | |
|
| | |
|
|\ \
| |/
|/| |
Avoiding null pointer dereference
|