[all-commits] [llvm/llvm-project] 07ab59: [lld/mac] Fix issues around thin archives

Nico Weber via All-commits all-commits at lists.llvm.org
Tue Dec 1 15:48:54 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 07ab597bb0356ceae0195e4d66205e7eb2d07b7e
      https://github.com/llvm/llvm-project/commit/07ab597bb0356ceae0195e4d66205e7eb2d07b7e
  Author: Nico Weber <thakis at chromium.org>
  Date:   2020-12-01 (Tue, 01 Dec 2020)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/Symbols.cpp
    M lld/MachO/Symbols.h
    A lld/test/MachO/thin-archive.s

  Log Message:
  -----------
  [lld/mac] Fix issues around thin archives

- most importantly, fix a use-after-free when using thin archives,
  by putting the archive unique_ptr to the arena allocator. This
  ports D65565 to MachO

- correctly demangle symbol namess from archives in diagnostics

- add a test for thin archives -- it finds this UaF, but only when
  running it under asan (it also finds the demangling fix)

- make forceLoadArchive() use addFile() with a bool to have the archive
  loading code in fewer places. no behavior change; matches COFF port a
  bit better

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




More information about the All-commits mailing list