diff options
Diffstat (limited to 'scripts/build/patches')
-rw-r--r-- | scripts/build/patches/libcxx110.patch | 13 | ||||
-rw-r--r-- | scripts/build/patches/llvm110.patch | 72 | ||||
-rw-r--r-- | scripts/build/patches/llvm120.patch | 8 | ||||
-rw-r--r-- | scripts/build/patches/llvm90.patch | 118 | ||||
-rw-r--r-- | scripts/build/patches/metasmt.patch | 72 |
5 files changed, 248 insertions, 35 deletions
diff --git a/scripts/build/patches/libcxx110.patch b/scripts/build/patches/libcxx110.patch new file mode 100644 index 00000000..03e7dbb7 --- /dev/null +++ b/scripts/build/patches/libcxx110.patch @@ -0,0 +1,13 @@ +--- a/libcxx/include/__config ++++ b/libcxx/include/__config +@@ -1167,10 +1167,6 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container( + _LIBCPP_HAS_NO_THREADS is defined. + #endif + +-#if defined(__STDCPP_THREADS__) && defined(_LIBCPP_HAS_NO_THREADS) +-#error _LIBCPP_HAS_NO_THREADS cannot be set when __STDCPP_THREADS__ is set. +-#endif +- + #if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(__STDCPP_THREADS__) + #define __STDCPP_THREADS__ 1 + #endif \ No newline at end of file diff --git a/scripts/build/patches/llvm110.patch b/scripts/build/patches/llvm110.patch index a764f9bc..83014b52 100644 --- a/scripts/build/patches/llvm110.patch +++ b/scripts/build/patches/llvm110.patch @@ -49,4 +49,74 @@ - _(CYSETTIMEOUT, NONE, 0); _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); - _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); \ No newline at end of file + _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); +--- a/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp ++++ b/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp +@@ -169,7 +169,11 @@ bool SupportsColoredOutput(fd_t fd) { + + #if !SANITIZER_GO + // TODO(glider): different tools may require different altstack size. +-static const uptr kAltStackSize = SIGSTKSZ * 4; // SIGSTKSZ is not enough. ++static uptr GetAltStackSize() { ++ // SIGSTKSZ is not enough. ++ static const uptr kAltStackSize = SIGSTKSZ * 4; ++ return kAltStackSize; ++} + + void SetAlternateSignalStack() { + stack_t altstack, oldstack; +@@ -180,10 +184,10 @@ void SetAlternateSignalStack() { + // TODO(glider): the mapped stack should have the MAP_STACK flag in the + // future. It is not required by man 2 sigaltstack now (they're using + // malloc()). +- void* base = MmapOrDie(kAltStackSize, __func__); ++ void *base = MmapOrDie(GetAltStackSize(), __func__); + altstack.ss_sp = (char*) base; + altstack.ss_flags = 0; +- altstack.ss_size = kAltStackSize; ++ altstack.ss_size = GetAltStackSize(); + CHECK_EQ(0, sigaltstack(&altstack, nullptr)); + } + +@@ -191,7 +195,7 @@ void UnsetAlternateSignalStack() { + stack_t altstack, oldstack; + altstack.ss_sp = nullptr; + altstack.ss_flags = SS_DISABLE; +- altstack.ss_size = kAltStackSize; // Some sane value required on Darwin. ++ altstack.ss_size = GetAltStackSize(); // Some sane value required on Darwin. + CHECK_EQ(0, sigaltstack(&altstack, &oldstack)); + UnmapOrDie(oldstack.ss_sp, oldstack.ss_size); + } +--- a/llvm/lib/Transforms/CMakeLists.txt ++++ b/llvm/lib/Transforms/CMakeLists.txt +@@ -5,7 +5,6 @@ add_subdirectory(InstCombine) + add_subdirectory(Scalar) + add_subdirectory(IPO) + add_subdirectory(Vectorize) +-add_subdirectory(Hello) + add_subdirectory(ObjCARC) + add_subdirectory(Coroutines) + add_subdirectory(CFGuard) +--- a/llvm/test/CMakeLists.txt ++++ b/llvm/test/CMakeLists.txt +@@ -47,7 +47,6 @@ configure_lit_site_cfg( + set(LLVM_TEST_DEPENDS + BugpointPasses + FileCheck +- LLVMHello + UnitTests + bugpoint + count +--- a/libcxx/include/__config ++++ b/libcxx/include/__config +@@ -1167,10 +1167,6 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container( + _LIBCPP_HAS_NO_THREADS is defined. + #endif + +-#if defined(__STDCPP_THREADS__) && defined(_LIBCPP_HAS_NO_THREADS) +-#error _LIBCPP_HAS_NO_THREADS cannot be set when __STDCPP_THREADS__ is set. +-#endif +- + #if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(__STDCPP_THREADS__) + #define __STDCPP_THREADS__ 1 + #endif \ No newline at end of file diff --git a/scripts/build/patches/llvm120.patch b/scripts/build/patches/llvm120.patch new file mode 100644 index 00000000..f72eb38d --- /dev/null +++ b/scripts/build/patches/llvm120.patch @@ -0,0 +1,8 @@ +diff --git a/msan_suppressions.txt b/msan_suppressions.txt +new file mode 100644 +index 000000000..f8c825e6f +--- /dev/null ++++ b/msan_suppressions.txt +@@ -0,0 +1,2 @@ ++# Ignore llvm-config issue ++mainfile:llvm-config.cpp diff --git a/scripts/build/patches/llvm90.patch b/scripts/build/patches/llvm90.patch index e99827b6..3ff0dc29 100644 --- a/scripts/build/patches/llvm90.patch +++ b/scripts/build/patches/llvm90.patch @@ -1,18 +1,28 @@ ---- a/llvm/tools/llvm-shlib/CMakeLists.txt -+++ b/llvm/tools/llvm-shlib/CMakeLists.txt -@@ -41,7 +41,9 @@ if(LLVM_BUILD_LLVM_DYLIB) - - add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES}) +diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +index 490a04b21..42e43a044 100644 +--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc ++++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +@@ -366,15 +366,6 @@ static void ioctl_table_fill() { -+ 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 "GNU") ---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -@@ -143,7 +143,6 @@ typedef struct user_fpregs elf_fpregset_t; + #if SANITIZER_LINUX && !SANITIZER_ANDROID + // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE +- _(CYGETDEFTHRESH, WRITE, sizeof(int)); +- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); +- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); +- _(CYGETTHRESH, WRITE, sizeof(int)); +- _(CYGETTIMEOUT, WRITE, sizeof(int)); +- _(CYSETDEFTHRESH, NONE, 0); +- _(CYSETDEFTIMEOUT, NONE, 0); +- _(CYSETTHRESH, NONE, 0); +- _(CYSETTIMEOUT, NONE, 0); + _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); + _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); + _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); +diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +index b7fa6e8f7..fa981e129 100644 +--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -126,7 +126,6 @@ typedef struct user_fpregs elf_fpregset_t; # include <sys/procfs.h> #endif #include <sys/user.h> @@ -20,15 +30,15 @@ #include <linux/if_eql.h> #include <linux/if_plip.h> #include <linux/lp.h> -@@ -459,7 +458,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); +@@ -437,7 +436,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - #if SANITIZER_GLIBC + #if SANITIZER_LINUX && !SANITIZER_ANDROID unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); - unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); #if EV_VERSION > (0x010000) unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); #else -@@ -823,15 +821,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); +@@ -803,15 +801,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); #endif // SANITIZER_LINUX #if SANITIZER_LINUX && !SANITIZER_ANDROID @@ -44,21 +54,61 @@ unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; ---- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -@@ -370,15 +370,6 @@ static void ioctl_table_fill() { +@@ -1126,8 +1115,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); + CHECK_SIZE_AND_OFFSET(ipc_perm, gid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); + #endif - #if SANITIZER_GLIBC - // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE -- _(CYGETDEFTHRESH, WRITE, sizeof(int)); -- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); -- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); -- _(CYGETTHRESH, WRITE, sizeof(int)); -- _(CYGETTIMEOUT, WRITE, sizeof(int)); -- _(CYSETDEFTHRESH, NONE, 0); -- _(CYSETDEFTIMEOUT, NONE, 0); -- _(CYSETTHRESH, NONE, 0); -- _(CYSETTIMEOUT, NONE, 0); - _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); - _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); - _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); \ No newline at end of file +diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +index f1a4fd7d3..029a209fc 100644 +--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -203,26 +203,13 @@ namespace __sanitizer { + u64 __unused1; + u64 __unused2; + #elif defined(__sparc__) +-#if defined(__arch64__) + unsigned mode; +- unsigned short __pad1; +-#else +- unsigned short __pad1; +- unsigned short mode; + unsigned short __pad2; +-#endif + unsigned short __seq; + unsigned long long __unused1; + unsigned long long __unused2; +-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__) +- unsigned int mode; +- unsigned short __seq; +- unsigned short __pad1; +- unsigned long __unused1; +- unsigned long __unused2; + #else +- unsigned short mode; +- unsigned short __pad1; ++ unsigned int mode; + unsigned short __seq; + unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) +diff --git a/llvm/tools/llvm-shlib/CMakeLists.txt b/llvm/tools/llvm-shlib/CMakeLists.txt +index 901f55c99..7cb78afe5 100644 +--- a/llvm/tools/llvm-shlib/CMakeLists.txt ++++ b/llvm/tools/llvm-shlib/CMakeLists.txt +@@ -44,7 +44,9 @@ if(LLVM_BUILD_LLVM_DYLIB) + endif() + add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${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 "GNU") diff --git a/scripts/build/patches/metasmt.patch b/scripts/build/patches/metasmt.patch new file mode 100644 index 00000000..f14b41b9 --- /dev/null +++ b/scripts/build/patches/metasmt.patch @@ -0,0 +1,72 @@ +--- /dev/null ++++ b/Z3-4.8.6/setup.sh +@@ -0,0 +1,8 @@ ++#!/bin/sh ++ ++version=4.8.6 ++branch=z3-4.8.6 ++ ++cmake_files_dir=$base_dir/Z3-git ++ ++source $base_dir/Z3-git/shared.sh +--- a/cvc4-1.5/shared.sh ++++ b/cvc4-1.5/shared.sh +@@ -9,10 +9,10 @@ if [ -z "$package_dir" ] ; then + exit 1 + fi + +-package=cvc4 ++package=CVC4 + source="$package-$version.tar.gz" + build_dir=$build/$package-$version +-url="http://cvc4.cs.stanford.edu/downloads/builds/src/$source" ++url="https://github.com/CVC4/CVC4-archived/archive/refs/tags/$version.tar.gz" + + if [ -z "$BOOST_ROOT" ]; then + dependencies="$DEPS_BOOST" +@@ -24,7 +24,7 @@ fi + unpack() { + cd $cache && + tar -xf $source && +- mv -f $package-$version $build_dir ++ mv -f $package-archived-$version $build_dir + cd $build_dir + } + +@@ -39,7 +39,8 @@ build_install() { + contrib/get-antlr-3.4 + # build CVC4 with --bsd to allow usage under the terms of + # the modified BSD license. +- ./configure --prefix="$target" --bsd --with-antlr-dir=$build_dir/antlr-3.4 --with-boost=$boost_path ANTLR=$build_dir/antlr-3.4/bin/antlr3 && ++ ./configure.sh --prefix="$target" --antlr-dir=$build_dir/antlr-3.4 && ++ cd build && + make -j $num_threads && + make install && + cp -f "$package_dir/CVC4Config.cmake" "$target/CVC4Config.cmake" +--- /dev/null ++++ b/cvc4-1.8/CVC4Config.cmake +@@ -0,0 +1,5 @@ ++get_filename_component(CVC4_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) ++set(CVC4_BIN_DIRS ${CVC4_DIR}/bin ) ++set(CVC4_INCLUDE_DIRS ${CVC4_DIR}/include ) ++set(CVC4_INCLUDE_DIR ${CVC4_INCLUDE_DIRS} ) ++set(CVC4_LIBRARIES ${CVC4_DIR}/lib/libcvc4.so ) +--- /dev/null ++++ b/cvc4-1.8/setup.sh +@@ -0,0 +1,5 @@ ++#!/bin/sh ++ ++version="1.8" ++source $base_dir/cvc4-1.5/shared.sh ++ +--- /dev/null ++++ b/yices-2.6.2/setup.sh +@@ -0,0 +1,8 @@ ++#!/bin/sh ++ ++version=2.6.2 ++branch=Yices-2.6.2 ++ ++config_files_dir=$base_dir/yices-git ++ ++source $base_dir/yices-git/shared.sh |