[libcxx-commits] [PATCH] D75480: Promote nameless lambda used by dl_iterate_phdr to named function to clean up control flow inside findUnwindSections. Also, expose the data structureto allow use by a future replacment function.

Mikhail Maltsev via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Mar 4 04:02:14 PST 2020


miyuki added a comment.

This also broke the build for baremetal configurations: before the patch the lambda was ifdef-ed out for cases like

  #elif defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) && defined(_LIBUNWIND_IS_BAREMETAL)
  ...
  #elif defined(_LIBUNWIND_ARM_EHABI) && defined(_LIBUNWIND_IS_BAREMETAL)
  ...

After the patch the code in the `findUnwindSectionByPhdr` function causes compile-time errors because of undefined symbols (e.g. `ElfW`) and accesses to the incomplete type `dl_phdr_info`. As the previous comment suggested, `findUnwindSectionByPhdr` should be ifdef-ed out when `_LIBUNWIND_IS_BAREMETAL` is defined.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D75480





More information about the libcxx-commits mailing list