[PATCH] D110040: [lld-macho] Don't replace local personality symbol with LazySymbol

Vy Nguyen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 18 18:12:07 PST 2021


oontvoo added a comment.

In D110040#3138464 <https://reviews.llvm.org/D110040#3138464>, @int3 wrote:

> can we have a test? :)

To be honest, I have a repro but I'm not sure there's a good (maintainable) way to put it into a test.
Repro:

  // ------------- defined.s
  .private_extern _my_personality
  
  .text
  .no_dead_strip _my_personality
  _my_personality:
  .cfi_startproc
  .cfi_def_cfa_offset 16
  .cfi_endproc
  nop
  .subsections_via_symbols
  
  // -----------objc.s
  .section __TEXT,__text
  .global _OBJC_CLASS_$_MyTest
  
  .no_dead_strip _OBJC_CLASS_$_MyTest
  _OBJC_CLASS_$_MyTest:
    .cfi_startproc
    .cfi_personality 155, _my_personality
    .cfi_def_cfa_offset 16
    ret
    .cfi_endproc
  
    ret
  .subsections_via_symbols

**build/link commands:**

  llvm-mc -filetype=obj -triple=x86_64-apple-iossimulator  defined.s -o defined.o
  llvm-mc -filetype=obj -triple=x86_64-apple-iossimulator  objc.s -o objc.o 
  ld -r -o combined.o
  ar r pack.a defined.o combined.o
  
  ld64.lld.darwinnew   -dylib  -arch x86_64  -platform_version ios-simulator 12.0.0 15.0  -syslibroot third_party/apple_sdks/xcode_13_0/iphonesimulator  -ObjC  pack.a

Thoughts?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110040/new/

https://reviews.llvm.org/D110040



More information about the llvm-commits mailing list