about summary refs log tree commit diff homepage
path: root/scripts/build
diff options
context:
space:
mode:
authorFrank Busse <bb0xfb@gmail.com>2021-12-15 16:38:21 +0000
committerCristian Cadar <c.cadar@imperial.ac.uk>2022-03-17 22:59:26 +0000
commit0f45ab7a5008bd5e68201449bd1e0a999f999457 (patch)
tree585d30a6d2cd9c2ee6c31240a86d034f10d564bb /scripts/build
parentd8553f3cec042b5af9e21c268cb14ee8f7b30083 (diff)
downloadklee-0f45ab7a5008bd5e68201449bd1e0a999f999457.tar.gz
remove LLVM < 6 from build/test scripts
Diffstat (limited to 'scripts/build')
-rw-r--r--scripts/build/p-libcxx.inc8
-rw-r--r--scripts/build/p-llvm.inc25
-rw-r--r--scripts/build/patches/libcxx38.patch11
-rw-r--r--scripts/build/patches/libcxx39.patch11
-rw-r--r--scripts/build/patches/libcxx40.patch11
-rw-r--r--scripts/build/patches/llvm38.patch127
-rw-r--r--scripts/build/patches/llvm39.patch76
-rw-r--r--scripts/build/patches/llvm40.patch100
-rw-r--r--scripts/build/patches/llvm50.patch24
9 files changed, 5 insertions, 388 deletions
diff --git a/scripts/build/p-libcxx.inc b/scripts/build/p-libcxx.inc
index ec0d902b..d88699ba 100644
--- a/scripts/build/p-libcxx.inc
+++ b/scripts/build/p-libcxx.inc
@@ -10,11 +10,7 @@ download_libcxx() {
   [[ -f "${LIBCXX_SRC}/.src_checked_out" ]] && return 0
 
   local LLVM_VERSION_MAJOR="${LLVM_VERSION/.*/}"
-
-  local version=""
-  [[ "${LLVM_VERSION_MAJOR}" -le 3 ]] && version="release/${LLVM_VERSION}.x"
-  [[ "${LLVM_VERSION_MAJOR}" -ge 4 ]] && version="release/${LLVM_VERSION_MAJOR}.x"
-
+  local version="release/${LLVM_VERSION_MAJOR}.x"
 
   git clone --single-branch --branch "${version}" --depth 1 "https://github.com/llvm/llvm-project.git" "${LIBCXX_SRC}"
 
@@ -85,7 +81,7 @@ install_libcxx() {
     fi
 
     local LLVM_VERSION_MAJOR="${LLVM_VERSION/.*/}"
-    [[ "${LLVM_VERSION_MAJOR}" -ge 6 ]] && libraries+=("${LIBCXX_INSTALL}"/lib/lib*.a)
+    libraries+=("${LIBCXX_INSTALL}"/lib/lib*.a)
 
 
     for p in "${libraries[@]}" ; do
diff --git a/scripts/build/p-llvm.inc b/scripts/build/p-llvm.inc
index a97b8676..e335ad73 100644
--- a/scripts/build/p-llvm.inc
+++ b/scripts/build/p-llvm.inc
@@ -97,17 +97,7 @@ download_llvm() {
   local LLVM_VERSION_MAJOR="${LLVM_VERSION/.*/}"
 
   branch_name="release/${LLVM_VERSION_MAJOR}.x"
-  if [[ "${LLVM_VERSION_MAJOR}" -le 3 ]]; then
-    branch_name="release/${LLVM_VERSION}.x"
-  fi
   git_clone_or_update "https://github.com/llvm/llvm-project.git" "${LLVM_SRC_BASE}" "${branch_name}" || exit 1
-  if [[ "${LLVM_VERSION_MAJOR}" -lt 4 ]]; then
-    # Use symlinks for older versions whose build systems do not support the monorepo directory layout
-    ln -s "${LLVM_SRC_BASE}/clang" "${LLVM_SRC_BASE}/llvm/tools/"
-    ln -s "${LLVM_SRC_BASE}/compiler-rt" "${LLVM_SRC_BASE}/llvm/projects/"
-    ln -s "${LLVM_SRC_BASE}/libcxx" "${LLVM_SRC_BASE}/llvm/projects/"
-    ln -s "${LLVM_SRC_BASE}/libcxxabi" "${LLVM_SRC_BASE}/llvm/projects/"
-  fi
 
   # Apply existing patches if needed
   if [ -f "${DIR}/patches/llvm${LLVM_VERSION_SHORT}.patch" ]; then
@@ -190,11 +180,7 @@ build_llvm() {
   )
 
   # Select components to build
-  if [[ ${LLVM_VERSION_SHORT} -ge 60 ]]; then
-    CONFIG+=("-DLLVM_ENABLE_PROJECTS=clang;compiler-rt;libcxx;libcxxabi")
-  else
-    CONFIG+=("-DLLVM_ENABLE_PROJECTS=clang;compiler-rt")
-  fi
+  CONFIG+=("-DLLVM_ENABLE_PROJECTS=clang;compiler-rt;libcxx;libcxxabi")
 
   # cmake build
   if [[ "${enable_optimized}" == "1" && "${enable_debug}" != "1" ]]; then
@@ -279,13 +265,8 @@ install_llvm() {
       install-clang install-llvm-config install-llvm-objdump
       install-llvm-link install-llvm-ar install-llvm-nm install-llvm-dis
       install-clang-headers install-llvm-as
-      install-llvm-symbolizer install-LLVMSupport install-lli not FileCheck )
-  
-    if [[ ${LLVM_VERSION_SHORT} -eq 38 ]]; then
-      LLVM_PACKAGES=("${LLVM_PACKAGES[@]}" installhdrs)
-    else
-      LLVM_PACKAGES=("${LLVM_PACKAGES[@]}" install-llvm-headers)
-    fi
+      install-llvm-symbolizer install-LLVMSupport install-lli not FileCheck
+      install-llvm-headers )
   
     ninja "${LLVM_PACKAGES[@]}"
 
diff --git a/scripts/build/patches/libcxx38.patch b/scripts/build/patches/libcxx38.patch
deleted file mode 100644
index 382db544..00000000
--- a/scripts/build/patches/libcxx38.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libcxx/include/__locale
-+++ b/libcxx/include/__locale
-@@ -34,7 +34,7 @@
- # include <support/solaris/xlocale.h>
- #elif defined(_NEWLIB_VERSION)
- # include <support/newlib/xlocale.h>
--#elif (defined(__GLIBC__) || defined(__APPLE__)      || defined(__FreeBSD__) \
-+#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
-     || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
- # include <xlocale.h>
- #elif defined(_LIBCPP_HAS_MUSL_LIBC)
diff --git a/scripts/build/patches/libcxx39.patch b/scripts/build/patches/libcxx39.patch
deleted file mode 100644
index 382db544..00000000
--- a/scripts/build/patches/libcxx39.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libcxx/include/__locale
-+++ b/libcxx/include/__locale
-@@ -34,7 +34,7 @@
- # include <support/solaris/xlocale.h>
- #elif defined(_NEWLIB_VERSION)
- # include <support/newlib/xlocale.h>
--#elif (defined(__GLIBC__) || defined(__APPLE__)      || defined(__FreeBSD__) \
-+#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
-     || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
- # include <xlocale.h>
- #elif defined(_LIBCPP_HAS_MUSL_LIBC)
diff --git a/scripts/build/patches/libcxx40.patch b/scripts/build/patches/libcxx40.patch
deleted file mode 100644
index 382db544..00000000
--- a/scripts/build/patches/libcxx40.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libcxx/include/__locale
-+++ b/libcxx/include/__locale
-@@ -34,7 +34,7 @@
- # include <support/solaris/xlocale.h>
- #elif defined(_NEWLIB_VERSION)
- # include <support/newlib/xlocale.h>
--#elif (defined(__GLIBC__) || defined(__APPLE__)      || defined(__FreeBSD__) \
-+#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
-     || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
- # include <xlocale.h>
- #elif defined(_LIBCPP_HAS_MUSL_LIBC)
diff --git a/scripts/build/patches/llvm38.patch b/scripts/build/patches/llvm38.patch
deleted file mode 100644
index f2de69b0..00000000
--- a/scripts/build/patches/llvm38.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
-index 99c7b8e6..f9a57b25 100644
---- a/clang/lib/Driver/ToolChains.cpp
-+++ b/clang/lib/Driver/ToolChains.cpp
-@@ -1241,20 +1241,31 @@ Generic_GCC::GCCVersion Linux::GCCVersion::Parse(StringRef VersionText) {
-   if (First.first.getAsInteger(10, GoodVersion.Major) || GoodVersion.Major < 0)
-     return BadVersion;
-   GoodVersion.MajorStr = First.first.str();
--  if (Second.first.getAsInteger(10, GoodVersion.Minor) || GoodVersion.Minor < 0)
-+  if (First.second.empty())
-+    return GoodVersion;
-+  StringRef MinorStr = Second.first;
-+  if (Second.second.empty()) {
-+    if (size_t EndNumber = MinorStr.find_first_not_of("0123456789")) {
-+      GoodVersion.PatchSuffix = MinorStr.substr(EndNumber);
-+      MinorStr = MinorStr.slice(0, EndNumber);
-+    }
-+  }
-+  if (MinorStr.getAsInteger(10, GoodVersion.Minor) || GoodVersion.Minor < 0)
-     return BadVersion;
--  GoodVersion.MinorStr = Second.first.str();
-+  GoodVersion.MinorStr = MinorStr.str();
-
-   // First look for a number prefix and parse that if present. Otherwise just
-   // stash the entire patch string in the suffix, and leave the number
-   // unspecified. This covers versions strings such as:
-+  //   5        (handled above)
-   //   4.4
-+  //   4.4-patched
-   //   4.4.0
-   //   4.4.x
-   //   4.4.2-rc4
-   //   4.4.x-patched
-   // And retains any patch number it finds.
--  StringRef PatchText = GoodVersion.PatchSuffix = Second.second.str();
-+  StringRef PatchText = Second.second.str();
-   if (!PatchText.empty()) {
-     if (size_t EndNumber = PatchText.find_first_not_of("0123456789")) {
-       // Try to parse the number and any suffix.
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
-index 70799663..b9ca8b9d 100644
---- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
-@@ -565,8 +565,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) {
- }
- #endif
-
--uptr internal_sigaltstack(const struct sigaltstack *ss,
--                         struct sigaltstack *oss) {
-+uptr internal_sigaltstack(const void *ss, void *oss) {
-   return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
- }
-
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux.h b/compiler-rt/lib/sanitizer_common/sanitizer_linux.h
-index 77bfbd15..5572793e 100644
---- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.h
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.h
-@@ -21,7 +21,6 @@
- #include "sanitizer_platform_limits_posix.h"
-
- struct link_map;  // Opaque type returned by dlopen().
--struct sigaltstack;
-
- namespace __sanitizer {
- // Dirent structure for getdents(). Note that this structure is different from
-@@ -30,8 +29,7 @@ struct linux_dirent;
-
- // Syscall wrappers.
- uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
--uptr internal_sigaltstack(const struct sigaltstack* ss,
--                          struct sigaltstack* oss);
-+uptr internal_sigaltstack(const void* ss, void* oss);
- uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
-     __sanitizer_sigset_t *oldset);
- void internal_sigfillset(__sanitizer_sigset_t *set);
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-index d1e2f6ac..2df7be58 100644
---- a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-@@ -272,7 +272,7 @@ static int TracerThread(void* argument) {
-
-   // Alternate stack for signal handling.
-   InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
--  struct sigaltstack handler_stack;
-+  stack_t handler_stack;
-   internal_memset(&handler_stack, 0, sizeof(handler_stack));
-   handler_stack.ss_sp = handler_stack_memory.data();
-   handler_stack.ss_size = kHandlerStackSize;
-diff --git a/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc b/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc
-index 66025611..98a5b135 100644
---- a/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc
-+++ b/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc
-@@ -311,7 +311,7 @@ bool IsGlobalVar(uptr addr) {
- int ExtractResolvFDs(void *state, int *fds, int nfd) {
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   int cnt = 0;
--  __res_state *statp = (__res_state*)state;
-+  struct __res_state *statp = (struct __res_state*)state;
-   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
-     if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
-       fds[cnt++] = statp->_u._ext.nssocks[i];
-diff --git a/libcxx/include/__locale b/libcxx/include/__locale
-index 7bc701dd..ae0372fe 100644
---- a/libcxx/include/__locale
-+++ b/libcxx/include/__locale
-@@ -34,7 +34,7 @@
- # include <support/solaris/xlocale.h>
- #elif defined(_NEWLIB_VERSION)
- # include <support/newlib/xlocale.h>
--#elif (defined(__GLIBC__) || defined(__APPLE__)      || defined(__FreeBSD__) \
-+#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
-     || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
- # include <xlocale.h>
- #elif defined(_LIBCPP_HAS_MUSL_LIBC)
-diff --git a/llvm/include/llvm/IR/ValueMap.h b/llvm/include/llvm/IR/ValueMap.h
-index ad518ac0..d928f6a2 100644
---- a/llvm/include/llvm/IR/ValueMap.h
-+++ b/llvm/include/llvm/IR/ValueMap.h
-@@ -99,7 +99,7 @@ public:
-   explicit ValueMap(const ExtraData &Data, unsigned NumInitBuckets = 64)
-       : Map(NumInitBuckets), Data(Data) {}
-
--  bool hasMD() const { return MDMap; }
-+  bool hasMD() const { return static_cast<bool>(MDMap); }
-   MDMapT &MD() {
-     if (!MDMap)
-       MDMap.reset(new MDMapT);
\ No newline at end of file
diff --git a/scripts/build/patches/llvm39.patch b/scripts/build/patches/llvm39.patch
deleted file mode 100644
index da2be4cd..00000000
--- a/scripts/build/patches/llvm39.patch
+++ /dev/null
@@ -1,76 +0,0 @@
---- a/compiler-rt/lib/esan/esan_sideline_linux.cpp
-+++ b/compiler-rt/lib/esan/esan_sideline_linux.cpp
-@@ -70,7 +70,7 @@ int SidelineThread::runSideline(void *Arg) {
-
-   // Set up a signal handler on an alternate stack for safety.
-   InternalScopedBuffer<char> StackMap(SigAltStackSize);
--  struct sigaltstack SigAltStack;
-+  stack_t SigAltStack;
-   SigAltStack.ss_sp = StackMap.data();
-   SigAltStack.ss_size = SigAltStackSize;
-   SigAltStack.ss_flags = 0;
---- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
-@@ -607,8 +607,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) {
- }
- #endif
-
--uptr internal_sigaltstack(const struct sigaltstack *ss,
--                         struct sigaltstack *oss) {
-+uptr internal_sigaltstack(const void *ss, void *oss) {
-   return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
- }
-
---- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.h
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.h
-@@ -21,7 +21,6 @@
- #include "sanitizer_platform_limits_posix.h"
-
- struct link_map;  // Opaque type returned by dlopen().
--struct sigaltstack;
-
- namespace __sanitizer {
- // Dirent structure for getdents(). Note that this structure is different from
-@@ -30,8 +29,7 @@ struct linux_dirent;
-
- // Syscall wrappers.
- uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
--uptr internal_sigaltstack(const struct sigaltstack* ss,
--                          struct sigaltstack* oss);
-+uptr internal_sigaltstack(const void* ss, void* oss);
- uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
-     __sanitizer_sigset_t *oldset);
-
---- a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-@@ -273,7 +273,7 @@ static int TracerThread(void* argument) {
-
-   // Alternate stack for signal handling.
-   InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
--  struct sigaltstack handler_stack;
-+  stack_t handler_stack;
-   internal_memset(&handler_stack, 0, sizeof(handler_stack));
-   handler_stack.ss_sp = handler_stack_memory.data();
-   handler_stack.ss_size = kHandlerStackSize;
---- a/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc
-+++ b/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc
-@@ -282,7 +282,7 @@ void InitializePlatform() {
- int ExtractResolvFDs(void *state, int *fds, int nfd) {
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   int cnt = 0;
--  __res_state *statp = (__res_state*)state;
-+  struct __res_state *statp = (struct __res_state*)state;
-   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
-     if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
-       fds[cnt++] = statp->_u._ext.nssocks[i];
---- a/libcxx/include/__locale
-+++ b/libcxx/include/__locale
-@@ -34,7 +34,7 @@
- # include <support/solaris/xlocale.h>
- #elif defined(_NEWLIB_VERSION)
- # include <support/newlib/xlocale.h>
--#elif (defined(__GLIBC__) || defined(__APPLE__)      || defined(__FreeBSD__) \
-+#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
-     || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
- # include <xlocale.h>
- #elif defined(_LIBCPP_HAS_MUSL_LIBC)
\ No newline at end of file
diff --git a/scripts/build/patches/llvm40.patch b/scripts/build/patches/llvm40.patch
deleted file mode 100644
index 4a101487..00000000
--- a/scripts/build/patches/llvm40.patch
+++ /dev/null
@@ -1,100 +0,0 @@
---- a/compiler-rt/lib/esan/esan_sideline_linux.cpp
-+++ b/compiler-rt/lib/esan/esan_sideline_linux.cpp
-@@ -70,7 +70,7 @@ int SidelineThread::runSideline(void *Arg) {
-
-   // Set up a signal handler on an alternate stack for safety.
-   InternalScopedBuffer<char> StackMap(SigAltStackSize);
--  struct sigaltstack SigAltStack;
-+  stack_t SigAltStack;
-   SigAltStack.ss_sp = StackMap.data();
-   SigAltStack.ss_size = SigAltStackSize;
-   SigAltStack.ss_flags = 0;
---- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
-@@ -607,8 +607,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) {
- }
- #endif
-
--uptr internal_sigaltstack(const struct sigaltstack *ss,
--                         struct sigaltstack *oss) {
-+uptr internal_sigaltstack(const void *ss, void *oss) {
-   return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
- }
-
---- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.h
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.h
-@@ -21,7 +21,6 @@
- #include "sanitizer_platform_limits_posix.h"
-
- struct link_map;  // Opaque type returned by dlopen().
--struct sigaltstack;
-
- namespace __sanitizer {
- // Dirent structure for getdents(). Note that this structure is different from
-@@ -30,8 +29,7 @@ struct linux_dirent;
-
- // Syscall wrappers.
- uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
--uptr internal_sigaltstack(const struct sigaltstack* ss,
--                          struct sigaltstack* oss);
-+uptr internal_sigaltstack(const void* ss, void* oss);
- uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
-     __sanitizer_sigset_t *oldset);
-
---- a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-@@ -275,7 +275,7 @@ static int TracerThread(void* argument) {
-
-   // Alternate stack for signal handling.
-   InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
--  struct sigaltstack handler_stack;
-+  stack_t handler_stack;
-   internal_memset(&handler_stack, 0, sizeof(handler_stack));
-   handler_stack.ss_sp = handler_stack_memory.data();
-   handler_stack.ss_size = kHandlerStackSize;
---- a/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc
-+++ b/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc
-@@ -289,7 +289,7 @@ void InitializePlatform() {
- int ExtractResolvFDs(void *state, int *fds, int nfd) {
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   int cnt = 0;
--  __res_state *statp = (__res_state*)state;
-+  struct __res_state *statp = (struct __res_state*)state;
-   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
-     if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
-       fds[cnt++] = statp->_u._ext.nssocks[i];
---- a/libcxx/include/__locale
-+++ b/libcxx/include/__locale
-@@ -34,7 +34,7 @@
- # include <support/solaris/xlocale.h>
- #elif defined(_NEWLIB_VERSION)
- # include <support/newlib/xlocale.h>
--#elif (defined(__GLIBC__) || defined(__APPLE__)      || defined(__FreeBSD__) \
-+#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
-     || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
- # include <xlocale.h>
- #elif defined(_LIBCPP_HAS_MUSL_LIBC)
---- a/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-+++ b/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-@@ -687,7 +687,7 @@ private:
-
-   uint32_t getTrampolineSize() const { return RemoteTrampolineSize; }
-
--  Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src,
-+  Expected<std::vector<unsigned char>> readMem(char *Dst, JITTargetAddress Src,
-                                       uint64_t Size) {
-     // Check for an 'out-of-band' error, e.g. from an MM destructor.
-     if (ExistingError)
---- a/llvm/tools/llvm-shlib/CMakeLists.txt
-+++ b/llvm/tools/llvm-shlib/CMakeLists.txt
-@@ -35,8 +35,9 @@ if(LLVM_DYLIB_EXPORTED_SYMBOL_FILE)
- endif()
-
- add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES})
--
-+if(LIB_NAMES)
- list(REMOVE_DUPLICATES LIB_NAMES)
-+endif()
- if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" OR MINGW) # FIXME: It should be "GNU ld for elf"
-   # GNU ld doesn't resolve symbols in the version script.
-   set(LIB_NAMES -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive)
diff --git a/scripts/build/patches/llvm50.patch b/scripts/build/patches/llvm50.patch
deleted file mode 100644
index d6ce652b..00000000
--- a/scripts/build/patches/llvm50.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-+++ b/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-@@ -713,7 +713,7 @@ private:
-
-   uint32_t getTrampolineSize() const { return RemoteTrampolineSize; }
-
--  Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src,
-+  Expected<std::vector<unsigned char>> readMem(char *Dst, JITTargetAddress Src,
-                                       uint64_t Size) {
-     // Check for an 'out-of-band' error, e.g. from an MM destructor.
-     if (ExistingError)
---- a/llvm/tools/llvm-shlib/CMakeLists.txt
-+++ b/llvm/tools/llvm-shlib/CMakeLists.txt
-@@ -36,7 +36,10 @@ endif()
-
- add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES})
-
-+if(LIB_NAMES)
- list(REMOVE_DUPLICATES LIB_NAMES)
-+endif()
-+
- if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")) # FIXME: It should be "GNU ld for elf"
-   configure_file(
-   ${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in