Hello community,
here is the log from the commit of package llvm6 for openSUSE:Factory checked in at 2018-07-27 10:54:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm6 (Old)
and /work/SRC/openSUSE:Factory/.llvm6.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm6"
Fri Jul 27 10:54:23 2018 rev:9 rq:625304 version:6.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm6/llvm6.changes 2018-07-07 21:56:57.755426941 +0200
+++ /work/SRC/openSUSE:Factory/.llvm6.new/llvm6.changes 2018-07-27 10:55:07.785518825 +0200
@@ -1,0 +2,10 @@
+Wed Jul 25 07:29:54 UTC 2018 - msrb@suse.com
+
+- Update to llvm 6.0.1
+ * This release contains bug-fixes for the LLVM 6.0.0 release. It
+ is API and ABI compatible with 6.0.0.
+- Remove no longer needed llvm6-fix-InstCombine.patch
+- Add lldb-fix-build-with-python-3.7.patch
+ * Fix build with python 3.7
+
+-------------------------------------------------------------------
Old:
----
cfe-6.0.0.src.tar.xz
cfe-docs-6.0.0.src.tar.xz
clang-tools-extra-6.0.0.src.tar.xz
compiler-rt-6.0.0.src.tar.xz
libcxx-6.0.0.src.tar.xz
libcxxabi-6.0.0.src.tar.xz
lld-6.0.0.src.tar.xz
lldb-6.0.0.src.tar.xz
llvm-6.0.0.src.tar.xz
llvm-docs-6.0.0.src.tar.xz
llvm6-fix-InstCombine.patch
openmp-6.0.0.src.tar.xz
polly-6.0.0.src.tar.xz
New:
----
cfe-6.0.1.src.tar.xz
cfe-docs-6.0.1.src.tar.xz
clang-tools-extra-6.0.1.src.tar.xz
compiler-rt-6.0.1.src.tar.xz
libcxx-6.0.1.src.tar.xz
libcxxabi-6.0.1.src.tar.xz
lld-6.0.1.src.tar.xz
lldb-6.0.1.src.tar.xz
lldb-fix-build-with-python-3.7.patch
llvm-6.0.1.src.tar.xz
llvm-docs-6.0.1.src.tar.xz
openmp-6.0.1.src.tar.xz
polly-6.0.1.src.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ llvm6.spec ++++++
--- /var/tmp/diff_new_pack.6AKN45/_old 2018-07-27 10:55:10.877524744 +0200
+++ /var/tmp/diff_new_pack.6AKN45/_new 2018-07-27 10:55:10.881524751 +0200
@@ -16,13 +16,13 @@
#
-%define _relver 6.0.0
+%define _relver 6.0.1
%define _minor 6.0
%define _sonum 6
# Integer version used by update-alternatives
-%define _uaver 600
+%define _uaver 601
%define _socxx 1
-%define _revsn 326550
+%define _revsn 335528
%ifarch x86_64
%bcond_without libcxx
%else
@@ -55,7 +55,7 @@
%bcond_without pyclang
Name: llvm6
-Version: 6.0.0
+Version: 6.0.1
Release: 0
Summary: Low Level Virtual Machine
License: NCSA
@@ -98,9 +98,9 @@
Patch16: n_clang_allow_BUILD_SHARED_LIBRARY.patch
Patch17: polly-cmake-Trust-pkg-config-in-FindJsoncpp.patch
Patch18: llvm-build-tests-with-rtti.patch
-Patch19: llvm6-fix-InstCombine.patch
Patch20: llvm_build_tablegen_component_as_shared_library.patch
Patch21: llvm6-fix-gdb-index-crash.patch
+Patch22: lldb-fix-build-with-python-3.7.patch
BuildRequires: binutils-devel >= 2.21.90
BuildRequires: binutils-gold
BuildRequires: cmake
@@ -514,7 +514,6 @@
%patch14 -p1
%patch15 -p1
%patch18 -p1
-%patch19 -p2
%patch20 -p1
%patch21 -p1
@@ -532,6 +531,7 @@
pushd lldb-%{version}.src
%patch11 -p1
%patch12 -p1
+%patch22 -p1
# Set LLDB revision
sed -i s,LLDB_REVISION,\"%{_llvm_revision}\",g source/lldb.cpp #"
popd
@@ -739,14 +739,14 @@
# Docs are prebuilt due to sphinx dependency
#
-# pushd llvm-6.0.0.src/docs
+# pushd llvm-6.0.1.src/docs
# make -f Makefile.sphinx man html
# popd
-# pushd cfe-6.0.0.src/docs
+# pushd cfe-6.0.1.src/docs
# make -f Makefile.sphinx man html
# popd
-# tar cvJf llvm-docs-6.0.0.src.tar.xz llvm-6.0.0.src/docs/_build/{man,html}
-# tar cvJf cfe-docs-6.0.0.src.tar.xz cfe-6.0.0.src/docs/_build/{man,html}
+# tar cvJf llvm-docs-6.0.1.src.tar.xz llvm-6.0.1.src/docs/_build/{man,html}
+# tar cvJf cfe-docs-6.0.1.src.tar.xz cfe-6.0.1.src/docs/_build/{man,html}
# Build man/html pages
pushd docs
++++++ cfe-6.0.0.src.tar.xz -> cfe-6.0.1.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm6/cfe-6.0.0.src.tar.xz /work/SRC/openSUSE:Factory/.llvm6.new/cfe-6.0.1.src.tar.xz differ: char 25, line 1
++++++ cfe-docs-6.0.0.src.tar.xz -> cfe-docs-6.0.1.src.tar.xz ++++++
++++ 156019 lines of diff (skipped)
++++++ clang-tools-extra-6.0.0.src.tar.xz -> clang-tools-extra-6.0.1.src.tar.xz ++++++
++++++ compiler-rt-6.0.0.src.tar.xz -> compiler-rt-6.0.1.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compiler-rt-6.0.0.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cc new/compiler-rt-6.0.1.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
--- old/compiler-rt-6.0.0.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cc 2017-11-21 10:36:07.000000000 +0100
+++ new/compiler-rt-6.0.1.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cc 2018-06-15 00:33:33.000000000 +0200
@@ -159,7 +159,6 @@
# include
#endif
#include
-#include
#include
#include
#include
@@ -253,7 +252,19 @@
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
#if SANITIZER_LINUX && !SANITIZER_ANDROID
- unsigned struct_ustat_sz = sizeof(struct ustat);
+ // Use pre-computed size of struct ustat to avoid which
+ // has been removed from glibc 2.28.
+#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
+ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
+ || defined(__x86_64__)
+#define SIZEOF_STRUCT_USTAT 32
+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
+ || defined(__powerpc__) || defined(__s390__)
+#define SIZEOF_STRUCT_USTAT 20
+#else
+#error Unknown size of struct ustat
+#endif
+ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
++++++ libcxx-6.0.0.src.tar.xz -> libcxx-6.0.1.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-6.0.0.src/include/list new/libcxx-6.0.1.src/include/list
--- old/libcxx-6.0.0.src/include/list 2017-11-15 06:51:26.000000000 +0100
+++ new/libcxx-6.0.1.src/include/list 2018-06-13 18:57:18.000000000 +0200
@@ -2058,15 +2058,15 @@
#endif
if (__f != __l)
{
+ __link_pointer __first = __f.__ptr_;
+ --__l;
+ __link_pointer __last = __l.__ptr_;
if (this != &__c)
{
- size_type __s = _VSTD::distance(__f, __l);
+ size_type __s = _VSTD::distance(__f, __l) + 1;
__c.__sz() -= __s;
base::__sz() += __s;
}
- __link_pointer __first = __f.__ptr_;
- --__l;
- __link_pointer __last = __l.__ptr_;
base::__unlink_nodes(__first, __last);
__link_nodes(__p.__ptr_, __first, __last);
#if _LIBCPP_DEBUG_LEVEL >= 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-6.0.0.src/src/support/runtime/exception_libcxxabi.ipp new/libcxx-6.0.1.src/src/support/runtime/exception_libcxxabi.ipp
--- old/libcxx-6.0.0.src/src/support/runtime/exception_libcxxabi.ipp 2017-02-10 09:57:35.000000000 +0100
+++ new/libcxx-6.0.1.src/src/support/runtime/exception_libcxxabi.ipp 2018-06-04 17:49:27.000000000 +0200
@@ -18,7 +18,7 @@
int uncaught_exceptions() _NOEXCEPT
{
-# if _LIBCPPABI_VERSION > 1101
+# if _LIBCPPABI_VERSION > 1001
return __cxa_uncaught_exceptions();
# else
return __cxa_uncaught_exception() ? 1 : 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-6.0.0.src/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp new/libcxx-6.0.1.src/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
--- old/libcxx-6.0.0.src/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp 2017-05-04 19:08:54.000000000 +0200
+++ new/libcxx-6.0.1.src/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp 2018-06-13 18:57:18.000000000 +0200
@@ -42,6 +42,7 @@
Base::run();
try {
FrontOnEmptyContainer();
+
if constexpr (CT != CT_ForwardList) {
AssignInvalidates();
BackOnEmptyContainer();
@@ -50,6 +51,8 @@
InsertIterIterIter();
EmplaceIterValue();
EraseIterIter();
+ } else {
+ SpliceFirstElemAfter();
}
if constexpr (CT == CT_Vector || CT == CT_Deque || CT == CT_List) {
PopBack();
@@ -57,12 +60,66 @@
if constexpr (CT == CT_List || CT == CT_Deque) {
PopFront(); // FIXME: Run with forward list as well
}
+ if constexpr (CT == CT_List || CT == CT_ForwardList) {
+ RemoveFirstElem();
+ }
+ if constexpr (CT == CT_List) {
+ SpliceFirstElem();
+ }
} catch (...) {
assert(false && "uncaught debug exception");
}
}
private:
+ static void RemoveFirstElem() {
+ // See llvm.org/PR35564
+ CHECKPOINT("remove(<first-elem>)");
+ {
+ Container C = makeContainer(1);
+ auto FirstVal = *(C.begin());
+ C.remove(FirstVal);
+ assert(C.empty());
+ }
+ {
+ Container C = {1, 1, 1, 1};
+ auto FirstVal = *(C.begin());
+ C.remove(FirstVal);
+ assert(C.empty());
+ }
+ }
+
+ static void SpliceFirstElem() {
+ // See llvm.org/PR35564
+ CHECKPOINT("splice(<first-elem>)");
+ {
+ Container C = makeContainer(1);
+ Container C2;
+ C2.splice(C2.end(), C, C.begin(), ++C.begin());
+ }
+ {
+ Container C = makeContainer(1);
+ Container C2;
+ C2.splice(C2.end(), C, C.begin());
+ }
+ }
+
+
+ static void SpliceFirstElemAfter() {
+ // See llvm.org/PR35564
+ CHECKPOINT("splice(<first-elem>)");
+ {
+ Container C = makeContainer(1);
+ Container C2;
+ C2.splice_after(C2.begin(), C, C.begin(), ++C.begin());
+ }
+ {
+ Container C = makeContainer(1);
+ Container C2;
+ C2.splice_after(C2.begin(), C, C.begin());
+ }
+ }
+
static void AssignInvalidates() {
CHECKPOINT("assign(Size, Value)");
Container C(allocator_type{});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcxx-6.0.0.src/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp new/libcxx-6.0.1.src/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp
--- old/libcxx-6.0.0.src/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp 2017-05-04 19:08:54.000000000 +0200
+++ new/libcxx-6.0.1.src/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp 2018-06-04 17:49:27.000000000 +0200
@@ -15,40 +15,48 @@
// XFAIL: availability=macosx10.9
// XFAIL: availability=macosx10.10
// XFAIL: availability=macosx10.11
+// XFAIL: with_system_cxx_lib=macosx10.12
+// XFAIL: with_system_cxx_lib=macosx10.13
// test uncaught_exceptions
#include <exception>
#include <cassert>
-struct A
-{
- ~A()
- {
- assert(std::uncaught_exceptions() > 0);
- }
-};
+struct Uncaught {
+ Uncaught(int depth) : d_(depth) {}
+ ~Uncaught() { assert(std::uncaught_exceptions() == d_); }
+ int d_;
+ };
-struct B
-{
- B()
- {
- // http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#475
- assert(std::uncaught_exceptions() == 0);
+struct Outer {
+ Outer(int depth) : d_(depth) {}
+ ~Outer() {
+ try {
+ assert(std::uncaught_exceptions() == d_);
+ Uncaught u(d_+1);
+ throw 2;
}
+ catch (int) {}
+ }
+ int d_;
};
-int main()
-{
- try
+int main () {
+ assert(std::uncaught_exceptions() == 0);
{
- A a;
- assert(std::uncaught_exceptions() == 0);
- throw B();
+ Outer o(0);
}
- catch (...)
+
+ assert(std::uncaught_exceptions() == 0);
{
- assert(std::uncaught_exception() == 0);
+ try {
+ Outer o(1);
+ throw 1;
+ }
+ catch (int) {
+ assert(std::uncaught_exceptions() == 0);
+ }
}
assert(std::uncaught_exceptions() == 0);
}
++++++ libcxxabi-6.0.0.src.tar.xz -> libcxxabi-6.0.1.src.tar.xz ++++++
++++++ lld-6.0.0.src.tar.xz -> lld-6.0.1.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/COFF/Config.h new/lld-6.0.1.src/COFF/Config.h
--- old/lld-6.0.0.src/COFF/Config.h 2017-12-28 08:02:13.000000000 +0100
+++ new/lld-6.0.1.src/COFF/Config.h 2018-05-11 08:52:19.000000000 +0200
@@ -175,6 +175,7 @@
bool AppContainer = false;
bool MinGW = false;
bool WarnLocallyDefinedImported = true;
+ bool KillAt = false;
};
extern Configuration *Config;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/COFF/Driver.cpp new/lld-6.0.1.src/COFF/Driver.cpp
--- old/lld-6.0.0.src/COFF/Driver.cpp 2018-01-16 16:40:23.000000000 +0100
+++ new/lld-6.0.1.src/COFF/Driver.cpp 2018-05-11 08:52:19.000000000 +0200
@@ -970,6 +970,10 @@
if (Args.hasArg(OPT_lldsavetemps))
Config->SaveTemps = true;
+ // Handle /kill-at
+ if (Args.hasArg(OPT_kill_at))
+ Config->KillAt = true;
+
// Handle /lldltocache
if (auto *Arg = Args.getLastArg(OPT_lldltocache))
Config->LTOCache = Arg->getValue();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/COFF/DriverUtils.cpp new/lld-6.0.1.src/COFF/DriverUtils.cpp
--- old/lld-6.0.0.src/COFF/DriverUtils.cpp 2017-12-27 07:08:10.000000000 +0100
+++ new/lld-6.0.1.src/COFF/DriverUtils.cpp 2018-05-11 08:52:19.000000000 +0200
@@ -561,6 +561,26 @@
return Sym.startswith("_") ? Sym.substr(1) : Sym;
}
+// Convert stdcall/fastcall style symbols into unsuffixed symbols,
+// with or without a leading underscore. (MinGW specific.)
+static StringRef killAt(StringRef Sym, bool Prefix) {
+ if (Sym.empty())
+ return Sym;
+ // Strip any trailing stdcall suffix
+ Sym = Sym.substr(0, Sym.find('@', 1));
+ if (!Sym.startswith("@")) {
+ if (Prefix && !Sym.startswith("_"))
+ return Saver.save("_" + Sym);
+ return Sym;
+ }
+ // For fastcall, remove the leading @ and replace it with an
+ // underscore, if prefixes are used.
+ Sym = Sym.substr(1);
+ if (Prefix)
+ Sym = Saver.save("_" + Sym);
+ return Sym;
+}
+
// Performs error checking on all /export arguments.
// It also sets ordinals.
void fixupExports() {
@@ -593,6 +613,15 @@
}
}
+ if (Config->KillAt && Config->Machine == I386) {
+ for (Export &E : Config->Exports) {
+ E.Name = killAt(E.Name, true);
+ E.ExportName = killAt(E.ExportName, false);
+ E.ExtName = killAt(E.ExtName, true);
+ E.SymbolName = killAt(E.SymbolName, true);
+ }
+ }
+
// Uniquefy by name.
DenseMap Map(Config->Exports.size());
std::vector<Export> V;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/COFF/Options.td new/lld-6.0.1.src/COFF/Options.td
--- old/lld-6.0.0.src/COFF/Options.td 2017-12-28 08:02:13.000000000 +0100
+++ new/lld-6.0.1.src/COFF/Options.td 2018-05-11 08:52:19.000000000 +0200
@@ -121,6 +121,7 @@
def debug_ghash : F<"debug:ghash">;
def debug_dwarf : F<"debug:dwarf">;
def export_all_symbols : F<"export-all-symbols">;
+def kill_at : F<"kill-at">;
def lldmingw : F<"lldmingw">;
def msvclto : F<"msvclto">;
def output_def : Joined<["/", "-"], "output-def:">;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/ELF/Arch/Mips.cpp new/lld-6.0.1.src/ELF/Arch/Mips.cpp
--- old/lld-6.0.0.src/ELF/Arch/Mips.cpp 2017-11-22 13:34:29.000000000 +0100
+++ new/lld-6.0.1.src/ELF/Arch/Mips.cpp 2018-04-11 15:03:33.000000000 +0200
@@ -296,7 +296,8 @@
write32<E>(Buf + 20, 0x0018c082); // srl $24, $24, 2
}
- write32<E>(Buf + 24, 0x0320f809); // jalr $25
+ uint32_t JalrInst = Config->ZHazardplt ? 0x0320fc09 : 0x0320f809;
+ write32<E>(Buf + 24, JalrInst); // jalr.hb $25 or jalr $25
write32<E>(Buf + 28, 0x2718fffe); // subu $24, $24, 2
uint64_t GotPlt = InX::GotPlt->getVA();
@@ -330,9 +331,12 @@
return;
}
+ uint32_t JrInst = isMipsR6() ? (Config->ZHazardplt ? 0x03200409 : 0x03200009)
+ : (Config->ZHazardplt ? 0x03200408 : 0x03200008);
+
write32<E>(Buf, 0x3c0f0000); // lui $15, %hi(.got.plt entry)
write32<E>(Buf + 4, 0x8df90000); // l[wd] $25, %lo(.got.plt entry)($15)
- write32<E>(Buf + 8, isMipsR6() ? 0x03200009 : 0x03200008); // jr $25
+ write32<E>(Buf + 8, JrInst); // jr $25 / jr.hb $25
write32<E>(Buf + 12, 0x25f80000); // addiu $24, $15, %lo(.got.plt entry)
writeRelocation<E>(Buf, GotPltEntryAddr + 0x8000, 16, 16);
writeRelocation<E>(Buf + 4, GotPltEntryAddr, 16, 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/ELF/Config.h new/lld-6.0.1.src/ELF/Config.h
--- old/lld-6.0.0.src/ELF/Config.h 2018-02-02 11:50:39.000000000 +0100
+++ new/lld-6.0.1.src/ELF/Config.h 2018-04-11 15:03:33.000000000 +0200
@@ -151,6 +151,7 @@
bool WarnMissingEntry;
bool ZCombreloc;
bool ZExecstack;
+ bool ZHazardplt;
bool ZNocopyreloc;
bool ZNodelete;
bool ZNodlopen;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/ELF/Driver.cpp new/lld-6.0.1.src/ELF/Driver.cpp
--- old/lld-6.0.0.src/ELF/Driver.cpp 2018-02-22 10:26:44.000000000 +0100
+++ new/lld-6.0.1.src/ELF/Driver.cpp 2018-04-11 15:03:33.000000000 +0200
@@ -668,6 +668,7 @@
Config->WarnCommon = Args.hasArg(OPT_warn_common);
Config->ZCombreloc = !hasZOption(Args, "nocombreloc");
Config->ZExecstack = hasZOption(Args, "execstack");
+ Config->ZHazardplt = hasZOption(Args, "hazardplt");
Config->ZNocopyreloc = hasZOption(Args, "nocopyreloc");
Config->ZNodelete = hasZOption(Args, "nodelete");
Config->ZNodlopen = hasZOption(Args, "nodlopen");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/MinGW/Driver.cpp new/lld-6.0.1.src/MinGW/Driver.cpp
--- old/lld-6.0.0.src/MinGW/Driver.cpp 2017-12-12 21:34:38.000000000 +0100
+++ new/lld-6.0.1.src/MinGW/Driver.cpp 2018-05-11 08:58:06.000000000 +0200
@@ -154,6 +154,8 @@
Add("-debug:dwarf");
if (Args.hasArg(OPT_large_address_aware))
Add("-largeaddressaware");
+ if (Args.hasArg(OPT_kill_at))
+ Add("-kill-at");
if (Args.getLastArgValue(OPT_m) != "thumb2pe" &&
Args.getLastArgValue(OPT_m) != "arm64pe" && !Args.hasArg(OPT_dynamicbase))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/MinGW/Options.td new/lld-6.0.1.src/MinGW/Options.td
--- old/lld-6.0.0.src/MinGW/Options.td 2017-12-15 21:53:10.000000000 +0100
+++ new/lld-6.0.1.src/MinGW/Options.td 2018-05-11 08:58:06.000000000 +0200
@@ -14,6 +14,7 @@
def gc_sections: F<"gc-sections">, HelpText<"Remove unused sections">;
def icf: J<"icf=">, HelpText<"Identical code folding">;
def image_base: S<"image-base">, HelpText<"Base address of the program">;
+def kill_at: F<"kill-at">, HelpText<"Remove @n from exported symbols">;
def l: JoinedOrSeparate<["-"], "l">, MetaVarName<"<libName>">,
HelpText<"Root name of library to use">;
def m: JoinedOrSeparate<["-"], "m">, HelpText<"Set target emulation">;
@@ -51,6 +52,7 @@
def disable_auto_image_base: F<"disable-auto-image-base">;
def enable_auto_image_base: F<"enable-auto-image-base">;
def enable_auto_import: F<"enable-auto-import">;
+def end_group: J<"end-group">;
def full_shutdown: Flag<["--"], "full-shutdown">;
def high_entropy_va: F<"high-entropy-va">, HelpText<"Enable 64-bit ASLR">;
def major_image_version: S<"major-image-version">;
@@ -59,6 +61,7 @@
def nxcompat: F<"nxcompat">, HelpText<"Enable data execution prevention">;
def pic_executable: F<"pic-executable">;
def sysroot: J<"sysroot">, HelpText<"Sysroot">;
+def start_group: J<"start-group">;
def tsaware: F<"tsaware">, HelpText<"Create Terminal Server aware executable">;
def v: Flag<["-"], "v">, HelpText<"Display the version number">;
def version: F<"version">, HelpText<"Display the version number and exit">;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/test/COFF/def-export-stdcall.s new/lld-6.0.1.src/test/COFF/def-export-stdcall.s
--- old/lld-6.0.0.src/test/COFF/def-export-stdcall.s 2017-10-23 11:08:24.000000000 +0200
+++ new/lld-6.0.1.src/test/COFF/def-export-stdcall.s 2018-05-11 08:52:19.000000000 +0200
@@ -46,7 +46,8 @@
# DECORATED-EXPORTS: Name: vectorcall@@8
-# RUN: echo -e "LIBRARY foo\nEXPORTS\n stdcall@8\n @fastcall@8" > %t.def
+# GNU tools don't support vectorcall at the moment, but test it for completeness.
+# RUN: echo -e "LIBRARY foo\nEXPORTS\n stdcall@8\n @fastcall@8\n vectorcall@@8" > %t.def
# RUN: lld-link -lldmingw -entry:dllmain -dll -def:%t.def %t.obj -out:%t.dll -implib:%t.lib
# RUN: llvm-readobj %t.lib | FileCheck -check-prefix DECORATED-MINGW-IMPLIB %s
# RUN: llvm-readobj -coff-exports %t.dll | FileCheck -check-prefix DECORATED-MINGW-EXPORTS %s
@@ -57,9 +58,39 @@
# DECORATED-MINGW-IMPLIB: Name type: noprefix
# DECORATED-MINGW-IMPLIB-NEXT: __imp__stdcall@8
# DECORATED-MINGW-IMPLIB-NEXT: _stdcall@8
+# GNU tools don't support vectorcall, but this test is just to track that
+# lld's behaviour remains consistent over time.
+# DECORATED-MINGW-IMPLIB: Name type: name
+# DECORATED-MINGW-IMPLIB-NEXT: __imp_vectorcall@@8
+# DECORATED-MINGW-IMPLIB-NEXT: vectorcall@@8
# DECORATED-MINGW-EXPORTS: Name: @fastcall@8
# DECORATED-MINGW-EXPORTS: Name: stdcall@8
+# DECORATED-MINGW-EXPORTS: Name: vectorcall@@8
+
+# RUN: lld-link -lldmingw -kill-at -entry:dllmain -dll -def:%t.def %t.obj -out:%t.dll -implib:%t.lib
+# RUN: llvm-readobj %t.lib | FileCheck -check-prefix MINGW-KILL-AT-IMPLIB %s
+# RUN: llvm-readobj -coff-exports %t.dll | FileCheck -check-prefix MINGW-KILL-AT-EXPORTS %s
+
+# RUN: lld-link -lldmingw -kill-at -entry:dllmain -dll %t.obj -out:%t.dll -implib:%t.lib
+# RUN: llvm-readobj %t.lib | FileCheck -check-prefix MINGW-KILL-AT-IMPLIB %s
+# RUN: llvm-readobj -coff-exports %t.dll | FileCheck -check-prefix MINGW-KILL-AT-EXPORTS %s
+
+# MINGW-KILL-AT-IMPLIB: Name type: noprefix
+# MINGW-KILL-AT-IMPLIB: __imp__fastcall
+# MINGW-KILL-AT-IMPLIB-NEXT: _fastcall
+# MINGW-KILL-AT-IMPLIB: Name type: noprefix
+# MINGW-KILL-AT-IMPLIB-NEXT: __imp__stdcall
+# MINGW-KILL-AT-IMPLIB-NEXT: _stdcall
+# GNU tools don't support vectorcall, but this test is just to track that
+# lld's behaviour remains consistent over time.
+# MINGW-KILL-AT-IMPLIB: Name type: noprefix
+# MINGW-KILL-AT-IMPLIB-NEXT: __imp__vectorcall
+# MINGW-KILL-AT-IMPLIB-NEXT: _vectorcall
+
+# MINGW-KILL-AT-EXPORTS: Name: fastcall
+# MINGW-KILL-AT-EXPORTS: Name: stdcall
+# MINGW-KILL-AT-EXPORTS: Name: vectorcall
.def _stdcall@8;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/test/ELF/mips-26-n32-n64.s new/lld-6.0.1.src/test/ELF/mips-26-n32-n64.s
--- old/lld-6.0.0.src/test/ELF/mips-26-n32-n64.s 2017-11-22 13:34:29.000000000 +0100
+++ new/lld-6.0.1.src/test/ELF/mips-26-n32-n64.s 2018-04-11 15:03:33.000000000 +0200
@@ -5,7 +5,11 @@
# RUN: ld.lld %t-so.o -shared -o %t.so
# RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t.o
# RUN: ld.lld %t.o %t.so -o %t.exe
-# RUN: llvm-objdump -d %t.exe | FileCheck %s
+# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefixes=CHECK,DEFAULT
+# RUN: ld.lld %t-so.o -shared -o %t.so -z hazardplt
+# RUN: ld.lld %t.o %t.so -o %t.exe -z hazardplt
+# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefixes=CHECK,HAZARDPLT
+
# REQUIRES: mips
@@ -21,11 +25,13 @@
# CHECK-NEXT: 2001c: 03 0e c0 23 subu $24, $24, $14
# CHECK-NEXT: 20020: 03 e0 78 25 move $15, $ra
# CHECK-NEXT: 20024: 00 18 c0 c2 srl $24, $24, 3
-# CHECK-NEXT: 20028: 03 20 f8 09 jalr $25
+# DEFAULT: 20028: 03 20 f8 09 jalr $25
+# HAZARDPLT: 20028: 03 20 fc 09 jalr.hb $25
# CHECK-NEXT: 2002c: 27 18 ff fe addiu $24, $24, -2
# CHECK-NEXT: 20030: 3c 0f 00 03 lui $15, 3
# CHECK-NEXT: 20034: 8d f9 00 18 lw $25, 24($15)
-# CHECK-NEXT: 20038: 03 20 00 08 jr $25
+# DEFAULT: 20038: 03 20 00 08 jr $25
+# HAZARDPLT: 20038: 03 20 04 08 jr.hb $25
# CHECK-NEXT: 2003c: 25 f8 00 18 addiu $24, $15, 24
.text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/test/ELF/mips-plt-r6.s new/lld-6.0.1.src/test/ELF/mips-plt-r6.s
--- old/lld-6.0.0.src/test/ELF/mips-plt-r6.s 2017-06-24 00:30:28.000000000 +0200
+++ new/lld-6.0.1.src/test/ELF/mips-plt-r6.s 2018-04-11 15:03:33.000000000 +0200
@@ -6,7 +6,10 @@
# RUN: -mcpu=mips32r6 %S/Inputs/mips-dynamic.s -o %t2.o
# RUN: ld.lld %t2.o -shared -o %t.so
# RUN: ld.lld %t1.o %t.so -o %t.exe
-# RUN: llvm-objdump -d %t.exe | FileCheck %s
+# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefixes=DEFAULT,CHECK
+# RUN: ld.lld %t2.o -shared -o %t.so -z hazardplt
+# RUN: ld.lld %t1.o %t.so -o %t.exe -z hazardplt
+# RUN: llvm-objdump -d %t.exe | FileCheck %s --check-prefixes=HAZARDPLT,CHECK
# REQUIRES: mips
@@ -24,12 +27,14 @@
# CHECK-NEXT: 2001c: 03 1c c0 23 subu $24, $24, $gp
# CHECK-NEXT: 20020: 03 e0 78 25 move $15, $ra
# CHECK-NEXT: 20024: 00 18 c0 82 srl $24, $24, 2
-# CHECK-NEXT: 20028: 03 20 f8 09 jalr $25
+# DEFAULT: 20028: 03 20 f8 09 jalr $25
+# HAZARDPLT: 20028: 03 20 fc 09 jalr.hb $25
# CHECK-NEXT: 2002c: 27 18 ff fe addiu $24, $24, -2
# CHECK-NEXT: 20030: 3c 0f 00 03 aui $15, $zero, 3
# CHECK-NEXT: 20034: 8d f9 00 0c lw $25, 12($15)
-# CHECK-NEXT: 20038: 03 20 00 09 jr $25
+# DEFAULT: 20038: 03 20 00 09 jr $25
+# HAZARDPLT: 20038: 03 20 04 09 jr.hb $25
# CHECK-NEXT: 2003c: 25 f8 00 0c addiu $24, $15, 12
.text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lld-6.0.0.src/test/MinGW/driver.test new/lld-6.0.1.src/test/MinGW/driver.test
--- old/lld-6.0.0.src/test/MinGW/driver.test 2017-12-12 20:39:18.000000000 +0100
+++ new/lld-6.0.1.src/test/MinGW/driver.test 2018-05-11 08:58:06.000000000 +0200
@@ -124,3 +124,7 @@
RUN: ld.lld -### -m i386pep foo.o --icf=all | FileCheck -check-prefix ICF %s
RUN: ld.lld -### -m i386pep foo.o -icf=all | FileCheck -check-prefix ICF %s
ICF: -opt:icf
+
+RUN: ld.lld -### foo.o -m i386pe -shared --kill-at | FileCheck -check-prefix=KILL-AT %s
+RUN: ld.lld -### foo.o -m i386pe -shared -kill-at | FileCheck -check-prefix=KILL-AT %s
+KILL-AT: -kill-at
++++++ lldb-6.0.0.src.tar.xz -> lldb-6.0.1.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm6/lldb-6.0.0.src.tar.xz /work/SRC/openSUSE:Factory/.llvm6.new/lldb-6.0.1.src.tar.xz differ: char 26, line 1
++++++ lldb-fix-build-with-python-3.7.patch ++++++
From acbe5dc5cf0cf6852f02794987178595051a3a4e Mon Sep 17 00:00:00 2001
From: Michal Srb
Date: Wed, 25 Jul 2018 10:08:58 +0200
Subject: [PATCH] Fix build with python 3.7.
The PyUnicode_AsUTF8AndSize now returns const char*, so we can not cast
it to char*. However, the PyString_AsStringAndSize from python 2 still
needs char**.
---
source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp b/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
index 6a9d57d5a..3382813a5 100644
--- a/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
+++ b/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
@@ -399,11 +399,11 @@ llvm::StringRef PythonString::GetString() const {
return llvm::StringRef();
Py_ssize_t size;
- char *c;
#if PY_MAJOR_VERSION >= 3
- c = PyUnicode_AsUTF8AndSize(m_py_obj, &size);
+ const char *c = PyUnicode_AsUTF8AndSize(m_py_obj, &size);
#else
+ char *c;
PyString_AsStringAndSize(m_py_obj, &c, &size);
#endif
return llvm::StringRef(c, size);
--
2.16.4
++++++ llvm-6.0.0.src.tar.xz -> llvm-6.0.1.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm6/llvm-6.0.0.src.tar.xz /work/SRC/openSUSE:Factory/.llvm6.new/llvm-6.0.1.src.tar.xz differ: char 25, line 1
++++++ llvm-do-not-install-static-libraries.patch ++++++
--- /var/tmp/diff_new_pack.6AKN45/_old 2018-07-27 10:55:14.521531719 +0200
+++ /var/tmp/diff_new_pack.6AKN45/_new 2018-07-27 10:55:14.525531727 +0200
@@ -2,10 +2,10 @@
want after installation. By not copying them in the first place we reduce the
disk usage during installation.
-Index: llvm-6.0.0.src/cmake/modules/AddLLVM.cmake
+Index: llvm-6.0.1.src/cmake/modules/AddLLVM.cmake
===================================================================
---- llvm-6.0.0.src.orig/cmake/modules/AddLLVM.cmake
-+++ llvm-6.0.0.src/cmake/modules/AddLLVM.cmake
+--- llvm-6.0.1.src.orig/cmake/modules/AddLLVM.cmake
++++ llvm-6.0.1.src/cmake/modules/AddLLVM.cmake
@@ -639,10 +639,19 @@ macro(add_llvm_library name)
set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
endif()
@@ -30,10 +30,10 @@
if (NOT CMAKE_CONFIGURATION_TYPES)
add_llvm_install_targets(install-${name}
-Index: llvm-6.0.0.src/lld-6.0.0.src/cmake/modules/AddLLD.cmake
+Index: llvm-6.0.1.src/lld-6.0.1.src/cmake/modules/AddLLD.cmake
===================================================================
---- llvm-6.0.0.src.orig/lld-6.0.0.src/cmake/modules/AddLLD.cmake
-+++ llvm-6.0.0.src/lld-6.0.0.src/cmake/modules/AddLLD.cmake
+--- llvm-6.0.1.src.orig/lld-6.0.1.src/cmake/modules/AddLLD.cmake
++++ llvm-6.0.1.src/lld-6.0.1.src/cmake/modules/AddLLD.cmake
@@ -17,13 +17,6 @@ macro(add_lld_library name)
set_property(GLOBAL PROPERTY LLD_HAS_EXPORTS True)
endif()
@@ -48,10 +48,10 @@
if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
add_llvm_install_targets(install-${name}
DEPENDS ${name}
-Index: llvm-6.0.0.src/lldb-6.0.0.src/cmake/modules/AddLLDB.cmake
+Index: llvm-6.0.1.src/lldb-6.0.1.src/cmake/modules/AddLLDB.cmake
===================================================================
---- llvm-6.0.0.src.orig/lldb-6.0.0.src/cmake/modules/AddLLDB.cmake
-+++ llvm-6.0.0.src/lldb-6.0.0.src/cmake/modules/AddLLDB.cmake
+--- llvm-6.0.1.src.orig/lldb-6.0.1.src/cmake/modules/AddLLDB.cmake
++++ llvm-6.0.1.src/lldb-6.0.1.src/cmake/modules/AddLLDB.cmake
@@ -60,10 +60,12 @@ function(add_lldb_library name)
LIBRARY DESTINATION ${out_dir}
ARCHIVE DESTINATION ${out_dir})
@@ -69,10 +69,10 @@
endif()
if (NOT CMAKE_CONFIGURATION_TYPES)
add_llvm_install_targets(install-${name}
-Index: llvm-6.0.0.src/polly-6.0.0.src/cmake/polly_macros.cmake
+Index: llvm-6.0.1.src/polly-6.0.1.src/cmake/polly_macros.cmake
===================================================================
---- llvm-6.0.0.src.orig/polly-6.0.0.src/cmake/polly_macros.cmake
-+++ llvm-6.0.0.src/polly-6.0.0.src/cmake/polly_macros.cmake
+--- llvm-6.0.1.src.orig/polly-6.0.1.src/cmake/polly_macros.cmake
++++ llvm-6.0.1.src/polly-6.0.1.src/cmake/polly_macros.cmake
@@ -42,12 +42,22 @@ macro(add_polly_library name)
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
endif( LLVM_LINK_COMPONENTS )
@@ -101,10 +101,10 @@
endmacro(add_polly_library)
macro(add_polly_loadable_module name)
-Index: llvm-6.0.0.src/polly-6.0.0.src/lib/CMakeLists.txt
+Index: llvm-6.0.1.src/polly-6.0.1.src/lib/CMakeLists.txt
===================================================================
---- llvm-6.0.0.src.orig/polly-6.0.0.src/lib/CMakeLists.txt
-+++ llvm-6.0.0.src/polly-6.0.0.src/lib/CMakeLists.txt
+--- llvm-6.0.1.src.orig/polly-6.0.1.src/lib/CMakeLists.txt
++++ llvm-6.0.1.src/polly-6.0.1.src/lib/CMakeLists.txt
@@ -145,7 +145,7 @@ else ()
# hosts. This is not the case for bugpoint. Use LLVM_POLLY_LINK_INTO_TOOLS=ON
# instead which will automatically resolve the additional dependencies by
++++++ llvm-docs-6.0.0.src.tar.xz -> llvm-docs-6.0.1.src.tar.xz ++++++
++++ 263588 lines of diff (skipped)
++++++ openmp-6.0.0.src.tar.xz -> openmp-6.0.1.src.tar.xz ++++++
++++++ polly-6.0.0.src.tar.xz -> polly-6.0.1.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm6/polly-6.0.0.src.tar.xz /work/SRC/openSUSE:Factory/.llvm6.new/polly-6.0.1.src.tar.xz differ: char 26, line 1