Fix libunwind to build on FreeBSD
Differential Revision: http://reviews.llvm.org/D9272
llvm-svn: 236585
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 66f711d1850d7bbf31c0bb276256e39ecbe2ebd7
diff --git a/src/AddressSpace.hpp b/src/AddressSpace.hpp
index e8acb46..4d74129 100644
--- a/src/AddressSpace.hpp
+++ b/src/AddressSpace.hpp
@@ -395,8 +395,15 @@
return false;
}
- for (ElfW(Half) i = 0; i < pinfo->dlpi_phnum; i++) {
- const ElfW(Phdr) *phdr = &pinfo->dlpi_phdr[i];
+#if !defined(Elf_Half)
+ typedef ElfW(Half) Elf_Half;
+#endif
+#if !defined(Elf_Phdr)
+ typedef ElfW(Phdr) Elf_Phdr;
+#endif
+
+ for (Elf_Half i = 0; i < pinfo->dlpi_phnum; i++) {
+ const Elf_Phdr *phdr = &pinfo->dlpi_phdr[i];
if (phdr->p_type == PT_LOAD) {
uintptr_t begin = pinfo->dlpi_addr + phdr->p_vaddr;
uintptr_t end = begin + phdr->p_memsz;