[PATCH] D149273: [LLD][ELF] Fix compressed-debug-level test on SystemZ
Ulrich Weigand via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 26 10:49:32 PDT 2023
uweigand created this revision.
uweigand added reviewers: ruiu, MaskRay, smeenai.
Herald added a subscriber: emaste.
Herald added a project: All.
uweigand requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
The libz compression library on SystemZ by default makes use of the platform's hardware-accelerated compression facility. This is much faster than the regular software implementation, but often results in slightly different outputs. This causes failures with the compressed-debug-level test case.
To fix this, run this test while setting the DFLTCC environment variable to zero, which prevents use of hardware compression and falls back to the software implementation. (This should not have any effect on other platforms.)
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D149273
Files:
lld/test/ELF/compressed-debug-level.test
Index: lld/test/ELF/compressed-debug-level.test
===================================================================
--- lld/test/ELF/compressed-debug-level.test
+++ lld/test/ELF/compressed-debug-level.test
@@ -2,18 +2,22 @@
# RUN: yaml2obj %s -o %t.o
-# RUN: ld.lld %t.o -o %t.default --compress-debug-sections=zlib
+## The environment variable DFLTCC=0 disables use of the hardware compression
+## facility on SystemZ. When this facility is enabled, slightly different
+## compression results can be seen, which would throw off the tests below.
+
+# RUN: DFLTCC=0 ld.lld %t.o -o %t.default --compress-debug-sections=zlib
# RUN: llvm-readelf --sections %t.default | FileCheck -check-prefixes=HEADER,LEVEL1 %s
-# RUN: ld.lld -O0 %t.o -o %t.O0 --compress-debug-sections=zlib
+# RUN: DFLTCC=0 ld.lld -O0 %t.o -o %t.O0 --compress-debug-sections=zlib
# RUN: llvm-readelf --sections %t.O0 | FileCheck -check-prefixes=HEADER,LEVEL1 %s
# RUN: cmp %t.default %t.O0
-# RUN: ld.lld -O1 %t.o -o %t.O1 --compress-debug-sections=zlib
+# RUN: DFLTCC=0 ld.lld -O1 %t.o -o %t.O1 --compress-debug-sections=zlib
# RUN: llvm-readelf --sections %t.O1 | FileCheck -check-prefixes=HEADER,LEVEL1 %s
# RUN: cmp %t.default %t.O1
-# RUN: ld.lld -O2 %t.o -o %t.O2 --compress-debug-sections=zlib
+# RUN: DFLTCC=0 ld.lld -O2 %t.o -o %t.O2 --compress-debug-sections=zlib
# RUN: llvm-readelf --sections %t.O2 | FileCheck -check-prefixes=HEADER,LEVEL6 %s
## LLD uses zlib compression of level 1 when -O0, -O1 and level 6 when -O2.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D149273.517223.patch
Type: text/x-patch
Size: 1519 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230426/021e4717/attachment.bin>
More information about the llvm-commits
mailing list