Skip to content

Commit a2e61bc

Browse files
authored
[lldb] Additional pieces towards OpenBSD support (#74198)
1 parent d00c502 commit a2e61bc

File tree

8 files changed

+24
-10
lines changed

8 files changed

+24
-10
lines changed

lldb/source/Core/FormatEntity.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1245,9 +1245,10 @@ bool FormatEntity::Format(const Entry &entry, Stream &s,
12451245
llvm::Triple::OSType ostype = arch.IsValid()
12461246
? arch.GetTriple().getOS()
12471247
: llvm::Triple::UnknownOS;
1248-
if ((ostype == llvm::Triple::FreeBSD) ||
1249-
(ostype == llvm::Triple::Linux) ||
1250-
(ostype == llvm::Triple::NetBSD)) {
1248+
if (ostype == llvm::Triple::FreeBSD ||
1249+
ostype == llvm::Triple::Linux ||
1250+
ostype == llvm::Triple::NetBSD ||
1251+
ostype == llvm::Triple::OpenBSD) {
12511252
format = "%" PRIu64;
12521253
}
12531254
} else {

lldb/source/Host/common/SocketAddress.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,8 @@ static socklen_t GetFamilyLength(sa_family_t family) {
113113
}
114114

115115
socklen_t SocketAddress::GetLength() const {
116-
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
116+
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
117+
defined(__OpenBSD__)
117118
return m_socket_addr.sa.sa_len;
118119
#else
119120
return GetFamilyLength(GetFamily());
@@ -128,7 +129,8 @@ sa_family_t SocketAddress::GetFamily() const {
128129

129130
void SocketAddress::SetFamily(sa_family_t family) {
130131
m_socket_addr.sa.sa_family = family;
131-
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
132+
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
133+
defined(__OpenBSD__)
132134
m_socket_addr.sa.sa_len = GetFamilyLength(family);
133135
#endif
134136
}

lldb/source/Host/posix/DomainSocket.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ static bool SetSockAddr(llvm::StringRef name, const size_t name_offset,
4848
saddr_un_len =
4949
offsetof(struct sockaddr_un, sun_path) + name_offset + name.size();
5050

51-
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
51+
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
52+
defined(__OpenBSD__)
5253
saddr_un->sun_len = saddr_un_len;
5354
#endif
5455

lldb/source/Initialization/SystemInitializerCommon.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
#include "lldb/Utility/Timer.h"
1919
#include "lldb/Version/Version.h"
2020

21-
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
21+
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
22+
defined(__OpenBSD__)
2223
#include "Plugins/Process/POSIX/ProcessPOSIXLog.h"
2324
#endif
2425

@@ -77,7 +78,8 @@ llvm::Error SystemInitializerCommon::Initialize() {
7778

7879
process_gdb_remote::ProcessGDBRemoteLog::Initialize();
7980

80-
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
81+
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
82+
defined(__OpenBSD__)
8183
ProcessPOSIXLog::Initialize();
8284
#endif
8385
#if defined(_WIN32)

lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,7 @@ bool DYLDRendezvous::SOEntryIsMainExecutable(const SOEntry &entry) {
549549
switch (triple.getOS()) {
550550
case llvm::Triple::FreeBSD:
551551
case llvm::Triple::NetBSD:
552+
case llvm::Triple::OpenBSD:
552553
return entry.file_spec == m_exe_file_spec;
553554
case llvm::Triple::Linux:
554555
if (triple.isAndroid())

lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ DynamicLoader *DynamicLoaderPOSIXDYLD::CreateInstance(Process *process,
5353
process->GetTarget().GetArchitecture().GetTriple();
5454
if (triple_ref.getOS() == llvm::Triple::FreeBSD ||
5555
triple_ref.getOS() == llvm::Triple::Linux ||
56-
triple_ref.getOS() == llvm::Triple::NetBSD)
56+
triple_ref.getOS() == llvm::Triple::NetBSD ||
57+
triple_ref.getOS() == llvm::Triple::OpenBSD)
5758
create = true;
5859
}
5960

lldb/test/API/api/multithreaded/common.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ class multithreaded_queue {
5858

5959
/// Allocates a char buffer with the current working directory
6060
inline char* get_working_dir() {
61-
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
61+
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
62+
defined(__OpenBSD__)
6263
return getwd(0);
6364
#else
6465
return get_current_dir_name();

lldb/test/API/tools/lldb-server/thread-name/main.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#include <pthread.h>
2+
#if defined(__OpenBSD__)
3+
#include <pthread_np.h>
4+
#endif
25
#include <signal.h>
36

47
void set_thread_name(const char *name) {
@@ -8,6 +11,8 @@ void set_thread_name(const char *name) {
811
::pthread_setname_np(::pthread_self(), name);
912
#elif defined(__NetBSD__)
1013
::pthread_setname_np(::pthread_self(), "%s", const_cast<char *>(name));
14+
#elif defined(__OpenBSD__)
15+
::pthread_set_name_np(::pthread_self(), name);
1116
#endif
1217
}
1318

0 commit comments

Comments
 (0)