FreeBSD compability (#57)

pull/62/head
Daniel Ylitalo 7 years ago committed by Derek Mauro
parent 04edad3801
commit 5fe41affba
  1. 8
      absl/base/config.h
  2. 2
      absl/base/internal/endian.h
  3. 5
      absl/base/internal/raw_logging.cc
  4. 2
      absl/base/internal/sysinfo.cc
  5. 4
      absl/debugging/internal/stacktrace_config.h
  6. 3
      absl/debugging/internal/stacktrace_powerpc-inl.inc

@ -254,8 +254,9 @@
// POSIX.1-2001. // POSIX.1-2001.
#ifdef ABSL_HAVE_MMAP #ifdef ABSL_HAVE_MMAP
#error ABSL_HAVE_MMAP cannot be directly set #error ABSL_HAVE_MMAP cannot be directly set
#elif defined(__linux__) || defined(__APPLE__) || defined(__ros__) || \ #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \
defined(__native_client__) || defined(__asmjs__) || defined(__Fuchsia__) defined(__ros__) || defined(__native_client__) || defined(__asmjs__) || \
defined(__Fuchsia__)
#define ABSL_HAVE_MMAP 1 #define ABSL_HAVE_MMAP 1
#endif #endif
@ -265,7 +266,8 @@
// functions as defined in POSIX.1-2001. // functions as defined in POSIX.1-2001.
#ifdef ABSL_HAVE_PTHREAD_GETSCHEDPARAM #ifdef ABSL_HAVE_PTHREAD_GETSCHEDPARAM
#error ABSL_HAVE_PTHREAD_GETSCHEDPARAM cannot be directly set #error ABSL_HAVE_PTHREAD_GETSCHEDPARAM cannot be directly set
#elif defined(__linux__) || defined(__APPLE__) || defined(__ros__) #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \
defined(__ros__)
#define ABSL_HAVE_PTHREAD_GETSCHEDPARAM 1 #define ABSL_HAVE_PTHREAD_GETSCHEDPARAM 1
#endif #endif

@ -22,6 +22,8 @@
#elif defined(__APPLE__) #elif defined(__APPLE__)
// Mac OS X / Darwin features // Mac OS X / Darwin features
#include <libkern/OSByteOrder.h> #include <libkern/OSByteOrder.h>
#elif defined(__FreeBSD__)
#include <sys/endian.h>
#elif defined(__GLIBC__) #elif defined(__GLIBC__)
#include <byteswap.h> // IWYU pragma: export #include <byteswap.h> // IWYU pragma: export
#endif #endif

@ -34,7 +34,8 @@
// //
// This preprocessor token is also defined in raw_io.cc. If you need to copy // This preprocessor token is also defined in raw_io.cc. If you need to copy
// this, consider moving both to config.h instead. // this, consider moving both to config.h instead.
#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \
defined(__Fuchsia__)
#include <unistd.h> #include <unistd.h>
@ -47,7 +48,7 @@
// ABSL_HAVE_SYSCALL_WRITE is defined when the platform provides the syscall // ABSL_HAVE_SYSCALL_WRITE is defined when the platform provides the syscall
// syscall(SYS_write, /*int*/ fd, /*char* */ buf, /*size_t*/ len); // syscall(SYS_write, /*int*/ fd, /*char* */ buf, /*size_t*/ len);
// for low level operations that want to avoid libc. // for low level operations that want to avoid libc.
#if defined(__linux__) && !defined(__ANDROID__) #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
#include <sys/syscall.h> #include <sys/syscall.h>
#define ABSL_HAVE_SYSCALL_WRITE 1 #define ABSL_HAVE_SYSCALL_WRITE 1
#define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1 #define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1

@ -29,7 +29,7 @@
#include <sys/syscall.h> #include <sys/syscall.h>
#endif #endif
#ifdef __APPLE__ #if defined(__APPLE__) || defined(__FreeBSD__)
#include <sys/sysctl.h> #include <sys/sysctl.h>
#endif #endif

@ -25,8 +25,8 @@
#if ABSL_STACKTRACE_INL_HEADER #if ABSL_STACKTRACE_INL_HEADER
#error ABSL_STACKTRACE_INL_HEADER cannot be directly set #error ABSL_STACKTRACE_INL_HEADER cannot be directly set
#elif defined(__native_client__) || defined(__APPLE__) || \ #elif defined(__native_client__) || defined(__APPLE__) || \
defined(__ANDROID__) || defined(__myriad2__) || defined(asmjs__) || \ defined(__FreeBSD__) || defined(__ANDROID__) || defined(__myriad2__) || \
defined(__Fuchsia__) defined(asmjs__) || defined(__Fuchsia__)
#define ABSL_STACKTRACE_INL_HEADER \ #define ABSL_STACKTRACE_INL_HEADER \
"absl/debugging/internal/stacktrace_unimplemented-inl.inc" "absl/debugging/internal/stacktrace_unimplemented-inl.inc"

@ -47,7 +47,8 @@ static inline void *StacktracePowerPCGetLR(void **sp) {
return *(sp+2); return *(sp+2);
#elif defined(_CALL_SYSV) #elif defined(_CALL_SYSV)
return *(sp+1); return *(sp+1);
#elif defined(__APPLE__) || (defined(__linux__) && defined(__PPC64__)) #elif defined(__APPLE__) || defined(__FreeBSD__) || \
(defined(__linux__) && defined(__PPC64__))
// This check is in case the compiler doesn't define _CALL_AIX/etc. // This check is in case the compiler doesn't define _CALL_AIX/etc.
return *(sp+2); return *(sp+2);
#elif defined(__linux) #elif defined(__linux)

Loading…
Cancel
Save