[PATCH] D59019: [llvm-objcopy] - Remove an excessive zlib::isAvailable() check and dead code.
    George Rimar via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Mar  6 03:56:04 PST 2019
    
    
  
grimar created this revision.
grimar added a reviewer: jhenderson.
Herald added subscribers: jdoerfert, MaskRay, jakehehrlich, arichardson, emaste.
Herald added a reviewer: espindola.
Herald added a reviewer: alexshap.
Herald added a reviewer: rupprecht.
There are 2 places where llvm-objcopy creates `CompressedSection`:
1. For `--compress-debug-sections`. It might create the compressed section from
regular here:
https://github.com/llvm-mirror/llvm/blob/master/tools/llvm-objcopy/ELF/ELFObjcopy.cpp#L486
2. All initially compressed sections are created as `CompressedSection` during reading the sections
from an object:
https://github.com/llvm-mirror/llvm/blob/master/tools/llvm-objcopy/ELF/Object.cpp#L1118
Those have `DebugCompressionType::None` type and a different constructor.
Case 1 has the following code in its constructor:
  if (!zlib::isAvailable()) {
    CompressionType = DebugCompressionType::None;
    return;
  }
(https://github.com/llvm-mirror/llvm/blob/master/tools/llvm-objcopy/ELF/Object.cpp#L267)
We can never reach that code with because would report an error much earlier:
https://github.com/llvm-mirror/llvm/blob/master/tools/llvm-objcopy/CopyConfig.cpp#L480
So the code I am removing is dead. Landing this will address the issue mentioned in https://bugs.llvm.org/show_bug.cgi?id=40886.
https://reviews.llvm.org/D59019
Files:
  tools/llvm-objcopy/ELF/Object.cpp
Index: tools/llvm-objcopy/ELF/Object.cpp
===================================================================
--- tools/llvm-objcopy/ELF/Object.cpp
+++ tools/llvm-objcopy/ELF/Object.cpp
@@ -263,12 +263,6 @@
                                      DebugCompressionType CompressionType)
     : SectionBase(Sec), CompressionType(CompressionType),
       DecompressedSize(Sec.OriginalData.size()), DecompressedAlign(Sec.Align) {
-
-  if (!zlib::isAvailable()) {
-    CompressionType = DebugCompressionType::None;
-    return;
-  }
-
   if (Error E = zlib::compress(
           StringRef(reinterpret_cast<const char *>(OriginalData.data()),
                     OriginalData.size()),
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59019.189479.patch
Type: text/x-patch
Size: 676 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190306/8cbe2af9/attachment.bin>
    
    
More information about the llvm-commits
mailing list