[Lldb-commits] [lldb] c0df412 - [lldb] Fix build on older FreeBSD

2023-04-04 Thread Brooks Davis via lldb-commits

Author: Brooks Davis
Date: 2023-04-04T21:21:45+01:00
New Revision: c0df412ad2a5236a66ff1b608aeddc744b563e79

URL: 
https://github.com/llvm/llvm-project/commit/c0df412ad2a5236a66ff1b608aeddc744b563e79
DIFF: 
https://github.com/llvm/llvm-project/commit/c0df412ad2a5236a66ff1b608aeddc744b563e79.diff

LOG: [lldb] Fix build on older FreeBSD

Commit 392d9eb03af5a1adac66a86939351b22b3e73495 added a dependency on
FPE_FLTIDO which was only defined in FreeBSD main on May 19, 2022 and
is not in all supported releases. Just define it if it's missing as we
could use a debugger compiled on an older system to debug a newer one.

Reviewed by: DavidSpickett, emaste, dim

Differential Revision: https://reviews.llvm.org/D147300

Added: 


Modified: 
lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp

Removed: 




diff  --git a/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp 
b/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp
index f436de0d033e..ebf197339446 100644
--- a/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp
+++ b/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp
@@ -11,6 +11,10 @@
 #ifdef __FreeBSD__
 #include 
 
+#ifndef FPE_FLTIDO
+#define FPE_FLTIDO 9
+#endif
+
 #define ADD_SIGCODE(signal_name, signal_value, code_name, code_value, ...) 
