[all-commits] [llvm/llvm-project] 72ea1a: [ORC] Fix weak hidden symbols failure on PPC with ...

Sunho Kim via All-commits all-commits at lists.llvm.org
Thu Jul 28 05:13:51 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 72ea1a721e005f29c6fea4a684807a68abd93c39
      https://github.com/llvm/llvm-project/commit/72ea1a721e005f29c6fea4a684807a68abd93c39
  Author: Sunho Kim <ksunhokim123 at gmail.com>
  Date:   2022-07-28 (Thu, 28 Jul 2022)

  Changed paths:
    M clang/unittests/Interpreter/ExceptionTests/InterpreterExceptionTest.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC] Fix weak hidden symbols failure on PPC with runtimedyld

Fix "JIT session error: Symbols not found: [ DW.ref.__gxx_personality_v0 ] error" which happens when trying to use exceptions on ppc linux. To do this, it expands AutoClaimSymbols option in RTDyldObjectLinkingLayer to also claim weak symbols before they are tried to be resovled. In ppc linux, DW.ref symbols is emitted as weak hidden symbols in the later stage of MC pipeline. This means when using IRLayer (i.e. LLJIT), IRLayer will not claim responsibility for such symbols and RuntimeDyld will skip defining this symbol even though it couldn't resolve corresponding external symbol.

Reviewed By: sgraenitz

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




More information about the All-commits mailing list