[all-commits] [llvm/llvm-project] 4c3b74: [LLD] [COFF] Order .debug_* sections at the end, t...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Thu Mar 3 00:20:09 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4c3b74b7f5d6192d1731c88f1aeb396bc51d4949
      https://github.com/llvm/llvm-project/commit/4c3b74b7f5d6192d1731c88f1aeb396bc51d4949
  Author: Martin Storsjö <martin at martin.st>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M lld/COFF/Writer.cpp
    M lld/test/COFF/sort-debug.test

  Log Message:
  -----------
  [LLD] [COFF] Order .debug_* sections at the end, to avoid leaving gaps if stripped

So far, we sort all discardable sections at the end, with only some
extra logic to make sure that the .reloc section is at the start
of that group of sections. But if there are other discardable
sections, other than .reloc, they must also be ordered before
.debug_* sections, to avoid leaving gaps if the executable is
stripped.

(Stripping executables doesn't remove all discardable sections,
only the ones named .debug_*).

Rust binaries seem to include a .rmeta section, which is marked
discardable. This fixes stripping such binaries if built with
dwarf debug info included.

This fixes issues observed in MSYS2 in
https://github.com/msys2/MINGW-packages/pull/10555.

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


  Commit: 77fd54d2eb7322838d50495b54b3d0b3c6c07a3d
      https://github.com/llvm/llvm-project/commit/77fd54d2eb7322838d50495b54b3d0b3c6c07a3d
  Author: Martin Storsjö <martin at martin.st>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp

  Log Message:
  -----------
  [libcxx] [test] Fix the collate compare test for Glibc, Windows and FreeBSD

The old expected behaviour was specific to Apple platforms,
while Glibc, Windows and FreeBSD collate differently (ignoring
case). Make the old tested behaviour a special case for Apple
platforms, and make the default case the one used by the other
three.

In clang-cl/DLL configurations, the test is hit by
https://llvm.org/PR41018 (making the test fail to link).

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


Compare: https://github.com/llvm/llvm-project/compare/a5605c9a15b3...77fd54d2eb73


More information about the All-commits mailing list