[PATCH] Fix libunwind to build on FreeBSD

Viktor Kutuzov vkutuzov at accesssoftek.com
Sat Apr 25 07:10:01 PDT 2015


Hi compnerd, kledzik, danalbert, emaste,

http://reviews.llvm.org/D9272

Files:
  src/AddressSpace.hpp

Index: src/AddressSpace.hpp
===================================================================
--- src/AddressSpace.hpp
+++ src/AddressSpace.hpp
@@ -57,7 +57,7 @@
 #endif // !defined(_LIBUNWIND_IS_BAREMETAL)
 #endif  // LIBCXXABI_ARM_EHABI
 
-#if defined(__CloudABI__) || defined(__linux__)
+#if defined(__CloudABI__) || defined(__FreeBSD__) || defined(__linux__)
 #if _LIBUNWIND_SUPPORT_DWARF_UNWIND && _LIBUNWIND_SUPPORT_DWARF_INDEX
 #include <link.h>
 #include "EHHeaderParser.hpp"
@@ -388,8 +388,13 @@
           return false;
         }
 
-        for (ElfW(Half) i = 0; i < pinfo->dlpi_phnum; i++) {
-          const ElfW(Phdr) *phdr = &pinfo->dlpi_phdr[i];
+#ifndef __FreeBSD__
+        typedef ElfW(Half) Elf_Half;
+        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;

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9272.24426.patch
Type: text/x-patch
Size: 1047 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150425/92ac07b8/attachment.bin>


More information about the llvm-commits mailing list