\
   static_assert(signal_name == signal_value,   
\
 "Value mismatch for signal number " #signal_name); 
\



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


[Lldb-commits] [lldb] [llbd] Finish Turn lldb_private::Status into a value type. (#10616) (PR #112420)

2024-10-15 Thread Brooks Davis via lldb-commits

https://github.com/brooksdavis created 
https://github.com/llvm/llvm-project/pull/112420

Fix a few bare Status() invocations that were missed in the conversion. This is 
sufficent to build lldb on FreeBSD/aaarch64.

Fixes: 0642cd768b80

>From 1732a1841a24e411cb261d7ae3bff16af618268c Mon Sep 17 00:00:00 2001
From: Brooks Davis 
Date: Tue, 15 Oct 2024 20:03:54 +0100
Subject: [PATCH] [llbd] Finish Turn lldb_private::Status into a value type.
 (#10616)

Fix a few bare Status() invocations that were missed in the conversion.
This is sufficent to build lldb on FreeBSD/aaarch64.

Fixes: 0642cd768b80
---
 .../NativeRegisterContextFreeBSD_arm64.cpp| 22 +--
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git 
a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp 
b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
index 1a6defbff3543c..2ed829795d398f 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
@@ -119,17 +119,16 @@ NativeRegisterContextFreeBSD_arm64::ReadRegister(const 
RegisterInfo *reg_info,
  RegisterValue ®_value) {
   Status error;
 
-  if (!reg_info) {
-error = Status::FromErrorString("reg_info NULL");
-return error;
-  }
+  if (!reg_info)
+return Status::FromErrorString("reg_info NULL");
 
   const uint32_t reg = reg_info->kinds[lldb::eRegisterKindLLDB];
 
   if (reg == LLDB_INVALID_REGNUM)
-return Status("no lldb regnum for %s", reg_info && reg_info->name
-   ? reg_info->name
-   : "");
+return Status::FromErrorStringWithFormat("no lldb regnum for %s",
+ reg_info && reg_info->name ?
+ reg_info->name :
+ "");
 
   uint32_t set = GetRegisterInfo().GetRegisterSetFromRegisterIndex(reg);
   error = ReadRegisterSet(set);
@@ -147,14 +146,15 @@ Status NativeRegisterContextFreeBSD_arm64::WriteRegister(
   Status error;
 
   if (!reg_info)
-return Status("reg_info NULL");
+return Status::FromErrorString("reg_info NULL");
 
   const uint32_t reg = reg_info->kinds[lldb::eRegisterKindLLDB];
 
   if (reg == LLDB_INVALID_REGNUM)
-return Status("no lldb regnum for %s", reg_info && reg_info->name
-   ? reg_info->name
-   : "");
+return Status::FromErrorStringWithFormat("no lldb regnum for %s",
+ reg_info && reg_info->name ?
+ reg_info->name :
+ "");
 
   uint32_t set = GetRegisterInfo().GetRegisterSetFromRegisterIndex(reg);
   error = ReadRegisterSet(set);

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


[Lldb-commits] [lldb] [llbd] Finish Turn lldb_private::Status into a value type. (#10616) (PR #112420)

2024-10-15 Thread Brooks Davis via lldb-commits

https://github.com/brooksdavis updated 
https://github.com/llvm/llvm-project/pull/112420

>From 1732a1841a24e411cb261d7ae3bff16af618268c Mon Sep 17 00:00:00 2001
From: Brooks Davis 
Date: Tue, 15 Oct 2024 20:03:54 +0100
Subject: [PATCH 1/3] [llbd] Finish Turn lldb_private::Status into a value
 type. (#10616)

Fix a few bare Status() invocations that were missed in the conversion.
This is sufficent to build lldb on FreeBSD/aaarch64.

Fixes: 0642cd768b80
---
 .../NativeRegisterContextFreeBSD_arm64.cpp| 22 +--
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git 
a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp 
b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
index 1a6defbff3543c..2ed829795d398f 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
@@ -119,17 +119,16 @@ NativeRegisterContextFreeBSD_arm64::ReadRegister(const 
RegisterInfo *reg_info,
  RegisterValue ®_value) {
   Status error;
 
-  if (!reg_info) {
-error = Status::FromErrorString("reg_info NULL");
-return error;
-  }
+  if (!reg_info)
+return Status::FromErrorString("reg_info NULL");
 
   const uint32_t reg = reg_info->kinds[lldb::eRegisterKindLLDB];
 
   if (reg == LLDB_INVALID_REGNUM)
-return Status("no lldb regnum for %s", reg_info && reg_info->name
-   ? reg_info->name
-   : "");
+return Status::FromErrorStringWithFormat("no lldb regnum for %s",
+ reg_info && reg_info->name ?
+ reg_info->name :
+ "");
 
   uint32_t set = GetRegisterInfo().GetRegisterSetFromRegisterIndex(reg);
   error = ReadRegisterSet(set);
@@ -147,14 +146,15 @@ Status NativeRegisterContextFreeBSD_arm64::WriteRegister(
   Status error;
 
   if (!reg_info)
-return Status("reg_info NULL");
+return Status::FromErrorString("reg_info NULL");
 
   const uint32_t reg = reg_info->kinds[lldb::eRegisterKindLLDB];
 
   if (reg == LLDB_INVALID_REGNUM)
-return Status("no lldb regnum for %s", reg_info && reg_info->name
-   ? reg_info->name
-   : "");
+return Status::FromErrorStringWithFormat("no lldb regnum for %s",
+ reg_info && reg_info->name ?
+ reg_info->name :
+ "");
 
   uint32_t set = GetRegisterInfo().GetRegisterSetFromRegisterIndex(reg);
   error = ReadRegisterSet(set);

>From eacd20618c76b2b07ad46249dfa8a0b95b1ae5ec Mon Sep 17 00:00:00 2001
From: Brooks Davis 
Date: Tue, 15 Oct 2024 20:59:45 +0100
Subject: [PATCH 2/3] Appease clang-format

---
 .../FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp | 14 ++
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git 
a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp 
b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
index 2ed829795d398f..60f5672065e03b 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
@@ -125,10 +125,9 @@ NativeRegisterContextFreeBSD_arm64::ReadRegister(const 
RegisterInfo *reg_info,
   const uint32_t reg = reg_info->kinds[lldb::eRegisterKindLLDB];
 
   if (reg == LLDB_INVALID_REGNUM)
-return Status::FromErrorStringWithFormat("no lldb regnum for %s",
- reg_info && reg_info->name ?
- reg_info->name :
- "");
+return Status::FromErrorStringWithFormat(
+   "no lldb regnum for %s",
+reg_info && reg_info->name ? reg_info->name : "");
 
   uint32_t set = GetRegisterInfo().GetRegisterSetFromRegisterIndex(reg);
   error = ReadRegisterSet(set);
@@ -151,10 +150,9 @@ Status NativeRegisterContextFreeBSD_arm64::WriteRegister(
   const uint32_t reg = reg_info->kinds[lldb::eRegisterKindLLDB];
 
   if (reg == LLDB_INVALID_REGNUM)
-return Status::FromErrorStringWithFormat("no lldb regnum for %s",
- reg_info && reg_info->name ?
- reg_info->name :
- "");
+return Status::FromErrorStringWithFormat(
+   "no lldb regnum for %s",
+reg_info && reg_info->name ? reg_info->name : "");
 
   uint32_t set = GetRegisterInfo().GetRegisterSetFromRegisterIndex(reg);
   error = ReadRegisterSet(set);

>From 84ae24cc3132e9a3526f96a7586befc122bb5534 Mon Sep 17

[Lldb-commits] [lldb] [llbd] Finish Turn lldb_private::Status into a value type. (#10616) (PR #112420)

2024-10-15 Thread Brooks Davis via lldb-commits

https://github.com/brooksdavis updated 
https://github.com/llvm/llvm-project/pull/112420

>From 1732a1841a24e411cb261d7ae3bff16af618268c Mon Sep 17 00:00:00 2001
From: Brooks Davis 
Date: Tue, 15 Oct 2024 20:03:54 +0100
Subject: [PATCH 1/2] [llbd] Finish Turn lldb_private::Status into a value
 type. (#10616)

Fix a few bare Status() invocations that were missed in the conversion.
This is sufficent to build lldb on FreeBSD/aaarch64.

Fixes: 0642cd768b80
---
 .../NativeRegisterContextFreeBSD_arm64.cpp| 22 +--
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git 
a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp 
b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
index 1a6defbff3543c..2ed829795d398f 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
@@ -119,17 +119,16 @@ NativeRegisterContextFreeBSD_arm64::ReadRegister(const 
RegisterInfo *reg_info,
  RegisterValue ®_value) {
   Status error;
 
-  if (!reg_info) {
-error = Status::FromErrorString("reg_info NULL");
-return error;
-  }
+  if (!reg_info)
+return Status::FromErrorString("reg_info NULL");
 
   const uint32_t reg = reg_info->kinds[lldb::eRegisterKindLLDB];
 
   if (reg == LLDB_INVALID_REGNUM)
-return Status("no lldb regnum for %s", reg_info && reg_info->name
-   ? reg_info->name
-   : "");
+return Status::FromErrorStringWithFormat("no lldb regnum for %s",
+ reg_info && reg_info->name ?
+ reg_info->name :
+ "");
 
   uint32_t set = GetRegisterInfo().GetRegisterSetFromRegisterIndex(reg);
   error = ReadRegisterSet(set);
@@ -147,14 +146,15 @@ Status NativeRegisterContextFreeBSD_arm64::WriteRegister(
   Status error;
 
   if (!reg_info)
-return Status("reg_info NULL");
+return Status::FromErrorString("reg_info NULL");
 
   const uint32_t reg = reg_info->kinds[lldb::eRegisterKindLLDB];
 
   if (reg == LLDB_INVALID_REGNUM)
-return Status("no lldb regnum for %s", reg_info && reg_info->name
-   ? reg_info->name
-   : "");
+return Status::FromErrorStringWithFormat("no lldb regnum for %s",
+ reg_info && reg_info->name ?
+ reg_info->name :
+ "");
 
   uint32_t set = GetRegisterInfo().GetRegisterSetFromRegisterIndex(reg);
   error = ReadRegisterSet(set);

>From eacd20618c76b2b07ad46249dfa8a0b95b1ae5ec Mon Sep 17 00:00:00 2001
From: Brooks Davis 
Date: Tue, 15 Oct 2024 20:59:45 +0100
Subject: [PATCH 2/2] Appease clang-format

---
 .../FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp | 14 ++
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git 
a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp 
b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
index 2ed829795d398f..60f5672065e03b 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
@@ -125,10 +125,9 @@ NativeRegisterContextFreeBSD_arm64::ReadRegister(const 
RegisterInfo *reg_info,
   const uint32_t reg = reg_info->kinds[lldb::eRegisterKindLLDB];
 
   if (reg == LLDB_INVALID_REGNUM)
-return Status::FromErrorStringWithFormat("no lldb regnum for %s",
- reg_info && reg_info->name ?
- reg_info->name :
- "");
+return Status::FromErrorStringWithFormat(
+   "no lldb regnum for %s",
+reg_info && reg_info->name ? reg_info->name : "");
 
   uint32_t set = GetRegisterInfo().GetRegisterSetFromRegisterIndex(reg);
   error = ReadRegisterSet(set);
@@ -151,10 +150,9 @@ Status NativeRegisterContextFreeBSD_arm64::WriteRegister(
   const uint32_t reg = reg_info->kinds[lldb::eRegisterKindLLDB];
 
   if (reg == LLDB_INVALID_REGNUM)
-return Status::FromErrorStringWithFormat("no lldb regnum for %s",
- reg_info && reg_info->name ?
- reg_info->name :
- "");
+return Status::FromErrorStringWithFormat(
+   "no lldb regnum for %s",
+reg_info && reg_info->name ? reg_info->name : "");
 
   uint32_t set = GetRegisterInfo().GetRegisterSetFromRegisterIndex(reg);
   error = ReadRegisterSet(set);

___
lldb-comm