[all-commits] [llvm/llvm-project] 7cf460: Reland D61689 Change -gz and -Wa, --compress-debug-...

Fangrui Song via All-commits all-commits at lists.llvm.org
Mon Aug 3 15:12:22 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7cf4603faee366a6e5860b6fdbedadd91872e231
      https://github.com/llvm/llvm-project/commit/7cf4603faee366a6e5860b6fdbedadd91872e231
  Author: Fangrui Song <maskray at google.com>
  Date:   2020-08-03 (Mon, 03 Aug 2020)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/tools/driver/cc1as_main.cpp

  Log Message:
  -----------
  Reland D61689 Change -gz and -Wa,--compress-debug-sections to use gABI compression (SHF_COMPRESSED) with integrated assembler

This fixes an inconsistency: clang -c -gz -fno-integrated-as means SHF_COMPRESSED
while clang -c -gz -fintegrated-as means zlib-gnu.

---

Since July 15, 2015 (binutils-gdb commit
19a7fe52ae3d0971e67a134bcb1648899e21ae1c, included in 2.26), gas
--compress-debug-sections=zlib (gcc -gz) means zlib-gabi:
SHF_COMPRESSED. Before that GCC/binutils used zlib-gnu (.zdebug).

clang's -gz was introduced in rC306115 (Jun 2017) to indicate zlib-gnu. It
is 2020 now and it is not unreasonable to assume users of the new
feature to have new linkers (ld.bfd/gold >= 2.26, lld >= rLLD273661).

Change clang's default accordingly to improve standard conformance.
zlib-gnu becomes out of fashion and gets poorer toolchain support.
Its mangled names confuse tools and are more likely to cause problems.

Reviewed By: compnerd

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




More information about the All-commits mailing list