summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViktor Kutuzov <vkutuzov@accesssoftek.com>2015-05-06 10:32:28 +0000
committerViktor Kutuzov <vkutuzov@accesssoftek.com>2015-05-06 10:32:28 +0000
commit9ed9c3b5e5e94033adf149e7493997e31b9a44dd (patch)
tree351af9753c9159e51931571d2d5804c628a4aa19
parentf67c63591cb6509181f74987578699c51c440b2e (diff)
downloadlibunwind_llvm-9ed9c3b5e5e94033adf149e7493997e31b9a44dd.tar.gz
Fix libunwind to build on FreeBSD
Differential Revision: http://reviews.llvm.org/D9272 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@236585 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--src/AddressSpace.hpp11
1 files changed, 9 insertions, 2 deletions
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 @@ inline bool LocalAddressSpace::findUnwindSections(pint_t targetAddr,
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;