[all-commits] [llvm/llvm-project] 82f8ae: [JITLink][MachO] Handle muliple symbols at same of...

lhames via All-commits all-commits at lists.llvm.org
Wed Jun 9 02:35:33 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 82f8aef3deb196ad323a3ef57c03276c6e93a246
      https://github.com/llvm/llvm-project/commit/82f8aef3deb196ad323a3ef57c03276c6e93a246
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-06-09 (Wed, 09 Jun 2021)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp

  Log Message:
  -----------
  [JITLink][MachO] Handle muliple symbols at same offset when splitting C-strings.

The C-string section splitting support added in f9649d123db triggered an assert
("Duplicate canonical symbol at address") when multiple symbols were defined at
the the same offset within a C-string block (this triggered on arm64, where we
always add a block start symbol). The bug was caused by a failure to update the
record of the last canonical symbol address. The fix was to maintain this record
correctly, and move the auto-generation of the block-start symbol above the
handling for symbols defined in the object itself so that all symbols
(auto-generated and defined) are processed in address order.




More information about the All-commits mailing list