[lld] f2404d5 - [LLD][ELF] Fix compressed-debug-level test on SystemZ

Ulrich Weigand via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 27 08:51:12 PDT 2023


Author: Ulrich Weigand
Date: 2023-04-27T17:49:32+02:00
New Revision: f2404d589ece81b029c607af011c372d52bff8d2

URL: https://github.com/llvm/llvm-project/commit/f2404d589ece81b029c607af011c372d52bff8d2
DIFF: https://github.com/llvm/llvm-project/commit/f2404d589ece81b029c607af011c372d52bff8d2.diff

LOG: [LLD][ELF] Fix compressed-debug-level test on SystemZ

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.)

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D149273

Added: 
    

Modified: 
    lld/test/ELF/compressed-debug-level.test

Removed: 
    


################################################################################
diff  --git a/lld/test/ELF/compressed-debug-level.test b/lld/test/ELF/compressed-debug-level.test
index ee95f12679972..71804ed66673d 100644
--- a/lld/test/ELF/compressed-debug-level.test
+++ b/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 
diff erent
+## 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.


        


More information about the llvm-commits mailing list