llvm-netbsd: Try to handle NetBSD specific path with debuginfo files
authorKamil Rytarowski <n54@gmx.com>
Sat, 23 Jun 2018 12:35:21 +0000 (14:35 +0200)
committerKamil Rytarowski <n54@gmx.com>
Sat, 23 Jun 2018 12:39:06 +0000 (14:39 +0200)
Register /usr/libdata/debug in Symbolize.cpp for NetBSD.

llvm-netbsd/distinfo
llvm-netbsd/patches/patch-lib_DebugInfo_Symbolize_Symbolize.cpp [new file with mode: 0644]

index 38f15ac48412c42fbca6bacf4983acf32ce5797c..933b983796af190bf74d82f4acacdd20d1faf089 100644 (file)
@@ -2,5 +2,6 @@ $NetBSD$
 
 SHA1 (patch-cmake_config-ix.cmake) = 55f484948dfb3293917ede3144d7c83f78c555b3
 SHA1 (patch-cmake_modules_AddLLVM.cmake) = 8b3f8fb7377f741796f1b427b6ef5f830059a8f9
+SHA1 (patch-lib_DebugInfo_Symbolize_Symbolize.cpp) = a708d0cea7318fce10ea71c21bb6ce3250bece18
 SHA1 (patch-lib_Transforms_Instrumentation_AddressSanitizer.cpp) = 31d2936ccbab17067faf4f3f1695d1002022eb56
 SHA1 (patch-lib_Transforms_Instrumentation_InstrProfiling.cpp) = 653876deaaecb4aff8fd052d45da7c6516e876fc
diff --git a/llvm-netbsd/patches/patch-lib_DebugInfo_Symbolize_Symbolize.cpp b/llvm-netbsd/patches/patch-lib_DebugInfo_Symbolize_Symbolize.cpp
new file mode 100644 (file)
index 0000000..bea5449
--- /dev/null
@@ -0,0 +1,18 @@
+$NetBSD$
+
+--- lib/DebugInfo/Symbolize/Symbolize.cpp.orig 2018-06-07 17:17:06.000000000 +0000
++++ lib/DebugInfo/Symbolize/Symbolize.cpp
+@@ -192,8 +192,13 @@ bool findDebugBinary(const std::string &
+     Result = DebugPath.str();
+     return true;
+   }
++#if defined(__NetBSD__)
++  // Try /usr/libdata/debug/path/to/original_binary/debuglink_name
++  DebugPath = "/usr/libdata/debug";
++#else
+   // Try /usr/lib/debug/path/to/original_binary/debuglink_name
+   DebugPath = "/usr/lib/debug";
++#endif
+   llvm::sys::path::append(DebugPath, llvm::sys::path::relative_path(OrigDir),
+                           DebuglinkName);
+   if (checkFileCRC(DebugPath, CRCHash)) {