[PATCH] D107533: Handle encoding personalities of same names but different kinds.

Vy Nguyen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 17 09:35:39 PDT 2021


oontvoo added a comment.

> Re:  setting -keep_private_externs

Turnt out, the flag was *not* set for a specific reason

https://chromium.googlesource.com/chromium/src/+/refs/heads/main/components/cronet/tools/hide_symbols.py#124

  # When compiling for 64bit targets, the symbols in call_with_eh_frame.o are
  # referenced in assembly and eventually stripped by the call to ld -r above,
  # perhaps because the linker incorrectly assumes that those symbols are not
  # used. Using -keep_private_externs fixes the compile issue, but breaks
  # other parts of cronet. Instead, simply add a second .o file with the
  # personality routine. Note that this issue was not caught by Chrome tests,
  # it was only detected when apps tried to link the resulting .a file.

Maybe when/if we implement `lld -r` we can fix the bug here ...


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107533



More information about the llvm-commits mailing list