diff options
author | Viktor Kutuzov <vkutuzov@accesssoftek.com> | 2015-05-06 10:32:28 +0000 |
---|---|---|
committer | Viktor Kutuzov <vkutuzov@accesssoftek.com> | 2015-05-06 10:32:28 +0000 |
commit | 9ed9c3b5e5e94033adf149e7493997e31b9a44dd (patch) | |
tree | 351af9753c9159e51931571d2d5804c628a4aa19 | |
parent | f67c63591cb6509181f74987578699c51c440b2e (diff) | |
download | libunwind_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.hpp | 11 |
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; |