84 lines
3.0 KiB
Diff
84 lines
3.0 KiB
Diff
From faca3fbd15d0c3108493c3c54cd93138e049ac43 Mon Sep 17 00:00:00 2001
|
|
From: Andrea Brancaleoni <miwaxe@gmail.com>
|
|
Date: Tue, 8 Sep 2015 22:03:02 +0200
|
|
Subject: [PATCH 3/3] musl
|
|
|
|
---
|
|
include/llvm/Analysis/TargetLibraryInfo.h | 9 +++++++++
|
|
lib/Analysis/TargetLibraryInfo.cpp | 5 +++--
|
|
lib/Support/DynamicLibrary.cpp | 2 +-
|
|
lib/Support/Unix/Signals.inc | 6 +++---
|
|
utils/unittest/googletest/src/gtest.cc | 1 +
|
|
5 files changed, 17 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/include/llvm/Analysis/TargetLibraryInfo.h b/include/llvm/Analysis/TargetLibraryInfo.h
|
|
index e0a1ee3..465b65a 100644
|
|
--- a/include/llvm/Analysis/TargetLibraryInfo.h
|
|
+++ b/include/llvm/Analysis/TargetLibraryInfo.h
|
|
@@ -18,6 +18,15 @@
|
|
#include "llvm/IR/Module.h"
|
|
#include "llvm/Pass.h"
|
|
|
|
+#undef fopen64
|
|
+#undef fseeko64
|
|
+#undef fstat64
|
|
+#undef fstatvfs64
|
|
+#undef ftello64
|
|
+#undef lstat64
|
|
+#undef stat64
|
|
+#undef tmpfile64
|
|
+
|
|
namespace llvm {
|
|
/// VecDesc - Describes a possible vectorization of a function.
|
|
/// Function 'VectorFnName' is equivalent to 'ScalarFnName' vectorized
|
|
diff --git a/lib/Analysis/TargetLibraryInfo.cpp b/lib/Analysis/TargetLibraryInfo.cpp
|
|
index 635c50c..863f4a0 100644
|
|
--- a/lib/Analysis/TargetLibraryInfo.cpp
|
|
+++ b/lib/Analysis/TargetLibraryInfo.cpp
|
|
@@ -336,14 +336,15 @@ static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T,
|
|
}
|
|
|
|
// The following functions are available on at least Linux:
|
|
- if (!T.isOSLinux()) {
|
|
+ if (!T.isOSLinux())
|
|
+ TLI.setUnavailable(LibFunc::memalign);
|
|
+ if (1 /*!T.isGlibc()*/) {
|
|
TLI.setUnavailable(LibFunc::dunder_strdup);
|
|
TLI.setUnavailable(LibFunc::dunder_strtok_r);
|
|
TLI.setUnavailable(LibFunc::dunder_isoc99_scanf);
|
|
TLI.setUnavailable(LibFunc::dunder_isoc99_sscanf);
|
|
TLI.setUnavailable(LibFunc::under_IO_getc);
|
|
TLI.setUnavailable(LibFunc::under_IO_putc);
|
|
- TLI.setUnavailable(LibFunc::memalign);
|
|
TLI.setUnavailable(LibFunc::fopen64);
|
|
TLI.setUnavailable(LibFunc::fseeko64);
|
|
TLI.setUnavailable(LibFunc::fstat64);
|
|
diff --git a/lib/Support/DynamicLibrary.cpp b/lib/Support/DynamicLibrary.cpp
|
|
index 9a7aeb5..e21750d 100644
|
|
--- a/lib/Support/DynamicLibrary.cpp
|
|
+++ b/lib/Support/DynamicLibrary.cpp
|
|
@@ -138,7 +138,7 @@ void* DynamicLibrary::SearchForAddressOfSymbol(const char *symbolName) {
|
|
|
|
// This macro returns the address of a well-known, explicit symbol
|
|
#define EXPLICIT_SYMBOL(SYM) \
|
|
- if (!strcmp(symbolName, #SYM)) return &SYM
|
|
+ if (!strcmp(symbolName, #SYM)) return (void *) &SYM
|
|
|
|
// On linux we have a weird situation. The stderr/out/in symbols are both
|
|
// macros and global variables because of standards requirements. So, we
|
|
diff --git a/utils/unittest/googletest/src/gtest.cc b/utils/unittest/googletest/src/gtest.cc
|
|
index 5780764..1d548c1 100644
|
|
--- a/utils/unittest/googletest/src/gtest.cc
|
|
+++ b/utils/unittest/googletest/src/gtest.cc
|
|
@@ -120,6 +120,7 @@
|
|
|
|
#if GTEST_CAN_STREAM_RESULTS_
|
|
# include <arpa/inet.h> // NOLINT
|
|
+# include <sys/socket.h> // NOLINT
|
|
# include <netdb.h> // NOLINT
|
|
#endif
|
|
|
|
--
|
|
2.5.1
|
|
|