OSDN Git Service

[llvm-objcopy] - Report "no zlib available" error properly when --compress-debug...
authorGeorge Rimar <grimar@accesssoftek.com>
Tue, 5 Mar 2019 11:32:14 +0000 (11:32 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Tue, 5 Mar 2019 11:32:14 +0000 (11:32 +0000)
If zlib is not available, and --compress-debug-sections is passed,
we want to report an error. Currently, it is only reported for
--compress_debug_sections= form of the option.

Fixes the https://bugs.llvm.org/show_bug.cgi?id=40886.

I do not think there is a way to write a test for this.

Differential revision: https://reviews.llvm.org/D58909

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355391 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-objcopy/CopyConfig.cpp

index 3972a56..fb362b7 100644 (file)
@@ -476,11 +476,11 @@ Expected<DriverConfig> parseObjcopyOptions(ArrayRef<const char *> ArgsArr) {
             InputArgs.getLastArgValue(OBJCOPY_compress_debug_sections_eq)
                 .str()
                 .c_str());
-      if (!zlib::isAvailable())
-        return createStringError(
-            errc::invalid_argument,
-            "LLVM was not compiled with LLVM_ENABLE_ZLIB: can not compress");
     }
+    if (!zlib::isAvailable())
+      return createStringError(
+          errc::invalid_argument,
+          "LLVM was not compiled with LLVM_ENABLE_ZLIB: can not compress");
   }
 
   Config.AddGnuDebugLink = InputArgs.getLastArgValue(OBJCOPY_add_gnu_debuglink);