]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
[test] Test that the exec-stack bit isn't set on libzstd.so 2886/head
authorNick Terrell <terrelln@fb.com>
Tue, 30 Nov 2021 20:29:55 +0000 (12:29 -0800)
committerNick Terrell <terrelln@fb.com>
Wed, 1 Dec 2021 02:13:00 +0000 (18:13 -0800)
Tests that libzstd.so doesn't have the exec-stack bit set using
readelf. If the stack is marked executable systemd will refuse
to link against zstd. We now test that it isn't set on every PR.

Adds a test for PR #2857
Fixes Issue #2865

.github/workflows/dev-short-tests.yml
tests/libzstd_builds.sh [moved from tests/libzstd_partial_builds.sh with 92% similarity]

index 584baa85877ee19d9f0ec323caff2700aa10b976..0f6590ecc7546187af59ce567560e45803807ab4 100644 (file)
@@ -117,11 +117,11 @@ jobs:
         make -C zlibWrapper test
         make -C zlibWrapper valgrindTest
 
-  lz4-threadpool-partial-libs:
+  lz4-threadpool-libs:
     runs-on: ubuntu-latest
     steps:
     - uses: actions/checkout@v2
-    - name: LZ4, thread pool, and partial libs testslib wrapper test
+    - name: LZ4, thread pool, and libs build testslib wrapper test
       run: |
         make lz4install
         make -C tests test-lz4
@@ -129,7 +129,7 @@ jobs:
         make clean
         make -C tests test-pool
         make clean
-        bash tests/libzstd_partial_builds.sh
+        bash tests/libzstd_builds.sh
 
   gcc-make-tests-32bit:
     runs-on: ubuntu-latest
similarity index 92%
rename from tests/libzstd_partial_builds.sh
rename to tests/libzstd_builds.sh
index 05dad8f981f177ab67f3fd4f03716436b8037b1c..f9e1e76c6357d987d8679908f07058eecbfdc3d2 100755 (executable)
@@ -23,14 +23,19 @@ mustBeAbsent() {
 
 # default compilation : all features enabled - no zbuff
 $ECHO "testing default library compilation"
-CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID
+CFLAGS= make -C $DIR/../lib libzstd libzstd.a > $INTOVOID
 nm $DIR/../lib/libzstd.a | $GREP "\.o" > tmplog
 isPresent "zstd_compress.o"
 isPresent "zstd_decompress.o"
 isPresent "zdict.o"
 isPresent "zstd_v07.o"
 mustBeAbsent "zbuff_compress.o"
-$RM $DIR/../lib/libzstd.a tmplog
+$RM tmplog
+
+# Check that the exec-stack bit isn't set
+readelf -lW $DIR/../lib/libzstd.so | $GREP "GNU_STACK" > tmplog
+mustBeAbsent "RWE"
+$RM $DIR/../lib/libzstd.a $DIR/../lib/libzstd.so* tmplog
 
 # compression disabled => also disable zdict
 $ECHO "testing with compression disabled"