diff --git a/debian/changelog b/debian/changelog index a6b9bbdc..830a44a8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,10 @@ llvm-toolchain-9 (1:9.0.1~+rc2-1~exp2) UNRELEASED; urgency=medium * Use secure URI in debian/watch. * Move source package lintian overrides to debian/source. + * Remove patches force-gcc-header-obj.diff, hurd-pathmax.diff, impl- + path-hurd.diff, libcxxabi-arm-ehabi-fix.patch, libcxxabi-test-don-t- + fail-extended-long-double.patch, revert-change-soname.diff, try-to- + unbreak-thinlto.diff that are missing from debian/patches/series. -- Sylvestre Ledru Sun, 08 Dec 2019 21:02:49 +0100 diff --git a/debian/patches/force-gcc-header-obj.diff b/debian/patches/force-gcc-header-obj.diff deleted file mode 100644 index e47d28c3..00000000 --- a/debian/patches/force-gcc-header-obj.diff +++ /dev/null @@ -1,16 +0,0 @@ -Index: llvm-toolchain-5.0-5.0.2~+rc1/clang/lib/Driver/ToolChains/Linux.cpp -=================================================================== ---- llvm-toolchain-5.0-5.0.2~+rc1.orig/clang/lib/Driver/ToolChains/Linux.cpp -+++ llvm-toolchain-5.0-5.0.2~+rc1/clang/lib/Driver/ToolChains/Linux.cpp -@@ -571,6 +571,11 @@ void Linux::AddClangSystemIncludeArgs(co - return; - } - -+ // Force the inclusion of the gcc headers (objc/objc.h) -+ addExternCSystemIncludeIfExists( -+ DriverArgs, CC1Args, GCCInstallation.getInstallPath() + "/include"); -+// std::cout << GCCInstallation.getInstallPath().str() << "/include" << std::endl; -+ - // Lacking those, try to detect the correct set of system includes for the - // target triple. - diff --git a/debian/patches/hurd-pathmax.diff b/debian/patches/hurd-pathmax.diff deleted file mode 100644 index 4f9de316..00000000 --- a/debian/patches/hurd-pathmax.diff +++ /dev/null @@ -1,32 +0,0 @@ -Index: llvm-toolchain-snapshot_9~svn352610/lldb/include/lldb/lldb-defines.h -=================================================================== ---- llvm-toolchain-snapshot_9~svn352610.orig/lldb/include/lldb/lldb-defines.h -+++ llvm-toolchain-snapshot_9~svn352610/lldb/include/lldb/lldb-defines.h -@@ -27,6 +27,11 @@ - #define INT32_MAX 2147483647 - #endif - -+// For GNU Hurd -+#if defined(__GNU__) && !defined(PATH_MAX) -+# define PATH_MAX 4096 -+#endif -+ - #if !defined(UINT32_MAX) - #define UINT32_MAX 4294967295U - #endif -Index: llvm-toolchain-snapshot_9~svn352610/polly/lib/External/ppcg/cuda_common.c -=================================================================== ---- llvm-toolchain-snapshot_9~svn352610.orig/polly/lib/External/ppcg/cuda_common.c -+++ llvm-toolchain-snapshot_9~svn352610/polly/lib/External/ppcg/cuda_common.c -@@ -15,6 +15,11 @@ - #include "cuda_common.h" - #include "ppcg.h" - -+// For GNU Hurd -+#if defined(__GNU__) && !defined(PATH_MAX) -+# define PATH_MAX 4096 -+#endif -+ - /* Open the host .cu file and the kernel .hu and .cu files for writing. - * Add the necessary includes. - */ diff --git a/debian/patches/impl-path-hurd.diff b/debian/patches/impl-path-hurd.diff deleted file mode 100644 index 6717f4e4..00000000 --- a/debian/patches/impl-path-hurd.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: llvm-toolchain-snapshot_9~svn351647/lib/Support/Unix/Path.inc -=================================================================== ---- llvm-toolchain-snapshot_9~svn351647.orig/lib/Support/Unix/Path.inc -+++ llvm-toolchain-snapshot_9~svn351647/lib/Support/Unix/Path.inc -@@ -176,7 +176,7 @@ std::string getMainExecutable(const char - - if (getprogpath(exe_path, argv0) != NULL) - return exe_path; --#elif defined(__linux__) || defined(__CYGWIN__) -+#elif defined(__linux__) || defined(__CYGWIN__) || defined(__GNU__) - char exe_path[MAXPATHLEN]; - StringRef aPath("/proc/self/exe"); - if (sys::fs::exists(aPath)) { diff --git a/debian/patches/libcxxabi-arm-ehabi-fix.patch b/debian/patches/libcxxabi-arm-ehabi-fix.patch deleted file mode 100644 index d486eab0..00000000 --- a/debian/patches/libcxxabi-arm-ehabi-fix.patch +++ /dev/null @@ -1,118 +0,0 @@ -Fix arm EHABI code to work. armhf had exception test failing without EHABI support. - -No known upstream bug about this. Actual code change is more like workaround than -something that upstream would accept. Proper fix would be adding _Unwind_Control_Block -to clang unwind.h. _Unwind_Control_Block should also extend _Unwind_Exception to make -sure their ABI stays in sync. - -No known upstream bug about this. - -Index: llvm-toolchain-snapshot_9~svn351647/libcxxabi/src/cxa_exception.cpp -=================================================================== ---- llvm-toolchain-snapshot_9~svn351647.orig/libcxxabi/src/cxa_exception.cpp -+++ llvm-toolchain-snapshot_9~svn351647/libcxxabi/src/cxa_exception.cpp -@@ -277,15 +277,16 @@ __cxa_throw(void *thrown_object, std::ty - - #ifdef __USING_SJLJ_EXCEPTIONS__ - _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); --#else -+#elif !LIBCXXABI_ARM_EHABI - _Unwind_RaiseException(&exception_header->unwindHeader); -+#else -+ _Unwind_RaiseException(exception_header->unwindHeader); - #endif - // This only happens when there is no handler, or some unexpected unwinding - // error happens. - failed_throw(exception_header); - } - -- - // 2.5.3 Exception Handlers - /* - The adjusted pointer is computed by the personality routine during phase 1 -@@ -548,7 +549,11 @@ void __cxa_end_catch() { - // to touch a foreign exception in any way, that is undefined - // behavior. They likely can't since the only way to catch - // a foreign exception is with catch (...)! -+#if !LIBCXXABI_ARM_EHABI - _Unwind_DeleteException(&globals->caughtExceptions->unwindHeader); -+#else -+ _Unwind_DeleteException(globals->caughtExceptions->unwindHeader); -+#endif - globals->caughtExceptions = 0; - } - } -@@ -605,8 +610,10 @@ void __cxa_rethrow() { - } - #ifdef __USING_SJLJ_EXCEPTIONS__ - _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); --#else -+#elif !LIBCXXABI_ARM_EHABI - _Unwind_RaiseException(&exception_header->unwindHeader); -+#else -+ _Unwind_RaiseException(exception_header->unwindHeader); - #endif - - // If we get here, some kind of unwinding error has occurred. -@@ -730,8 +737,10 @@ __cxa_rethrow_primary_exception(void* th - dep_exception_header->unwindHeader.exception_cleanup = dependent_exception_cleanup; - #ifdef __USING_SJLJ_EXCEPTIONS__ - _Unwind_SjLj_RaiseException(&dep_exception_header->unwindHeader); -+#elif !LIBCXXABI_ARM_EHABI -+ _Unwind_RaiseException(&dep_exception_header->unwindHeader); - #else -- _Unwind_RaiseException(&dep_exception_header->unwindHeader); -+ _Unwind_RaiseException(dep_exception_header->unwindHeader); - #endif - // Some sort of unwinding error. Note that terminate is a handler. - __cxa_begin_catch(&dep_exception_header->unwindHeader); -Index: llvm-toolchain-snapshot_9~svn351647/libcxxabi/src/cxa_exception.hpp -=================================================================== ---- llvm-toolchain-snapshot_9~svn351647.orig/libcxxabi/src/cxa_exception.hpp -+++ llvm-toolchain-snapshot_9~svn351647/libcxxabi/src/cxa_exception.hpp -@@ -28,6 +28,45 @@ uint64_t __getExceptionClass (const _Un - void __setExceptionClass ( _Unwind_Exception*, uint64_t); - bool __isOurExceptionClass(const _Unwind_Exception*); - -+#if LIBCXXABI_ARM_EHABI -+// GCC has _Unwind_Control_Block in unwind.h (unwind_arm_common.h) -+#if defined(__clang__) -+struct _Unwind_Control_Block -+{ -+ uint64_t exception_class; -+ void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *); -+ struct { -+ _Unwind_Word reserved1; -+ _Unwind_Word reserved2; -+ _Unwind_Word reserved3; -+ _Unwind_Word reserved4; -+ _Unwind_Word reserved5; -+ } unwinder_cache; -+ struct { -+ _Unwind_Word sp; -+ _Unwind_Word bitpattern[5]; -+ } barrier_cache; -+ struct { -+ _Unwind_Word bitpattern[4]; -+ } cleanup_cache; -+ struct { -+ _Unwind_Word fnstart; -+ _Unwind_Word *ehtp; -+ _Unwind_Word additional; -+ _Unwind_Word reserved1; -+ } pr_cache; -+ long long int :0; -+ operator _Unwind_Exception*() noexcept -+ { -+ return reinterpret_cast<_Unwind_Exception*>(this); -+ } -+}; -+ -+#endif -+ -+#define _Unwind_Exception _Unwind_Control_Block -+#endif -+ - struct _LIBCXXABI_HIDDEN __cxa_exception { - #if defined(__LP64__) || defined(_LIBCXXABI_ARM_EHABI) - // This is a new field to support C++ 0x exception_ptr. diff --git a/debian/patches/libcxxabi-test-don-t-fail-extended-long-double.patch b/debian/patches/libcxxabi-test-don-t-fail-extended-long-double.patch deleted file mode 100644 index 7387d9e4..00000000 --- a/debian/patches/libcxxabi-test-don-t-fail-extended-long-double.patch +++ /dev/null @@ -1,17 +0,0 @@ -Powerpc has extended double that doesn't match x86 coding. Power format would -need special tests to verify correctness but for now it is enough to prevent -incorrect test from running. - -Index: llvm-toolchain-snapshot_9~svn351647/libcxxabi/test/test_demangle.pass.cpp -=================================================================== ---- llvm-toolchain-snapshot_9~svn351647.orig/libcxxabi/test/test_demangle.pass.cpp -+++ llvm-toolchain-snapshot_9~svn351647/libcxxabi/test/test_demangle.pass.cpp -@@ -29803,7 +29803,7 @@ const char* invalid_cases[] = - "NSoERj5E=Y1[uM:ga", - "Aon_PmKVPDk7?fg4XP5smMUL6;Vl<>IL8ayHpiVDDDXTY;^o9;i", - "_ZNSt16allocator_traitsISaIN4llvm3sys2fs18directory_iteratorEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_", --#if !LDBL_FP80 -+#if !LDBL_FP80 && __LDBL_MANT_DIG__ < 64 - "_ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c", - #endif - // The following test cases were found by libFuzzer+ASAN diff --git a/debian/patches/revert-change-soname.diff b/debian/patches/revert-change-soname.diff deleted file mode 100644 index 24cca1ed..00000000 --- a/debian/patches/revert-change-soname.diff +++ /dev/null @@ -1,65 +0,0 @@ -Index: tools/llvm-shlib/simple_version_script.map.in -=================================================================== ---- tools/llvm-shlib/simple_version_script.map.in (revision 352580) -+++ tools/llvm-shlib/simple_version_script.map.in (revision 352579) -@@ -1 +1 @@ --LLVM_@LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@ { global: *; }; -+LLVM_@LLVM_VERSION_MAJOR@ { global: *; }; -Index: tools/llvm-config/CMakeLists.txt -=================================================================== ---- tools/llvm-config/CMakeLists.txt (revision 352580) -+++ tools/llvm-config/CMakeLists.txt (revision 352579) -@@ -37,7 +37,7 @@ - set(LLVM_CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}") - set(LLVM_BUILD_SYSTEM cmake) - set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI}) --set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}") -+set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}") - set(LLVM_HAS_GLOBAL_ISEL "ON") - - # Use the C++ link flags, since they should be a superset of C link flags. -Index: cmake/modules/AddLLVM.cmake -=================================================================== ---- cmake/modules/AddLLVM.cmake (revision 352580) -+++ cmake/modules/AddLLVM.cmake (revision 352579) -@@ -83,7 +83,7 @@ - # FIXME: Don't write the "local:" line on OpenBSD. - # in the export file, also add a linker script to version LLVM symbols (form: LLVM_N.M) - add_custom_command(OUTPUT ${native_export_file} -- COMMAND echo "LLVM_${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} {" > ${native_export_file} -+ COMMAND echo "LLVM_${LLVM_VERSION_MAJOR} {" > ${native_export_file} - COMMAND grep -q "[[:alnum:]]" ${export_file} && echo " global:" >> ${native_export_file} || : - COMMAND sed -e "s/$/;/" -e "s/^/ /" < ${export_file} >> ${native_export_file} - COMMAND echo " local: *;" >> ${native_export_file} -@@ -500,7 +500,7 @@ - PROPERTIES - # Since 4.0.0, the ABI version is indicated by the major version - SOVERSION ${LLVM_VERSION_MAJOR} -- VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) -+ VERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) - endif() - endif() - -@@ -522,7 +522,7 @@ - if(${output_name} STREQUAL "output_name-NOTFOUND") - set(output_name ${name}) - endif() -- set(library_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}) -+ set(library_name ${output_name}-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) - set(api_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) - set_target_properties(${name} PROPERTIES OUTPUT_NAME ${library_name}) - llvm_install_library_symlink(${api_name} ${library_name} SHARED -Index: docs/ReleaseNotes.rst -=================================================================== ---- docs/ReleaseNotes.rst (revision 352580) -+++ docs/ReleaseNotes.rst (revision 352579) -@@ -30,6 +30,9 @@ - is available on the Visual Studio Marketplace. The new integration - supports Visual Studio 2017. - -+* Libraries have been renamed from 7.0 to 7. This change also impacts -+ downstream libraries like lldb. -+ - * The LoopInstSimplify pass (``-loop-instsimplify``) has been removed. - - * Symbols starting with ``?`` are no longer mangled by LLVM when using the diff --git a/debian/patches/try-to-unbreak-thinlto.diff b/debian/patches/try-to-unbreak-thinlto.diff deleted file mode 100644 index 5335566d..00000000 --- a/debian/patches/try-to-unbreak-thinlto.diff +++ /dev/null @@ -1,19 +0,0 @@ -Index: llvm-toolchain-9-9~+rc3/clang/CMakeLists.txt -=================================================================== ---- llvm-toolchain-9-9~+rc3.orig/clang/CMakeLists.txt -+++ llvm-toolchain-9-9~+rc3/clang/CMakeLists.txt -@@ -719,11 +719,9 @@ if (CLANG_ENABLE_BOOTSTRAP) - if(BOOTSTRAP_LLVM_ENABLE_LLD) - set(${CLANG_STAGE}_LINKER -DCMAKE_LINKER=${LLVM_RUNTIME_OUTPUT_INTDIR}/ld.lld) - endif() -- if(NOT BOOTSTRAP_LLVM_ENABLE_LTO) -- add_dependencies(clang-bootstrap-deps llvm-ar llvm-ranlib) -- set(${CLANG_STAGE}_AR -DCMAKE_AR=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ar) -- set(${CLANG_STAGE}_RANLIB -DCMAKE_RANLIB=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ranlib) -- endif() -+ add_dependencies(clang-bootstrap-deps llvm-ar llvm-ranlib) -+ set(${CLANG_STAGE}_AR -DCMAKE_AR=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ar) -+ set(${CLANG_STAGE}_RANLIB -DCMAKE_RANLIB=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ranlib) - add_dependencies(clang-bootstrap-deps llvm-objcopy llvm-strip) - set(${CLANG_STAGE}_OBJCOPY -DCMAKE_OBJCOPY=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-objcopy) - set(${CLANG_STAGE}_STRIP -DCMAKE_STRIP=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-strip)