Browse Source

Temporarily revert "Change -gz and -Wa,--compress-debug-sections to use gABI compression (SHF_COMPRESSED)"

This affects users of older (pre 2.26) binutils in such a way that they can't necessarily
work around it as it doesn't support the compress option on the command line. Reverting
to unblock them and we can revisit whether to make this change now or fix how we want
to express the option.

This reverts commit bdb21337e6e1732c9895966449c33c408336d295/r360403.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@360703 91177308-0d34-0410-b5e6-96231b3b80d8
Eric Christopher 6 years ago
parent
commit
f6c9811b55
3 changed files with 5 additions and 6 deletions
  1. 1 4
      docs/ReleaseNotes.rst
  2. 2 1
      lib/Frontend/CompilerInvocation.cpp
  3. 2 1
      tools/driver/cc1as_main.cpp

+ 1 - 4
docs/ReleaseNotes.rst

@@ -77,10 +77,7 @@ Modified Compiler Flags
 
 
 - `clang -dumpversion` now returns the version of Clang itself.
 - `clang -dumpversion` now returns the version of Clang itself.
 
 
-- On ELF, ``-gz`` now defaults to ``-gz=zlib``. It produces ``SHF_COMPRESSED``
-  style compression of debug information. GNU binutils 2.26 or newer, or lld is
-  required to link produced object files. Use ``-gz=zlib-gnu`` to get the old
-  behavior.
+- ...
 
 
 New Pragmas in Clang
 New Pragmas in Clang
 --------------------
 --------------------

+ 2 - 1
lib/Frontend/CompilerInvocation.cpp

@@ -1052,7 +1052,8 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
   if (const Arg *A = Args.getLastArg(OPT_compress_debug_sections,
   if (const Arg *A = Args.getLastArg(OPT_compress_debug_sections,
                                      OPT_compress_debug_sections_EQ)) {
                                      OPT_compress_debug_sections_EQ)) {
     if (A->getOption().getID() == OPT_compress_debug_sections) {
     if (A->getOption().getID() == OPT_compress_debug_sections) {
-      Opts.setCompressDebugSections(llvm::DebugCompressionType::Z);
+      // TODO: be more clever about the compression type auto-detection
+      Opts.setCompressDebugSections(llvm::DebugCompressionType::GNU);
     } else {
     } else {
       auto DCT = llvm::StringSwitch<llvm::DebugCompressionType>(A->getValue())
       auto DCT = llvm::StringSwitch<llvm::DebugCompressionType>(A->getValue())
                      .Case("none", llvm::DebugCompressionType::None)
                      .Case("none", llvm::DebugCompressionType::None)

+ 2 - 1
tools/driver/cc1as_main.cpp

@@ -221,7 +221,8 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts,
   if (const Arg *A = Args.getLastArg(OPT_compress_debug_sections,
   if (const Arg *A = Args.getLastArg(OPT_compress_debug_sections,
                                      OPT_compress_debug_sections_EQ)) {
                                      OPT_compress_debug_sections_EQ)) {
     if (A->getOption().getID() == OPT_compress_debug_sections) {
     if (A->getOption().getID() == OPT_compress_debug_sections) {
-      Opts.CompressDebugSections = llvm::DebugCompressionType::Z;
+      // TODO: be more clever about the compression type auto-detection
+      Opts.CompressDebugSections = llvm::DebugCompressionType::GNU;
     } else {
     } else {
       Opts.CompressDebugSections =
       Opts.CompressDebugSections =
           llvm::StringSwitch<llvm::DebugCompressionType>(A->getValue())
           llvm::StringSwitch<llvm::DebugCompressionType>(A->getValue())