mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
add minix support, patch by Kees van Reeuwijk! PR6797
llvm-svn: 100895
This commit is contained in:
parent
cd7b368e65
commit
9d77e5ba47
@ -159,6 +159,11 @@ AC_CACHE_CHECK([type of operating system we're going to host on],
|
||||
llvm_cv_no_link_all_option="-Wl,-noall_load"
|
||||
llvm_cv_os_type="Darwin"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-minix*)
|
||||
llvm_cv_link_all_option="-Wl,-all_load"
|
||||
llvm_cv_no_link_all_option="-Wl,-noall_load"
|
||||
llvm_cv_os_type="Minix"
|
||||
llvm_cv_platform_type="Unix" ;;
|
||||
*-*-freebsd*)
|
||||
llvm_cv_link_all_option="-Wl,--whole-archive"
|
||||
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
||||
@ -247,6 +252,8 @@ AC_CACHE_CHECK([type of operating system we're going to target],
|
||||
llvm_cv_target_os_type="Cygwin" ;;
|
||||
*-*-darwin*)
|
||||
llvm_cv_target_os_type="Darwin" ;;
|
||||
*-*-minix*)
|
||||
llvm_cv_target_os_type="Minix" ;;
|
||||
*-*-freebsd*)
|
||||
llvm_cv_target_os_type="FreeBSD" ;;
|
||||
*-*-openbsd*)
|
||||
|
@ -442,7 +442,8 @@ uint64_t raw_fd_ostream::seek(uint64_t off) {
|
||||
}
|
||||
|
||||
size_t raw_fd_ostream::preferred_buffer_size() const {
|
||||
#if !defined(_MSC_VER) && !defined(__MINGW32__) // Windows has no st_blksize.
|
||||
#if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(_MINIX)
|
||||
// Windows and Minix have no st_blksize.
|
||||
assert(FD >= 0 && "File not yet open!");
|
||||
struct stat statbuf;
|
||||
if (fstat(FD, &statbuf) != 0)
|
||||
|
@ -44,6 +44,7 @@ void llvm::sys::DynamicLibrary::AddSymbol(const char* symbolName,
|
||||
|
||||
#else
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
#include <dlfcn.h>
|
||||
using namespace llvm;
|
||||
using namespace llvm::sys;
|
||||
@ -68,6 +69,17 @@ bool DynamicLibrary::LoadLibraryPermanently(const char *Filename,
|
||||
OpenedHandles->push_back(H);
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
|
||||
using namespace llvm;
|
||||
using namespace llvm::sys;
|
||||
|
||||
bool DynamicLibrary::LoadLibraryPermanently(const char *Filename,
|
||||
std::string *ErrMsg) {
|
||||
if (ErrMsg) *ErrMsg = "dlopen() not supported on this platform";
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
namespace llvm {
|
||||
void *SearchForAddressOfSpecialSymbol(const char* symbolName);
|
||||
@ -84,6 +96,7 @@ void* DynamicLibrary::SearchForAddressOfSymbol(const char* symbolName) {
|
||||
return I->second;
|
||||
}
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
// Now search the libraries.
|
||||
if (OpenedHandles) {
|
||||
for (std::vector<void *>::iterator I = OpenedHandles->begin(),
|
||||
@ -95,6 +108,7 @@ void* DynamicLibrary::SearchForAddressOfSymbol(const char* symbolName) {
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (void *Result = llvm::SearchForAddressOfSpecialSymbol(symbolName))
|
||||
return Result;
|
||||
|
@ -13,7 +13,7 @@ PARALLEL_DIRS = Utils Instrumentation Scalar InstCombine IPO Hello
|
||||
include $(LEVEL)/Makefile.config
|
||||
|
||||
# No support for plugins on windows targets
|
||||
ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
|
||||
ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW Minix))
|
||||
PARALLEL_DIRS := $(filter-out Hello, $(PARALLEL_DIRS))
|
||||
endif
|
||||
|
||||
|
@ -20,7 +20,7 @@ ifeq ($(ARCH), Sparc)
|
||||
PARALLEL_DIRS := $(filter-out libprofile, $(PARALLEL_DIRS))
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET_OS), $(filter $(TARGET_OS), Cygwin MingW))
|
||||
ifeq ($(TARGET_OS), $(filter $(TARGET_OS), Cygwin MingW Minix))
|
||||
PARALLEL_DIRS := $(filter-out libprofile, $(PARALLEL_DIRS))
|
||||
endif
|
||||
|
||||
|
@ -227,9 +227,10 @@
|
||||
// TODO(wan@google.com): uses autoconf to detect whether ::std::wstring
|
||||
// is available.
|
||||
|
||||
#if defined(GTEST_OS_CYGWIN) || defined(GTEST_OS_SOLARIS) || defined(GTEST_OS_HAIKU)
|
||||
#if defined(GTEST_OS_CYGWIN) || defined(GTEST_OS_SOLARIS) || defined(GTEST_OS_HAIKU) || defined(_MINIX)
|
||||
// At least some versions of cygwin don't support ::std::wstring.
|
||||
// Solaris' libc++ doesn't support it either.
|
||||
// Minix currently doesn't support it either.
|
||||
#define GTEST_HAS_STD_WSTRING 0
|
||||
#else
|
||||
#define GTEST_HAS_STD_WSTRING GTEST_HAS_STD_STRING
|
||||
|
Loading…
Reference in New Issue
Block a user