JDevlieghere added inline comments.
================
Comment at: lldb/tools/debugserver/source/DNB.cpp:1830-1837
+  static bool g_tried_addressing_bits_syscall = false;
+  if (g_tried_addressing_bits_syscall == false) {
+    size_t len = sizeof(uint32_t);
+    if (::sysctlbyname("machdep.virtual_address_size", &g_addressing_bits, 
&len,
+                       NULL, 0) != 0) {
+      g_addressing_bits = 0;
+    }
----------------
A more C++ and thread safe way of doing this is:

```
static std::once_flag g_once_flag;
std::call_once(g_once_flag, [&](){
        size_t len = sizeof(uint32_t);
        if (::sysctlbyname("machdep.virtual_address_size", &g_addressing_bits, 
&len,
                           NULL, 0) != 0) {
          g_addressing_bits = 0;
        }
}
```


================
Comment at: lldb/tools/debugserver/source/DNB.cpp:1840-1843
+  if (addressing_bits > 0)
+    return true;
+  else
+    return false;
----------------
```return g_addressing_bits > 0```


================
Comment at: 
lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp:98-100
+  uint32_t addressing_bits = 0;
+  if (!DNBGetAddressingBits(addressing_bits) || addressing_bits == 0)
+    return value;
----------------
Doesn't `DNBGetAddressingBits` already cover the case of `addressing_bits` 
being `0`? Why not have `DNBGetAddressingBits` return the addressing bits and 
do the check here?  


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136620/new/

https://reviews.llvm.org/D136620

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to