Page MenuHomeFreeBSD

D39939.diff
No OneTemporary

D39939.diff

diff --git a/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp b/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
--- a/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
+++ b/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
@@ -178,6 +178,11 @@
int32_t pcbsize =
ReadSignedIntegerFromMemory(FindSymbol("pcb_size"), 4, -1, error);
lldb::addr_t stoppcbs = FindSymbol("stoppcbs");
+ // In later FreeBSD versions stoppcbs is a pointer to the array.
+ int32_t osreldate =
+ ReadSignedIntegerFromMemory(FindSymbol("osreldate"), 4, -1, error);
+ if (stoppcbs != LLDB_INVALID_ADDRESS && osreldate >= 1400089)
+ stoppcbs = ReadPointerFromMemory(stoppcbs, error);
// from FreeBSD sys/param.h
constexpr size_t fbsd_maxcomlen = 19;

File Metadata

Mime Type
text/plain
Expires
Wed, Mar 5, 12:05 PM (18 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16991958
Default Alt Text
D39939.diff (930 B)

Event Timeline