SecBSD's official ports repository

This commit is contained in:
purplerain 2023-08-16 22:26:55 +00:00
commit 2c0afcbbf3
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
64331 changed files with 5339189 additions and 0 deletions

View file

@ -0,0 +1,19 @@
Use write(2) not syscall(2)
Index: absl/base/internal/raw_logging.cc
--- absl/base/internal/raw_logging.cc.orig
+++ absl/base/internal/raw_logging.cc
@@ -52,10 +52,12 @@
// ABSL_HAVE_SYSCALL_WRITE is defined when the platform provides the syscall
// syscall(SYS_write, /*int*/ fd, /*char* */ buf, /*size_t*/ len);
// for low level operations that want to avoid libc.
-#if (defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)) && \
+#if (defined(__linux__) || defined(__FreeBSD__)) && \
!defined(__ANDROID__)
#include <sys/syscall.h>
#define ABSL_HAVE_SYSCALL_WRITE 1
+#define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1
+#elif defined(__OpenBSD__)
#define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1
#else
#undef ABSL_HAVE_SYSCALL_WRITE

View file

@ -0,0 +1,16 @@
Disable the PowerPC counter, because UnscaledCycleClock::Frequency()
is not implemented on OpenBSD. Avoids error in unscaledcycleclock.cc,
#error Must implement UnscaledCycleClock::Frequency()
Index: absl/base/internal/unscaledcycleclock_config.h
--- absl/base/internal/unscaledcycleclock_config.h.orig
+++ absl/base/internal/unscaledcycleclock_config.h
@@ -21,7 +21,7 @@
// The following platforms have an implementation of a hardware counter.
#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
- defined(__powerpc__) || defined(__ppc__) || defined(__riscv) || \
+ /* defined(__powerpc__) || defined(__ppc__) || */ defined(__riscv) || \
defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
#define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
#else

View file

@ -0,0 +1,54 @@
Disable all tests that require a leak sanitizer because
OpenBSD does not support it.
Disable symbolize_test, which fails to link on amd64 where ld.lld
defaults to --exec-only.
Index: absl/debugging/CMakeLists.txt
--- absl/debugging/CMakeLists.txt.orig
+++ absl/debugging/CMakeLists.txt
@@ -89,6 +89,7 @@ absl_cc_library(
PUBLIC
)
+if (NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
absl_cc_test(
NAME
symbolize_test
@@ -110,6 +111,7 @@ absl_cc_test(
absl::strings
GTest::gmock
)
+endif()
# Internal-only target, do not depend on directly.
absl_cc_library(
@@ -220,6 +222,7 @@ absl_cc_test(
GTest::gmock_main
)
+if (NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
absl_cc_library(
NAME
leak_check
@@ -249,6 +252,7 @@ absl_cc_test(
absl::base
GTest::gmock_main
)
+endif()
# Internal-only target, do not depend on directly.
absl_cc_library(
@@ -267,6 +271,7 @@ absl_cc_library(
TESTONLY
)
+if (NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
absl_cc_test(
NAME
stack_consumption_test
@@ -292,3 +297,4 @@ absl_cc_library(
absl::leak_check
PUBLIC
)
+endif()

View file

@ -0,0 +1,46 @@
Index: absl/status/status.cc
--- absl/status/status.cc.orig
+++ absl/status/status.cc
@@ -467,14 +467,18 @@ StatusCode ErrnoToStatusCode(int error_number) {
case EFAULT: // Bad address
case EILSEQ: // Illegal byte sequence
case ENOPROTOOPT: // Protocol not available
+#ifdef ENOSTR
case ENOSTR: // Not a STREAM
+#endif
case ENOTSOCK: // Not a socket
case ENOTTY: // Inappropriate I/O control operation
case EPROTOTYPE: // Protocol wrong type for socket
case ESPIPE: // Invalid seek
return StatusCode::kInvalidArgument;
case ETIMEDOUT: // Connection timed out
+#ifdef ETIME
case ETIME: // Timer expired
+#endif
return StatusCode::kDeadlineExceeded;
case ENODEV: // No such device
case ENOENT: // No such file or directory
@@ -533,9 +537,13 @@ StatusCode ErrnoToStatusCode(int error_number) {
case EMLINK: // Too many links
case ENFILE: // Too many open files in system
case ENOBUFS: // No buffer space available
+#ifdef ENODATA
case ENODATA: // No message is available on the STREAM read queue
+#endif
case ENOMEM: // Not enough space
+#ifdef ENOSR
case ENOSR: // No STREAM resources
+#endif
#ifdef EUSERS
case EUSERS: // Too many users
#endif
@@ -578,7 +586,9 @@ StatusCode ErrnoToStatusCode(int error_number) {
case ENETRESET: // Connection aborted by network
case ENETUNREACH: // Network unreachable
case ENOLCK: // No locks available
+#ifdef ENOLINK
case ENOLINK: // Link has been severed
+#endif
#ifdef ENONET
case ENONET: // Machine is not on the network
#endif

View file

@ -0,0 +1,22 @@
Disable all tests that require a leak sanitizer because
OpenBSD does not support it.
Index: absl/types/CMakeLists.txt
--- absl/types/CMakeLists.txt.orig
+++ absl/types/CMakeLists.txt
@@ -241,6 +241,7 @@ absl_cc_test(
)
# Internal-only target, do not depend on directly.
+if (NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
absl_cc_library(
NAME
conformance_testing
@@ -292,6 +293,7 @@ absl_cc_test(
absl::type_traits
GTest::gmock_main
)
+endif()
absl_cc_library(
NAME