From e28977ca420ee1f840bc7c6341c83a34d932ac875ec41f7e37c649e7d6058024 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 23 Oct 2013 06:01:59 +0000 Subject: [PATCH 01/51] Accepting request 204367 from devel:ARM:Factory - add r189852.diff: Remove vtables optimisation that breaks ARM and PowerPC - Disable testsuite on ARMv7, takes forever to run OBS-URL: https://build.opensuse.org/request/show/204367 OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=286 --- _constraints | 10 --- llvm.changes | 7 ++ llvm.spec | 4 ++ r189852.diff | 188 +++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 199 insertions(+), 10 deletions(-) delete mode 100644 _constraints create mode 100644 r189852.diff diff --git a/_constraints b/_constraints deleted file mode 100644 index d2dc35b..0000000 --- a/_constraints +++ /dev/null @@ -1,10 +0,0 @@ - - - - - 2000 - - - kvm - SLOW_CPU - diff --git a/llvm.changes b/llvm.changes index 303d941..927e948 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Oct 22 20:57:00 UTC 2013 - dmueller@suse.com + +- add r189852.diff: Remove vtables optimisation that breaks ARM + and PowerPC +- Disable testsuite on ARMv7, takes forever to run + ------------------------------------------------------------------- Thu Oct 17 10:23:32 UTC 2013 - schwab@suse.de diff --git a/llvm.spec b/llvm.spec index 68261e2..ccd3ed6 100644 --- a/llvm.spec +++ b/llvm.spec @@ -63,6 +63,7 @@ Patch10: llvm-no-visibility.patch # PATCH-FIX-OPENSUSE llvm-disable-pretty-stack-trace.patch -- https://bugs.freedesktop.org/show_bug.cgi?id=60929 Patch11: llvm-disable-pretty-stack-trace.patch Patch12: arm-remove-xfails.diff +Patch13: r189852.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -176,6 +177,7 @@ This package contains vim plugins for LLVM like syntax highlighting. %endif %patch11 -p1 %patch12 +%patch13 # We hardcode i586 rm tools/clang/test/Driver/x86_features.c @@ -304,6 +306,7 @@ make %{?_smp_mflags} VERBOSE=1 %check cd stage2 +%ifnarch armv7hl armv7l %if 0%{!?qemu_user_space_build:1} # we just do not have enough memory with qemu emulation @@ -325,6 +328,7 @@ done make check make clang-test %endif +%endif %install cd stage2 diff --git a/r189852.diff b/r189852.diff new file mode 100644 index 0000000..40a26cc --- /dev/null +++ b/r189852.diff @@ -0,0 +1,188 @@ + +Don't emit an available_externally vtable pointing to linkonce_odr funcs. + +This fixes pr13124. + +From the discussion at +http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-June/022606.html +we know that we cannot make funcions in a weak_odr vtable also weak_odr. They +should remain linkonce_odr. + +The side effect is that we cannot emit a available_externally vtable unless we +also emit a copy of the function. This also has an issue: If codegen is going +to output a function, sema has to mark it used. Given llvm.org/pr9114, it looks +like sema cannot be more aggressive at marking functions used because +of vtables. + +This leaves us with a few unpleasant options: + +* Marking functions in vtables used if possible. This sounds a bit sloppy, so + we should avoid it. +* Producing available_externally vtables only when all the functions in it are + already used or weak_odr. This would cover cases like + +-------------------- +struct foo { + virtual ~foo(); +}; +struct bar : public foo { + virtual void zed(); +}; +void f() { + foo *x(new bar); + delete x; +} +void g(bar *x) { + x->~bar(); // force the destructor to be used +} +-------------------------- + +and + +---------------------------------- +template +struct bar { + virtual ~bar(); +}; +template +bar::~bar() { +} + +// make the destructor weak_odr instead of linkonce_odr +extern template class bar; + +void f() { + bar *x(new bar); + delete x; +} +---------------------------- + +These look like corner cases, so it is unclear if it is worth it. + +* And finally: Just nuke this optimization. That is what this patch implements. + + +--- tools/clang/lib/CodeGen/CGVTables.cpp ++++ tools/clang/lib/CodeGen/CGVTables.cpp +@@ -734,12 +734,7 @@ + switch (keyFunction->getTemplateSpecializationKind()) { + case TSK_Undeclared: + case TSK_ExplicitSpecialization: +- // When compiling with optimizations turned on, we emit all vtables, +- // even if the key function is not defined in the current translation +- // unit. If this is the case, use available_externally linkage. +- if (!def && CodeGenOpts.OptimizationLevel) +- return llvm::GlobalVariable::AvailableExternallyLinkage; +- ++ assert(def && "Should not have been asked to emit this"); + if (keyFunction->isInlined()) + return !Context.getLangOpts().AppleKext ? + llvm::GlobalVariable::LinkOnceODRLinkage : +@@ -758,9 +753,7 @@ + llvm::Function::InternalLinkage; + + case TSK_ExplicitInstantiationDeclaration: +- return !Context.getLangOpts().AppleKext ? +- llvm::GlobalVariable::AvailableExternallyLinkage : +- llvm::Function::InternalLinkage; ++ llvm_unreachable("Should not have been asked to emit this"); + } + } + +@@ -776,7 +769,7 @@ + return llvm::GlobalVariable::LinkOnceODRLinkage; + + case TSK_ExplicitInstantiationDeclaration: +- return llvm::GlobalVariable::AvailableExternallyLinkage; ++ llvm_unreachable("Should not have been asked to emit this"); + + case TSK_ExplicitInstantiationDefinition: + return llvm::GlobalVariable::WeakODRLinkage; +@@ -875,16 +868,6 @@ + /// we define that v-table? + static bool shouldEmitVTableAtEndOfTranslationUnit(CodeGenModule &CGM, + const CXXRecordDecl *RD) { +- // If we're building with optimization, we always emit v-tables +- // since that allows for virtual function calls to be devirtualized. +- // If the v-table is defined strongly elsewhere, this definition +- // will be emitted available_externally. +- // +- // However, we don't want to do this in -fapple-kext mode, because +- // kext mode does not permit devirtualization. +- if (CGM.getCodeGenOpts().OptimizationLevel && !CGM.getLangOpts().AppleKext) +- return true; +- + return !CGM.getVTables().isVTableExternal(RD); + } + +--- tools/clang/test/CodeGenCXX/thunks-available-externally.cpp ++++ tools/clang/test/CodeGenCXX/thunks-available-externally.cpp +@@ -1,4 +1,4 @@ +-// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -O3 -o - | FileCheck %s ++// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm-only -O3 + + // Check that we don't assert on this case. + namespace Test1 { +@@ -58,15 +58,6 @@ + b->f(); + } + +-// CHECK: define void @_ZN5Test21fEv() +-// CHECK: call void @_ZN5Test21C1fEv +-// CHECK: ret void +-// CHECK: define available_externally void @_ZThn16_N5Test21C1fEv +-void f() { +- C c; +- f(&c); +-} +- + } + + // Test that we don't assert. +--- tools/clang/test/CodeGenCXX/vtable-available-externally.cpp ++++ tools/clang/test/CodeGenCXX/vtable-available-externally.cpp +@@ -2,18 +2,10 @@ + // RUN: FileCheck --check-prefix=CHECK-TEST1 %s < %t + // RUN: FileCheck --check-prefix=CHECK-TEST2 %s < %t + // RUN: FileCheck --check-prefix=CHECK-TEST5 %s < %t +-// RUN: FileCheck --check-prefix=CHECK-TEST7 %s < %t + + #include + +-// Test1::A's key function (f) is not defined in this translation +-// unit, but in order to devirtualize calls, we emit the v-table with +-// available_externally linkage. +-// +-// There's no real reason to do this to the RTTI, though. +- +-// CHECK-TEST1: @_ZTVN5Test11AE = available_externally +-// CHECK-TEST1: @_ZTIN5Test11AE = external constant i8* ++// CHECK-TEST1: @_ZTVN5Test11AE = external unnamed_addr constant + namespace Test1 { + + struct A { +@@ -160,13 +152,4 @@ + void f6 (); + }; + +-// CHECK-TEST7: define void @_ZN5Test79check_c28Ev +-// CHECK-TEST7: call void @_ZN5Test73c282f6Ev +-// CHECK-TEST7: ret void +-void check_c28 () { +- c28 obj; +- c11 *ptr = &obj; +- ptr->f6 (); +-} +- + } +--- tools/clang/test/CodeGenCXX/vtable-linkage.cpp ++++ tools/clang/test/CodeGenCXX/vtable-linkage.cpp +@@ -163,7 +163,7 @@ + // F is an explicit template instantiation declaration without a + // key function, so its vtable should have external linkage. + // CHECK-9: @_ZTV1FIiE = external unnamed_addr constant +-// CHECK-9-OPT: @_ZTV1FIiE = available_externally unnamed_addr constant ++// CHECK-9-OPT: @_ZTV1FIiE = external unnamed_addr constant + + // E is an explicit template instantiation declaration. It has a + // key function that is not instantiated, so we should only reference From 359cf1e3220b2b09218fdf425275879a7e225657f5b50638530ff8fc8f2772d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 19 Nov 2013 09:12:59 +0000 Subject: [PATCH 02/51] - Update to r195116 from llvm 3.4 branch - Refresh patches * aarch64-suse-support.patch * arm_suse_support.diff * assume-opensuse.patch * default-to-i586.patch - Drop upstream patches * llvm-disable-pretty-stack-trace.patch * r189852.diff * unreachable-code.patch OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=287 --- aarch64-suse-support.patch | 17 ++- arm_suse_support.diff | 28 ++-- assume-opensuse.patch | 81 ++++++++++- default-to-i586.patch | 26 ++-- llvm-3.3.93.tar.bz2 | 3 + llvm-3.3.tar.bz2 | 3 - llvm-disable-pretty-stack-trace.patch | 25 ---- llvm.changes | 14 ++ llvm.spec | 42 ++---- r189852.diff | 188 -------------------------- unreachable-code.patch | 13 -- 11 files changed, 139 insertions(+), 301 deletions(-) create mode 100644 llvm-3.3.93.tar.bz2 delete mode 100644 llvm-3.3.tar.bz2 delete mode 100644 llvm-disable-pretty-stack-trace.patch delete mode 100644 r189852.diff delete mode 100644 unreachable-code.patch diff --git a/aarch64-suse-support.patch b/aarch64-suse-support.patch index ad00825..7591a51 100644 --- a/aarch64-suse-support.patch +++ b/aarch64-suse-support.patch @@ -1,16 +1,15 @@ -Index: llvm-3.3/tools/clang/lib/Driver/ToolChains.cpp +Index: llvm/tools/clang/lib/Driver/ToolChains.cpp =================================================================== ---- llvm-3.3.orig/tools/clang/lib/Driver/ToolChains.cpp -+++ llvm-3.3/tools/clang/lib/Driver/ToolChains.cpp -@@ -1073,9 +1073,10 @@ Generic_GCC::GCCInstallationDetector::GC +--- llvm.orig/tools/clang/lib/Driver/ToolChains.cpp ++++ llvm/tools/clang/lib/Driver/ToolChains.cpp +@@ -1110,8 +1110,9 @@ void Generic_GCC::GCCInstallationDetecto // Declare a bunch of static data sets that we'll select between below. These // are specifically designed to always refer to string literals to avoid any // lifetime or initialization issues. - static const char *const AArch64LibDirs[] = { "/lib" }; + static const char *const AArch64LibDirs[] = { "/lib64", "/lib" }; - static const char *const AArch64Triples[] = { - "aarch64-none-linux-gnu", -+ "aarch64-suse-linux", - "aarch64-linux-gnu" - }; + static const char *const AArch64Triples[] = { "aarch64-none-linux-gnu", ++ "aarch64-suse-linux", + "aarch64-linux-gnu" }; + static const char *const ARMLibDirs[] = { "/lib" }; diff --git a/arm_suse_support.diff b/arm_suse_support.diff index 98b3c4a..cb50d4c 100644 --- a/arm_suse_support.diff +++ b/arm_suse_support.diff @@ -1,16 +1,18 @@ ---- /tools/clang/lib/Driver/ToolChains.cpp.orig 2012-11-22 10:26:49.202107824 +0100 -+++ /tools/clang/lib/Driver/ToolChains.cpp 2012-11-22 12:20:33.662825882 +0100 -@@ -1082,11 +1082,13 @@ Generic_GCC::GCCInstallationDetector::GC +Index: llvm/tools/clang/lib/Driver/ToolChains.cpp +=================================================================== +--- llvm.orig/tools/clang/lib/Driver/ToolChains.cpp ++++ llvm/tools/clang/lib/Driver/ToolChains.cpp +@@ -1071,9 +1071,11 @@ Generic_GCC::GCCInstallationDetector::GC + static const char *const ARMLibDirs[] = { "/lib" }; - static const char *const ARMTriples[] = { - "arm-linux-gnueabi", -+ "armv5tel-suse-linux-gnueabi", - "arm-linux-androideabi" - }; - static const char *const ARMHFTriples[] = { - "arm-linux-gnueabihf", -+ "armv7hl-suse-linux-gnueabi", - "armv7hl-redhat-linux-gnueabi" - }; + static const char *const ARMTriples[] = { "arm-linux-gnueabi", +- "arm-linux-androideabi" }; ++ "arm-linux-androideabi", ++ "armv5tel-suse-linux-gnueabi"}; + static const char *const ARMHFTriples[] = { "arm-linux-gnueabihf", +- "armv7hl-redhat-linux-gnueabi" }; ++ "armv7hl-redhat-linux-gnueabi", ++ "armv7hl-suse-linux-gnueabi" }; static const char *const X86_64LibDirs[] = { "/lib64", "/lib" }; + static const char *const X86_64Triples[] = { diff --git a/assume-opensuse.patch b/assume-opensuse.patch index c86a2ed..3a1b91e 100644 --- a/assume-opensuse.patch +++ b/assume-opensuse.patch @@ -1,11 +1,78 @@ ---- a/tools/clang/lib/Driver/ToolChains.cpp (revision 178453) -+++ b/tools/clang/lib/Driver/ToolChains.cpp (working copy) -@@ -1878,7 +1878,7 @@ +Index: llvm/tools/clang/lib/Driver/ToolChains.cpp +=================================================================== +--- llvm.orig/tools/clang/lib/Driver/ToolChains.cpp ++++ llvm/tools/clang/lib/Driver/ToolChains.cpp +@@ -2185,73 +2185,7 @@ static bool IsUbuntu(enum Distro Distro) } - static bool IsOpenSuse(enum Distro Distro) { -- return Distro >= OpenSuse11_3 && Distro <= OpenSuse12_2; -+ return true; + static Distro DetectDistro(llvm::Triple::ArchType Arch) { +- OwningPtr File; +- if (!llvm::MemoryBuffer::getFile("/etc/lsb-release", File)) { +- StringRef Data = File.get()->getBuffer(); +- SmallVector Lines; +- Data.split(Lines, "\n"); +- Distro Version = UnknownDistro; +- for (unsigned i = 0, s = Lines.size(); i != s; ++i) +- if (Version == UnknownDistro && Lines[i].startswith("DISTRIB_CODENAME=")) +- Version = llvm::StringSwitch(Lines[i].substr(17)) +- .Case("hardy", UbuntuHardy) +- .Case("intrepid", UbuntuIntrepid) +- .Case("jaunty", UbuntuJaunty) +- .Case("karmic", UbuntuKarmic) +- .Case("lucid", UbuntuLucid) +- .Case("maverick", UbuntuMaverick) +- .Case("natty", UbuntuNatty) +- .Case("oneiric", UbuntuOneiric) +- .Case("precise", UbuntuPrecise) +- .Case("quantal", UbuntuQuantal) +- .Case("raring", UbuntuRaring) +- .Case("saucy", UbuntuSaucy) +- .Case("trusty", UbuntuTrusty) +- .Default(UnknownDistro); +- return Version; +- } +- +- if (!llvm::MemoryBuffer::getFile("/etc/redhat-release", File)) { +- StringRef Data = File.get()->getBuffer(); +- if (Data.startswith("Fedora release")) +- return Fedora; +- else if (Data.startswith("Red Hat Enterprise Linux") && +- Data.find("release 6") != StringRef::npos) +- return RHEL6; +- else if ((Data.startswith("Red Hat Enterprise Linux") || +- Data.startswith("CentOS")) && +- Data.find("release 5") != StringRef::npos) +- return RHEL5; +- else if ((Data.startswith("Red Hat Enterprise Linux") || +- Data.startswith("CentOS")) && +- Data.find("release 4") != StringRef::npos) +- return RHEL4; +- return UnknownDistro; +- } +- +- if (!llvm::MemoryBuffer::getFile("/etc/debian_version", File)) { +- StringRef Data = File.get()->getBuffer(); +- if (Data[0] == '5') +- return DebianLenny; +- else if (Data.startswith("squeeze/sid") || Data[0] == '6') +- return DebianSqueeze; +- else if (Data.startswith("wheezy/sid") || Data[0] == '7') +- return DebianWheezy; +- else if (Data.startswith("jessie/sid") || Data[0] == '8') +- return DebianJessie; +- return UnknownDistro; +- } +- +- if (llvm::sys::fs::exists("/etc/SuSE-release")) + return OpenSUSE; +- +- if (llvm::sys::fs::exists("/etc/exherbo-release")) +- return Exherbo; +- +- if (llvm::sys::fs::exists("/etc/arch-release")) +- return ArchLinux; +- +- return UnknownDistro; } - static bool IsDebian(enum Distro Distro) { + /// \brief Get our best guess at the multiarch triple for a target. diff --git a/default-to-i586.patch b/default-to-i586.patch index 3bbe80b..c80fcdc 100644 --- a/default-to-i586.patch +++ b/default-to-i586.patch @@ -1,20 +1,24 @@ -Index: llvm-3.3/tools/clang/lib/Driver/Tools.cpp +Index: llvm/tools/clang/lib/Driver/Tools.cpp =================================================================== ---- llvm-3.3.orig/tools/clang/lib/Driver/Tools.cpp -+++ llvm-3.3/tools/clang/lib/Driver/Tools.cpp -@@ -1243,12 +1243,12 @@ static const char *getX86TargetCPU(const - if (Triple.getOSName().startswith("netbsd")) - return "i486"; +--- llvm.orig/tools/clang/lib/Driver/Tools.cpp ++++ llvm/tools/clang/lib/Driver/Tools.cpp +@@ -1304,7 +1304,7 @@ static const char *getX86TargetCPU(const + } + // All x86 devices running Android have core2 as their common - // denominator. This makes a better choice than pentium4. + // denominator. This makes a better choice than i586. if (Triple.getEnvironment() == llvm::Triple::Android) return "core2"; -- // Fallback to p4. -- return "pentium4"; -+ // Fallback to i586. -+ return "i586"; +@@ -1322,8 +1322,8 @@ static const char *getX86TargetCPU(const + case llvm::Triple::Bitrig: + return "i686"; + default: +- // Fallback to p4. +- return "pentium4"; ++ // Fallback to i586. ++ return "i586"; + } } - void Clang::AddX86TargetArgs(const ArgList &Args, diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 new file mode 100644 index 0000000..cd43da3 --- /dev/null +++ b/llvm-3.3.93.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3da2976b481c69f53f6dc4fcb15292577c6d0d48b836b0dddac6816bd7e8e1f +size 21986769 diff --git a/llvm-3.3.tar.bz2 b/llvm-3.3.tar.bz2 deleted file mode 100644 index fa9224a..0000000 --- a/llvm-3.3.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:489179223491c39fc0274cab6540338bb0a6c18e581396d8b75341586181ade2 -size 24912910 diff --git a/llvm-disable-pretty-stack-trace.patch b/llvm-disable-pretty-stack-trace.patch deleted file mode 100644 index 19f95d3..0000000 --- a/llvm-disable-pretty-stack-trace.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: llvm-3.3/lib/Support/PrettyStackTrace.cpp -=================================================================== ---- llvm-3.3.orig/lib/Support/PrettyStackTrace.cpp -+++ llvm-3.3/lib/Support/PrettyStackTrace.cpp -@@ -27,7 +27,7 @@ - using namespace llvm; - - namespace llvm { -- bool DisablePrettyStackTrace = false; -+ bool DisablePrettyStackTrace = true; - } - - // FIXME: This should be thread local when llvm supports threads. -Index: llvm-3.3/tools/clang/tools/driver/driver.cpp -=================================================================== ---- llvm-3.3.orig/tools/clang/tools/driver/driver.cpp -+++ llvm-3.3/tools/clang/tools/driver/driver.cpp -@@ -341,6 +341,7 @@ static void ParseProgName(SmallVectorImp - } - - int main(int argc_, const char **argv_) { -+ llvm::DisablePrettyStackTrace = false; - llvm::sys::PrintStackTraceOnErrorSignal(); - llvm::PrettyStackTraceProgram X(argc_, argv_); - diff --git a/llvm.changes b/llvm.changes index 927e948..783682a 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Nov 19 08:42:08 UTC 2013 - idonmez@suse.com + +- Update to r195116 from llvm 3.4 branch +- Refresh patches + * aarch64-suse-support.patch + * arm_suse_support.diff + * assume-opensuse.patch + * default-to-i586.patch +- Drop upstream patches + * llvm-disable-pretty-stack-trace.patch + * r189852.diff + * unreachable-code.patch + ------------------------------------------------------------------- Tue Oct 22 20:57:00 UTC 2013 - dmueller@suse.com diff --git a/llvm.spec b/llvm.spec index ccd3ed6..69bc1ab 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,31 +16,17 @@ # -%define _revision 183898 -%define _release_version 3.3 -%define _supported_archs "AArch64;ARM;PowerPC;X86" -%define _experimental_archs "R600" - -%ifarch %arm -%define _supported_archs "ARM" -%endif - -%ifarch ppc64 -%define _supported_archs "PowerPC" -%endif - -%ifarch s390x -%define _supported_archs "SystemZ" -%endif +%define _revision 195116 +%define _release_version 3.4 Name: llvm -Version: 3.3 +Version: 3.3.93 Release: 0 Summary: Low Level Virtual Machine License: NCSA Group: Development/Languages/Other Url: http://www.llvm.org -Source0: %{name}-%{_release_version}.tar.bz2 +Source0: %{name}-%{version}.tar.bz2 Source100: %{name}-rpmlintrc # PATCH-FIX-OPENSUSE set-revision.patch idoenmez@suse.de -- Allow us to set revision Patch1: set-revision.patch @@ -53,17 +39,12 @@ Patch4: default-to-i586.patch Patch5: llvm-config-lib64.patch # PATCH-FIX-OPENSUSE arm_suse_support.diff --Enable ARM suse toolchain support Patch6: arm_suse_support.diff -# PATCH-FIX-OPENSUSE unreachable-code.patch -- Unreachable code warning triggered on SLE -Patch7: unreachable-code.patch Patch8: cmake-host-triple.patch # PATCH-FIX-OPENSUSE aarch64-suse-support.patch -- Enable AArch64 suse toolchain support Patch9: aarch64-suse-support.patch # PATCH-FIX-OPENSUSE llvm-no-visibility.patch -- Disable visibility Patch10: llvm-no-visibility.patch -# PATCH-FIX-OPENSUSE llvm-disable-pretty-stack-trace.patch -- https://bugs.freedesktop.org/show_bug.cgi?id=60929 -Patch11: llvm-disable-pretty-stack-trace.patch Patch12: arm-remove-xfails.diff -Patch13: r189852.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -160,7 +141,7 @@ Requires: vim This package contains vim plugins for LLVM like syntax highlighting. %prep -%setup -q -n %{name}-%{_release_version} +%setup -q -n %{name} %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -169,15 +150,12 @@ This package contains vim plugins for LLVM like syntax highlighting. %patch5 -p1 %endif %patch6 -p1 -%patch7 -p1 %patch8 -p1 %patch9 -p1 %ifarch s390 s390x %patch10 -p1 %endif -%patch11 -p1 %patch12 -%patch13 # We hardcode i586 rm tools/clang/test/Driver/x86_features.c @@ -251,7 +229,7 @@ cmake -G "Unix Makefiles" \ -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_ASSERTIONS=OFF \ - -DLLVM_TARGETS_TO_BUILD=%{_supported_archs} \ + -DLLVM_TARGETS_TO_BUILD=host \ -DCMAKE_C_FLAGS="-O0" \ -DCMAKE_CXX_FLAGS="-O0" \ -DLLVM_HOST_TRIPLE=%{host_triple} \ @@ -295,11 +273,11 @@ cmake -G "Unix Makefiles" \ %if 0%{?suse_version} >= 1220 -DLLVM_BINUTILS_INCDIR=/usr/include \ %endif - -DLLVM_TARGETS_TO_BUILD=%{_supported_archs} \ -%ifnarch %arm ppc64 s390x - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=%{_experimental_archs} \ +%ifarch %{ix86} x86_64 + -DLLVM_TARGETS_TO_BUILD="host;R600" \ +%else + -DLLVM_TARGETS_TO_BUILD=host \ %endif - -DLLVM_BUILD_TESTS=OFF \ .. make %{?_smp_mflags} VERBOSE=1 diff --git a/r189852.diff b/r189852.diff deleted file mode 100644 index 40a26cc..0000000 --- a/r189852.diff +++ /dev/null @@ -1,188 +0,0 @@ - -Don't emit an available_externally vtable pointing to linkonce_odr funcs. - -This fixes pr13124. - -From the discussion at -http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-June/022606.html -we know that we cannot make funcions in a weak_odr vtable also weak_odr. They -should remain linkonce_odr. - -The side effect is that we cannot emit a available_externally vtable unless we -also emit a copy of the function. This also has an issue: If codegen is going -to output a function, sema has to mark it used. Given llvm.org/pr9114, it looks -like sema cannot be more aggressive at marking functions used because -of vtables. - -This leaves us with a few unpleasant options: - -* Marking functions in vtables used if possible. This sounds a bit sloppy, so - we should avoid it. -* Producing available_externally vtables only when all the functions in it are - already used or weak_odr. This would cover cases like - --------------------- -struct foo { - virtual ~foo(); -}; -struct bar : public foo { - virtual void zed(); -}; -void f() { - foo *x(new bar); - delete x; -} -void g(bar *x) { - x->~bar(); // force the destructor to be used -} --------------------------- - -and - ----------------------------------- -template -struct bar { - virtual ~bar(); -}; -template -bar::~bar() { -} - -// make the destructor weak_odr instead of linkonce_odr -extern template class bar; - -void f() { - bar *x(new bar); - delete x; -} ----------------------------- - -These look like corner cases, so it is unclear if it is worth it. - -* And finally: Just nuke this optimization. That is what this patch implements. - - ---- tools/clang/lib/CodeGen/CGVTables.cpp -+++ tools/clang/lib/CodeGen/CGVTables.cpp -@@ -734,12 +734,7 @@ - switch (keyFunction->getTemplateSpecializationKind()) { - case TSK_Undeclared: - case TSK_ExplicitSpecialization: -- // When compiling with optimizations turned on, we emit all vtables, -- // even if the key function is not defined in the current translation -- // unit. If this is the case, use available_externally linkage. -- if (!def && CodeGenOpts.OptimizationLevel) -- return llvm::GlobalVariable::AvailableExternallyLinkage; -- -+ assert(def && "Should not have been asked to emit this"); - if (keyFunction->isInlined()) - return !Context.getLangOpts().AppleKext ? - llvm::GlobalVariable::LinkOnceODRLinkage : -@@ -758,9 +753,7 @@ - llvm::Function::InternalLinkage; - - case TSK_ExplicitInstantiationDeclaration: -- return !Context.getLangOpts().AppleKext ? -- llvm::GlobalVariable::AvailableExternallyLinkage : -- llvm::Function::InternalLinkage; -+ llvm_unreachable("Should not have been asked to emit this"); - } - } - -@@ -776,7 +769,7 @@ - return llvm::GlobalVariable::LinkOnceODRLinkage; - - case TSK_ExplicitInstantiationDeclaration: -- return llvm::GlobalVariable::AvailableExternallyLinkage; -+ llvm_unreachable("Should not have been asked to emit this"); - - case TSK_ExplicitInstantiationDefinition: - return llvm::GlobalVariable::WeakODRLinkage; -@@ -875,16 +868,6 @@ - /// we define that v-table? - static bool shouldEmitVTableAtEndOfTranslationUnit(CodeGenModule &CGM, - const CXXRecordDecl *RD) { -- // If we're building with optimization, we always emit v-tables -- // since that allows for virtual function calls to be devirtualized. -- // If the v-table is defined strongly elsewhere, this definition -- // will be emitted available_externally. -- // -- // However, we don't want to do this in -fapple-kext mode, because -- // kext mode does not permit devirtualization. -- if (CGM.getCodeGenOpts().OptimizationLevel && !CGM.getLangOpts().AppleKext) -- return true; -- - return !CGM.getVTables().isVTableExternal(RD); - } - ---- tools/clang/test/CodeGenCXX/thunks-available-externally.cpp -+++ tools/clang/test/CodeGenCXX/thunks-available-externally.cpp -@@ -1,4 +1,4 @@ --// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -O3 -o - | FileCheck %s -+// RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm-only -O3 - - // Check that we don't assert on this case. - namespace Test1 { -@@ -58,15 +58,6 @@ - b->f(); - } - --// CHECK: define void @_ZN5Test21fEv() --// CHECK: call void @_ZN5Test21C1fEv --// CHECK: ret void --// CHECK: define available_externally void @_ZThn16_N5Test21C1fEv --void f() { -- C c; -- f(&c); --} -- - } - - // Test that we don't assert. ---- tools/clang/test/CodeGenCXX/vtable-available-externally.cpp -+++ tools/clang/test/CodeGenCXX/vtable-available-externally.cpp -@@ -2,18 +2,10 @@ - // RUN: FileCheck --check-prefix=CHECK-TEST1 %s < %t - // RUN: FileCheck --check-prefix=CHECK-TEST2 %s < %t - // RUN: FileCheck --check-prefix=CHECK-TEST5 %s < %t --// RUN: FileCheck --check-prefix=CHECK-TEST7 %s < %t - - #include - --// Test1::A's key function (f) is not defined in this translation --// unit, but in order to devirtualize calls, we emit the v-table with --// available_externally linkage. --// --// There's no real reason to do this to the RTTI, though. -- --// CHECK-TEST1: @_ZTVN5Test11AE = available_externally --// CHECK-TEST1: @_ZTIN5Test11AE = external constant i8* -+// CHECK-TEST1: @_ZTVN5Test11AE = external unnamed_addr constant - namespace Test1 { - - struct A { -@@ -160,13 +152,4 @@ - void f6 (); - }; - --// CHECK-TEST7: define void @_ZN5Test79check_c28Ev --// CHECK-TEST7: call void @_ZN5Test73c282f6Ev --// CHECK-TEST7: ret void --void check_c28 () { -- c28 obj; -- c11 *ptr = &obj; -- ptr->f6 (); --} -- - } ---- tools/clang/test/CodeGenCXX/vtable-linkage.cpp -+++ tools/clang/test/CodeGenCXX/vtable-linkage.cpp -@@ -163,7 +163,7 @@ - // F is an explicit template instantiation declaration without a - // key function, so its vtable should have external linkage. - // CHECK-9: @_ZTV1FIiE = external unnamed_addr constant --// CHECK-9-OPT: @_ZTV1FIiE = available_externally unnamed_addr constant -+// CHECK-9-OPT: @_ZTV1FIiE = external unnamed_addr constant - - // E is an explicit template instantiation declaration. It has a - // key function that is not instantiated, so we should only reference diff --git a/unreachable-code.patch b/unreachable-code.patch deleted file mode 100644 index 04dd8d9..0000000 --- a/unreachable-code.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: llvm/utils/TableGen/CodeGenInstruction.cpp -=================================================================== ---- llvm.orig/utils/TableGen/CodeGenInstruction.cpp -+++ llvm/utils/TableGen/CodeGenInstruction.cpp -@@ -191,7 +191,7 @@ CGIOperandList::ParseOperandName(const s - return std::make_pair(OpIdx, i); - - // Otherwise, didn't find it! -- PrintFatalError(TheDef->getName() + ": unknown suboperand name in '" + Op + "'"); -+ llvm_unreachable(TheDef->getName() + ": unknown suboperand name in '" + Op + "'"); - } - - static void ParseConstraint(const std::string &CStr, CGIOperandList &Ops) { From 285cb523313bafa1d7160705cd59470d63ad19a5bf299e3d2809e9bd2310c42a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 19 Nov 2013 09:36:57 +0000 Subject: [PATCH 03/51] OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=288 --- llvm-3.3.93.tar.bz2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 index cd43da3..a3403b6 100644 --- a/llvm-3.3.93.tar.bz2 +++ b/llvm-3.3.93.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d3da2976b481c69f53f6dc4fcb15292577c6d0d48b836b0dddac6816bd7e8e1f -size 21986769 +oid sha256:dc71c2557436ad4eab901fb35e6705d9134344c7ca08a640affb094322790cf4 +size 27700172 From 18f7abfed1457beabef695a91807929455dd5cdf4f217111a283de096f7b1663 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 19 Nov 2013 10:02:27 +0000 Subject: [PATCH 04/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=289 --- llvm.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/llvm.spec b/llvm.spec index 69bc1ab..ddabc3f 100644 --- a/llvm.spec +++ b/llvm.spec @@ -170,8 +170,9 @@ sed -i s,LLVM_REVISION,\"%{_revision}\",g tools/clang/lib/Basic/Version.cpp %if "%{_lib}" == "lib64" # Nasty hardcoded path -sed -i s,/lib/,/%{_lib}/,g tools/clang/lib/Driver/Tools.cpp \ - tools/clang/test/Preprocessor/iwithprefix.c +sed -i s,"/lib/","/lib64/",g tools/clang/lib/Driver/Tools.cpp \ + tools/clang/test/Driver/dyld-prefix.c +sed -i s,"}lib{","}lib64{",g tools/clang/test/Preprocessor/iwithprefix.c %endif # Only enable target archs otherwise llvm-config is messed up From 52829897db6e609dbc619116f431163f43a9a276490881e2456a9c009d08e31c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 19 Nov 2013 10:25:09 +0000 Subject: [PATCH 05/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=290 --- llvm.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index ddabc3f..6566ab2 100644 --- a/llvm.spec +++ b/llvm.spec @@ -443,7 +443,6 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %{_datadir}/clang %{_mandir}/man1/clang.1%{ext_man} %{_libdir}/libLTO.* -%{_libdir}/libprofile_rt.* %if 0%{?suse_version} >= 1220 %{_libdir}/LLVMgold.so %{_libdir}/bfd-plugins/ From c0a67780d06e27e7132b7c901ce852f764d0f6dba0b9d627db20c4b3d588b626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 19 Nov 2013 10:52:51 +0000 Subject: [PATCH 06/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=291 --- llvm.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm.spec b/llvm.spec index 6566ab2..e02f55c 100644 --- a/llvm.spec +++ b/llvm.spec @@ -409,6 +409,7 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %{_bindir}/bugpoint %{_bindir}/llc %{_bindir}/lli +%{_bindir}/lli-child-target %{_bindir}/macho-dump %exclude %{_bindir}/%{name}-config %{_bindir}/%{name}* @@ -434,6 +435,7 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %{_bindir}/clang-format %{_bindir}/ccc-analyzer %{_bindir}/c++-analyzer +%{_bindir}/git-clang-format %{_bindir}/scan-build %{_bindir}/scan-view %{py_sitedir}/ScanView.py From 156c657843f12e08349016d7f9cda446c98de6a413d20d58b9ccabd1b37c9191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 20 Nov 2013 20:33:12 +0000 Subject: [PATCH 07/51] OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=292 --- llvm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index e02f55c..878596a 100644 --- a/llvm.spec +++ b/llvm.spec @@ -269,7 +269,7 @@ cmake -G "Unix Makefiles" \ %endif -DLLVM_REQUIRES_RTTI=ON \ -DLLVM_ENABLE_TIMESTAMPS=OFF \ - -DLLVM_ENABLE_ASSERTIONS=OFF \ + -DLLVM_ENABLE_ASSERTIONS=ON \ -DLLVM_ENABLE_PIC=ON \ %if 0%{?suse_version} >= 1220 -DLLVM_BINUTILS_INCDIR=/usr/include \ From 140bd036ece0b391823a03306319b762249cbfddb60e0e9731d4dcb8d8cbb39f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 20 Nov 2013 20:37:39 +0000 Subject: [PATCH 08/51] OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=293 --- llvm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index 878596a..69012a6 100644 --- a/llvm.spec +++ b/llvm.spec @@ -229,7 +229,7 @@ sed -i s,'${CMAKE_SYSTEM_PROCESSOR}','"SystemZ"',g ../cmake/modules/AddLLVM.cmak cmake -G "Unix Makefiles" \ -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_BUILD_TYPE=Release \ - -DLLVM_ENABLE_ASSERTIONS=OFF \ + -DLLVM_ENABLE_ASSERTIONS=ON \ -DLLVM_TARGETS_TO_BUILD=host \ -DCMAKE_C_FLAGS="-O0" \ -DCMAKE_CXX_FLAGS="-O0" \ From 2bd896baf6c4af45c748044a852bce0cb853923976691993e444fc743d6d2a8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 21 Nov 2013 12:59:03 +0000 Subject: [PATCH 09/51] Enable 3 more tests, now that they pass OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=294 --- llvm.spec | 5 ----- 1 file changed, 5 deletions(-) diff --git a/llvm.spec b/llvm.spec index 69012a6..ec8ddb7 100644 --- a/llvm.spec +++ b/llvm.spec @@ -293,11 +293,6 @@ cd stage2 ln -s lib lib64 %endif -# Due to http://llvm.org/bugs/show_bug.cgi?id=15242 -for i in crash-narrowfunctiontest metadata remove_arguments_test; do - rm ../test/BugPoint/$i.ll; -done - %ifarch s390 s390x for i in TestClassDecl.m TestClassForwardDecl.m c-index-getCursor-test.m; do rm ../tools/clang/test/Index/$i; From 1a8edd9849de397adc657e3e6fcf6da78e6b7eea299cfa3696b6423f32ae1b8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 21 Nov 2013 13:34:22 +0000 Subject: [PATCH 10/51] Update for s390x OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=295 --- llvm-no-visibility.patch | 18 ------------------ llvm.spec | 11 ----------- 2 files changed, 29 deletions(-) delete mode 100644 llvm-no-visibility.patch diff --git a/llvm-no-visibility.patch b/llvm-no-visibility.patch deleted file mode 100644 index 1f3ae01..0000000 --- a/llvm-no-visibility.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: llvm-3.3/cmake/modules/HandleLLVMOptions.cmake -=================================================================== ---- llvm-3.3.orig/cmake/modules/HandleLLVMOptions.cmake -+++ llvm-3.3/cmake/modules/HandleLLVMOptions.cmake -@@ -104,13 +104,6 @@ if( LLVM_ENABLE_PIC ) - # On Windows all code is PIC. MinGW warns if -fPIC is used. - else() - add_flag_or_print_warning("-fPIC") -- -- if( WIN32 OR CYGWIN) -- # MinGW warns if -fvisibility-inlines-hidden is used. -- else() -- check_cxx_compiler_flag("-fvisibility-inlines-hidden" SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG) -- append_if(SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG "-fvisibility-inlines-hidden" CMAKE_CXX_FLAGS) -- endif() - endif() - endif() - diff --git a/llvm.spec b/llvm.spec index ec8ddb7..f468762 100644 --- a/llvm.spec +++ b/llvm.spec @@ -42,8 +42,6 @@ Patch6: arm_suse_support.diff Patch8: cmake-host-triple.patch # PATCH-FIX-OPENSUSE aarch64-suse-support.patch -- Enable AArch64 suse toolchain support Patch9: aarch64-suse-support.patch -# PATCH-FIX-OPENSUSE llvm-no-visibility.patch -- Disable visibility -Patch10: llvm-no-visibility.patch Patch12: arm-remove-xfails.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf @@ -152,9 +150,6 @@ This package contains vim plugins for LLVM like syntax highlighting. %patch6 -p1 %patch8 -p1 %patch9 -p1 -%ifarch s390 s390x -%patch10 -p1 -%endif %patch12 # We hardcode i586 @@ -293,12 +288,6 @@ cd stage2 ln -s lib lib64 %endif -%ifarch s390 s390x -for i in TestClassDecl.m TestClassForwardDecl.m c-index-getCursor-test.m; do - rm ../tools/clang/test/Index/$i; -done -%endif - make check make clang-test %endif From 492d0701f7e8ca6cd50db64b91af41f10a877d89d4e3d9ee68c9f1a05a44fafb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 21 Nov 2013 13:34:36 +0000 Subject: [PATCH 11/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=296 --- llvm.changes | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm.changes b/llvm.changes index 783682a..ca32b00 100644 --- a/llvm.changes +++ b/llvm.changes @@ -11,6 +11,7 @@ Tue Nov 19 08:42:08 UTC 2013 - idonmez@suse.com * llvm-disable-pretty-stack-trace.patch * r189852.diff * unreachable-code.patch + * llvm-no-visibility.patch ------------------------------------------------------------------- Tue Oct 22 20:57:00 UTC 2013 - dmueller@suse.com From 199d14d8334522cdfc65ccaeb4f8ca090593e5a2fb132a5be392e9080ee31c93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 21 Nov 2013 13:44:50 +0000 Subject: [PATCH 12/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=297 --- llvm.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm.spec b/llvm.spec index f468762..a771aac 100644 --- a/llvm.spec +++ b/llvm.spec @@ -171,8 +171,8 @@ sed -i s,"}lib{","}lib64{",g tools/clang/test/Preprocessor/iwithprefix.c %endif # Only enable target archs otherwise llvm-config is messed up -%ifnarch %arm ppc64 s390x -sed -i s,"subdirectories = .*","subdirectories = AArch64 ARM PowerPC R600 X86", lib/Target/LLVMBuild.txt +%ifarch %{ix86} x86_64 +sed -i s,"subdirectories = .*","subdirectories = R600 X86", lib/Target/LLVMBuild.txt %endif %ifarch %arm From 6100330f249ffd52f3d3755462c93af76911ce7b93a55d73b0cdd26782fefdbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 21 Nov 2013 13:45:49 +0000 Subject: [PATCH 13/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=298 --- llvm.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/llvm.spec b/llvm.spec index a771aac..b3559fb 100644 --- a/llvm.spec +++ b/llvm.spec @@ -288,8 +288,7 @@ cd stage2 ln -s lib lib64 %endif -make check -make clang-test +make check-all %endif %endif From 4b344dac88ed6f0368f555da8e949cbd4c9515ca508b0befa31b04e34a930eaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 21 Nov 2013 13:46:44 +0000 Subject: [PATCH 14/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=299 --- llvm.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/llvm.spec b/llvm.spec index b3559fb..2df954d 100644 --- a/llvm.spec +++ b/llvm.spec @@ -39,10 +39,10 @@ Patch4: default-to-i586.patch Patch5: llvm-config-lib64.patch # PATCH-FIX-OPENSUSE arm_suse_support.diff --Enable ARM suse toolchain support Patch6: arm_suse_support.diff -Patch8: cmake-host-triple.patch +Patch7: cmake-host-triple.patch # PATCH-FIX-OPENSUSE aarch64-suse-support.patch -- Enable AArch64 suse toolchain support -Patch9: aarch64-suse-support.patch -Patch12: arm-remove-xfails.diff +Patch8: aarch64-suse-support.patch +Patch9: arm-remove-xfails.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -148,9 +148,9 @@ This package contains vim plugins for LLVM like syntax highlighting. %patch5 -p1 %endif %patch6 -p1 +%patch7 -p1 %patch8 -p1 -%patch9 -p1 -%patch12 +%patch9 # We hardcode i586 rm tools/clang/test/Driver/x86_features.c From 38d832d60c2671ca9eb56e07fe3094d94c1db916a9a03fe9b4e3a8bffd402a50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Fri, 22 Nov 2013 12:31:20 +0000 Subject: [PATCH 15/51] OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=300 --- fix-powerpc-headers.patch | 112 ++++++++++++++++++++++++++++++++++++++ llvm.spec | 3 +- 2 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 fix-powerpc-headers.patch diff --git a/fix-powerpc-headers.patch b/fix-powerpc-headers.patch new file mode 100644 index 0000000..762bfc2 --- /dev/null +++ b/fix-powerpc-headers.patch @@ -0,0 +1,112 @@ +Index: projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +=================================================================== +--- projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h (revision 195441) ++++ projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h (revision 195442) +@@ -61,6 +61,14 @@ + const unsigned struct___old_kernel_stat_sz = 32; + const unsigned struct_kernel_stat_sz = 64; + const unsigned struct_kernel_stat64_sz = 104; ++#elif defined(__powerpc__) && !defined(__powerpc64__) ++ const unsigned struct___old_kernel_stat_sz = 32; ++ const unsigned struct_kernel_stat_sz = 72; ++ const unsigned struct_kernel_stat64_sz = 104; ++#elif defined(__powerpc64__) ++ const unsigned struct___old_kernel_stat_sz = 0; ++ const unsigned struct_kernel_stat_sz = 144; ++ const unsigned struct_kernel_stat64_sz = 104; + #endif + const unsigned struct_io_event_sz = 32; + struct __sanitizer_perf_event_attr { +@@ -126,10 +134,15 @@ + int gid; + int cuid; + int cgid; ++#ifdef __powerpc64__ ++ unsigned mode; ++ unsigned __seq; ++#else + unsigned short mode; + unsigned short __pad1; + unsigned short __seq; + unsigned short __pad2; ++#endif + uptr __unused1; + uptr __unused2; + }; +@@ -136,7 +149,9 @@ + + struct __sanitizer_shmid_ds { + __sanitizer_ipc_perm shm_perm; ++ #ifndef __powerpc__ + uptr shm_segsz; ++ #endif + uptr shm_atime; + #ifndef _LP64 + uptr __unused1; +@@ -149,6 +164,9 @@ + #ifndef _LP64 + uptr __unused3; + #endif ++ #ifdef __powerpc__ ++ uptr shm_segsz; ++ #endif + int shm_cpid; + int shm_lpid; + uptr shm_nattch; +@@ -271,8 +289,15 @@ + typedef unsigned short __sanitizer___kernel_gid_t; + typedef long __sanitizer___kernel_off_t; + #endif ++ ++#if defined(__powerpc64__) ++ typedef unsigned int __sanitizer___kernel_old_uid_t; ++ typedef unsigned int __sanitizer___kernel_old_gid_t; ++#else + typedef unsigned short __sanitizer___kernel_old_uid_t; + typedef unsigned short __sanitizer___kernel_old_gid_t; ++#endif ++ + typedef long long __sanitizer___kernel_loff_t; + typedef struct { + unsigned long fds_bits[1024 / (8 * sizeof(long))]; +Index: projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cc +=================================================================== +--- projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cc (revision 195441) ++++ projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cc (revision 195442) +@@ -25,8 +25,25 @@ + // For offsetof -> __builtin_offsetof definition. + #include + ++// With old kernels (and even new kernels on powerpc) asm/stat.h uses types that ++// are not defined anywhere in userspace headers. Fake them. This seems to work ++// fine with newer headers, too. ++#include ++#define ino_t __kernel_ino_t ++#define mode_t __kernel_mode_t ++#define nlink_t __kernel_nlink_t ++#define uid_t __kernel_uid_t ++#define gid_t __kernel_gid_t ++#define off_t __kernel_off_t + // This header seems to contain the definitions of _kernel_ stat* structs. + #include ++#undef ino_t ++#undef mode_t ++#undef nlink_t ++#undef uid_t ++#undef gid_t ++#undef off_t ++ + #include + + #if SANITIZER_ANDROID +@@ -43,7 +60,10 @@ + unsigned struct_statfs64_sz = sizeof(struct statfs64); + } // namespace __sanitizer + ++#if !defined(__powerpc64__) + COMPILER_CHECK(struct___old_kernel_stat_sz == sizeof(struct __old_kernel_stat)); ++#endif ++ + COMPILER_CHECK(struct_kernel_stat_sz == sizeof(struct stat)); + + #if defined(__i386__) diff --git a/llvm.spec b/llvm.spec index 2df954d..c9bcf96 100644 --- a/llvm.spec +++ b/llvm.spec @@ -43,6 +43,7 @@ Patch7: cmake-host-triple.patch # PATCH-FIX-OPENSUSE aarch64-suse-support.patch -- Enable AArch64 suse toolchain support Patch8: aarch64-suse-support.patch Patch9: arm-remove-xfails.diff +Patch10: fix-powerpc-headers.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -151,6 +152,7 @@ This package contains vim plugins for LLVM like syntax highlighting. %patch7 -p1 %patch8 -p1 %patch9 +%patch10 -p1 # We hardcode i586 rm tools/clang/test/Driver/x86_features.c @@ -214,7 +216,6 @@ pushd stage1 %ifarch ppc64 %define host_triple powerpc64-suse-linux sed -i s,'${CMAKE_SYSTEM_PROCESSOR}','"PowerPC"',g ../cmake/modules/AddLLVM.cmake -rm -rf ../projects/compiler-rt %endif %ifarch s390x %define host_triple s390x-suse-linux From 68f2a9879d962c9b0b7203cffb812dc981befd4b7f73560cb228c4a8fc71075b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Fri, 22 Nov 2013 12:31:57 +0000 Subject: [PATCH 16/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=301 --- llvm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index c9bcf96..0f42bdf 100644 --- a/llvm.spec +++ b/llvm.spec @@ -434,7 +434,7 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %{_libdir}/bfd-plugins/ %endif %{_libdir}/clang -%ifnarch %arm aarch64 ppc64 s390 s390x +%ifnarch %arm aarch64 s390 s390x %{_libdir}/clang/%{_release_version}/lib/linux/ %endif From 8834ee8ac25a7221db63ada1b15e5ebbf8fd63ce4093b47ffc5a0977eb356bdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Fri, 22 Nov 2013 12:35:51 +0000 Subject: [PATCH 17/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=302 --- llvm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index 0f42bdf..874986c 100644 --- a/llvm.spec +++ b/llvm.spec @@ -152,7 +152,7 @@ This package contains vim plugins for LLVM like syntax highlighting. %patch7 -p1 %patch8 -p1 %patch9 -%patch10 -p1 +%patch10 # We hardcode i586 rm tools/clang/test/Driver/x86_features.c From fd9959a8d7d325a6571d4d2945ee300a707faf7353e5beaebfcede3aedbfcfe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Fri, 22 Nov 2013 12:39:53 +0000 Subject: [PATCH 18/51] OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=303 --- fix-powerpc-headers.patch | 112 -------------------------------------- llvm.spec | 5 +- 2 files changed, 2 insertions(+), 115 deletions(-) delete mode 100644 fix-powerpc-headers.patch diff --git a/fix-powerpc-headers.patch b/fix-powerpc-headers.patch deleted file mode 100644 index 762bfc2..0000000 --- a/fix-powerpc-headers.patch +++ /dev/null @@ -1,112 +0,0 @@ -Index: projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h -=================================================================== ---- projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h (revision 195441) -+++ projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h (revision 195442) -@@ -61,6 +61,14 @@ - const unsigned struct___old_kernel_stat_sz = 32; - const unsigned struct_kernel_stat_sz = 64; - const unsigned struct_kernel_stat64_sz = 104; -+#elif defined(__powerpc__) && !defined(__powerpc64__) -+ const unsigned struct___old_kernel_stat_sz = 32; -+ const unsigned struct_kernel_stat_sz = 72; -+ const unsigned struct_kernel_stat64_sz = 104; -+#elif defined(__powerpc64__) -+ const unsigned struct___old_kernel_stat_sz = 0; -+ const unsigned struct_kernel_stat_sz = 144; -+ const unsigned struct_kernel_stat64_sz = 104; - #endif - const unsigned struct_io_event_sz = 32; - struct __sanitizer_perf_event_attr { -@@ -126,10 +134,15 @@ - int gid; - int cuid; - int cgid; -+#ifdef __powerpc64__ -+ unsigned mode; -+ unsigned __seq; -+#else - unsigned short mode; - unsigned short __pad1; - unsigned short __seq; - unsigned short __pad2; -+#endif - uptr __unused1; - uptr __unused2; - }; -@@ -136,7 +149,9 @@ - - struct __sanitizer_shmid_ds { - __sanitizer_ipc_perm shm_perm; -+ #ifndef __powerpc__ - uptr shm_segsz; -+ #endif - uptr shm_atime; - #ifndef _LP64 - uptr __unused1; -@@ -149,6 +164,9 @@ - #ifndef _LP64 - uptr __unused3; - #endif -+ #ifdef __powerpc__ -+ uptr shm_segsz; -+ #endif - int shm_cpid; - int shm_lpid; - uptr shm_nattch; -@@ -271,8 +289,15 @@ - typedef unsigned short __sanitizer___kernel_gid_t; - typedef long __sanitizer___kernel_off_t; - #endif -+ -+#if defined(__powerpc64__) -+ typedef unsigned int __sanitizer___kernel_old_uid_t; -+ typedef unsigned int __sanitizer___kernel_old_gid_t; -+#else - typedef unsigned short __sanitizer___kernel_old_uid_t; - typedef unsigned short __sanitizer___kernel_old_gid_t; -+#endif -+ - typedef long long __sanitizer___kernel_loff_t; - typedef struct { - unsigned long fds_bits[1024 / (8 * sizeof(long))]; -Index: projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cc -=================================================================== ---- projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cc (revision 195441) -+++ projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cc (revision 195442) -@@ -25,8 +25,25 @@ - // For offsetof -> __builtin_offsetof definition. - #include - -+// With old kernels (and even new kernels on powerpc) asm/stat.h uses types that -+// are not defined anywhere in userspace headers. Fake them. This seems to work -+// fine with newer headers, too. -+#include -+#define ino_t __kernel_ino_t -+#define mode_t __kernel_mode_t -+#define nlink_t __kernel_nlink_t -+#define uid_t __kernel_uid_t -+#define gid_t __kernel_gid_t -+#define off_t __kernel_off_t - // This header seems to contain the definitions of _kernel_ stat* structs. - #include -+#undef ino_t -+#undef mode_t -+#undef nlink_t -+#undef uid_t -+#undef gid_t -+#undef off_t -+ - #include - - #if SANITIZER_ANDROID -@@ -43,7 +60,10 @@ - unsigned struct_statfs64_sz = sizeof(struct statfs64); - } // namespace __sanitizer - -+#if !defined(__powerpc64__) - COMPILER_CHECK(struct___old_kernel_stat_sz == sizeof(struct __old_kernel_stat)); -+#endif -+ - COMPILER_CHECK(struct_kernel_stat_sz == sizeof(struct stat)); - - #if defined(__i386__) diff --git a/llvm.spec b/llvm.spec index 874986c..2df954d 100644 --- a/llvm.spec +++ b/llvm.spec @@ -43,7 +43,6 @@ Patch7: cmake-host-triple.patch # PATCH-FIX-OPENSUSE aarch64-suse-support.patch -- Enable AArch64 suse toolchain support Patch8: aarch64-suse-support.patch Patch9: arm-remove-xfails.diff -Patch10: fix-powerpc-headers.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -152,7 +151,6 @@ This package contains vim plugins for LLVM like syntax highlighting. %patch7 -p1 %patch8 -p1 %patch9 -%patch10 # We hardcode i586 rm tools/clang/test/Driver/x86_features.c @@ -216,6 +214,7 @@ pushd stage1 %ifarch ppc64 %define host_triple powerpc64-suse-linux sed -i s,'${CMAKE_SYSTEM_PROCESSOR}','"PowerPC"',g ../cmake/modules/AddLLVM.cmake +rm -rf ../projects/compiler-rt %endif %ifarch s390x %define host_triple s390x-suse-linux @@ -434,7 +433,7 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %{_libdir}/bfd-plugins/ %endif %{_libdir}/clang -%ifnarch %arm aarch64 s390 s390x +%ifnarch %arm aarch64 ppc64 s390 s390x %{_libdir}/clang/%{_release_version}/lib/linux/ %endif From e2d98a6afc43a0e6fed3bf4402105d78bdfb3ceeb0b22c1c55087e6a374e777b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Fri, 22 Nov 2013 16:21:56 +0000 Subject: [PATCH 19/51] - Update to r195470 from llvm 3.4 branch OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=304 --- llvm-3.3.93.tar.bz2 | 4 ++-- llvm.changes | 2 +- llvm.spec | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 index a3403b6..0afb46c 100644 --- a/llvm-3.3.93.tar.bz2 +++ b/llvm-3.3.93.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dc71c2557436ad4eab901fb35e6705d9134344c7ca08a640affb094322790cf4 -size 27700172 +oid sha256:35356adb994987f72d5a342271b7e39e26bb414d03586e3d93a4951e530d7c21 +size 27750805 diff --git a/llvm.changes b/llvm.changes index ca32b00..0470d69 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Tue Nov 19 08:42:08 UTC 2013 - idonmez@suse.com -- Update to r195116 from llvm 3.4 branch +- Update to r195470 from llvm 3.4 branch - Refresh patches * aarch64-suse-support.patch * arm_suse_support.diff diff --git a/llvm.spec b/llvm.spec index 2df954d..31ed906 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 195116 +%define _revision 195470 %define _release_version 3.4 Name: llvm @@ -214,7 +214,6 @@ pushd stage1 %ifarch ppc64 %define host_triple powerpc64-suse-linux sed -i s,'${CMAKE_SYSTEM_PROCESSOR}','"PowerPC"',g ../cmake/modules/AddLLVM.cmake -rm -rf ../projects/compiler-rt %endif %ifarch s390x %define host_triple s390x-suse-linux @@ -433,7 +432,7 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %{_libdir}/bfd-plugins/ %endif %{_libdir}/clang -%ifnarch %arm aarch64 ppc64 s390 s390x +%ifnarch %arm aarch64 s390 s390x %{_libdir}/clang/%{_release_version}/lib/linux/ %endif From 4fe148dd4800759236a7ead165638f2658b4f6a9ad77af8c9fbc4b5247184843 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 2 Dec 2013 08:55:58 +0000 Subject: [PATCH 20/51] - Update to r196079 from llvm 3.4 branch OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=305 --- llvm-3.3.93.tar.bz2 | 4 ++-- llvm.changes | 4 ++-- llvm.spec | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 index 0afb46c..7e4cac2 100644 --- a/llvm-3.3.93.tar.bz2 +++ b/llvm-3.3.93.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:35356adb994987f72d5a342271b7e39e26bb414d03586e3d93a4951e530d7c21 -size 27750805 +oid sha256:fc01133862edc59027053f3be11488f04650721b9a6d146d4a0282e4a7341f01 +size 27805078 diff --git a/llvm.changes b/llvm.changes index 0470d69..3317f55 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- -Tue Nov 19 08:42:08 UTC 2013 - idonmez@suse.com +Mon Dec 1 08:42:08 UTC 2013 - idonmez@suse.com -- Update to r195470 from llvm 3.4 branch +- Update to r196079 from llvm 3.4 branch - Refresh patches * aarch64-suse-support.patch * arm_suse_support.diff diff --git a/llvm.spec b/llvm.spec index 31ed906..3f57e87 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 195470 +%define _revision 196079 %define _release_version 3.4 Name: llvm From abf1755e5e7e55ba16419355478d04209bf426146665820d24a46ec996ac5483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 2 Dec 2013 11:10:33 +0000 Subject: [PATCH 21/51] OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=306 --- asan-disable-hugemalloctest.patch | 17 +++++++++++++++++ llvm.spec | 3 +++ 2 files changed, 20 insertions(+) create mode 100644 asan-disable-hugemalloctest.patch diff --git a/asan-disable-hugemalloctest.patch b/asan-disable-hugemalloctest.patch new file mode 100644 index 0000000..5d1968d --- /dev/null +++ b/asan-disable-hugemalloctest.patch @@ -0,0 +1,17 @@ +Index: llvm/projects/compiler-rt/lib/asan/tests/asan_test.cc +=================================================================== +--- llvm.orig/projects/compiler-rt/lib/asan/tests/asan_test.cc ++++ llvm/projects/compiler-rt/lib/asan/tests/asan_test.cc +@@ -298,12 +298,6 @@ TEST(AddressSanitizer, LargeMallocTest) + } + } + +-TEST(AddressSanitizer, HugeMallocTest) { +- if (SANITIZER_WORDSIZE != 64) return; +- size_t n_megs = 4100; +- TestLargeMalloc(n_megs << 20); +-} +- + #ifndef __APPLE__ + void MemalignRun(size_t align, size_t size, int idx) { + char *p = (char *)memalign(align, size); diff --git a/llvm.spec b/llvm.spec index 3f57e87..56e08b1 100644 --- a/llvm.spec +++ b/llvm.spec @@ -43,6 +43,8 @@ Patch7: cmake-host-triple.patch # PATCH-FIX-OPENSUSE aarch64-suse-support.patch -- Enable AArch64 suse toolchain support Patch8: aarch64-suse-support.patch Patch9: arm-remove-xfails.diff +# PATCH-FIX-OPENSUSE asan-disable-hugemalloctest.patch -- Disable ASAN HugeMallocTest +Patch10: asan-disable-hugemalloctest.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -151,6 +153,7 @@ This package contains vim plugins for LLVM like syntax highlighting. %patch7 -p1 %patch8 -p1 %patch9 +%patch10 -p1 # We hardcode i586 rm tools/clang/test/Driver/x86_features.c From ab565c6dd6585bfb02264931e829ca1c863493cc77f392740dfe269a28bec099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 2 Dec 2013 11:11:27 +0000 Subject: [PATCH 22/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=307 --- llvm.changes | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm.changes b/llvm.changes index 3317f55..56d8ab4 100644 --- a/llvm.changes +++ b/llvm.changes @@ -2,6 +2,8 @@ Mon Dec 1 08:42:08 UTC 2013 - idonmez@suse.com - Update to r196079 from llvm 3.4 branch +- Add asan-disable-hugemalloctest.patch to disable + ASAN HugeMallocTest, it requires 4.1+ GB of RAM. - Refresh patches * aarch64-suse-support.patch * arm_suse_support.diff From 89cfd8346fdd76231765f4929d3d7908476ce75ece8284bdb66200e7b08766bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 4 Dec 2013 07:59:18 +0000 Subject: [PATCH 23/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=308 --- llvm-3.3.93.tar.bz2 | 4 ++-- llvm.changes | 2 +- llvm.spec | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 index 7e4cac2..889d64f 100644 --- a/llvm-3.3.93.tar.bz2 +++ b/llvm-3.3.93.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fc01133862edc59027053f3be11488f04650721b9a6d146d4a0282e4a7341f01 -size 27805078 +oid sha256:e4efd3edec08e2acb6355270fbd69fdde715ff53e98466e4661843bf7359732f +size 27890703 diff --git a/llvm.changes b/llvm.changes index 56d8ab4..467ee05 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Mon Dec 1 08:42:08 UTC 2013 - idonmez@suse.com -- Update to r196079 from llvm 3.4 branch +- Update to r196358 from llvm 3.4 branch - Add asan-disable-hugemalloctest.patch to disable ASAN HugeMallocTest, it requires 4.1+ GB of RAM. - Refresh patches diff --git a/llvm.spec b/llvm.spec index 56e08b1..3a789d6 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 196079 +%define _revision 196358 %define _release_version 3.4 Name: llvm From 3e20cc1861a26f239b2f4b264069e09d59ebf13f3a95f1e2f1a3d8fd3bf3aa09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 4 Dec 2013 08:20:44 +0000 Subject: [PATCH 24/51] Accepting request 209362 from home:termim:branches:devel:tools:compiler install python bindings to libclang OBS-URL: https://build.opensuse.org/request/show/209362 OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=309 --- llvm.changes | 5 +++++ llvm.spec | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/llvm.changes b/llvm.changes index 467ee05..7dfe08c 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Dec 4 03:27:29 UTC 2013 - termim@gmail.com + +- install python binding to libclang + ------------------------------------------------------------------- Mon Dec 1 08:42:08 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index 3a789d6..63fc767 100644 --- a/llvm.spec +++ b/llvm.spec @@ -140,6 +140,15 @@ Requires: vim %description vim-plugins This package contains vim plugins for LLVM like syntax highlighting. +%package -n python-clang +Summary: Python bindings for libclang +Group: Development/Languages/Python +Requires: libclang = %{version} +Requires: python + +%description -n python-clang +This package contains the Python bindings to clang (C language) frontend for LLVM. + %prep %setup -q -n %{name} %patch1 -p1 @@ -337,6 +346,16 @@ for file in scan-view/Resources/*; do install -m 644 $file %{buildroot}%{py_sitedir}/Resources/ done popd + +# install python bindings +install -d %{buildroot}%{py_sitedir}/clang +pushd tools/clang/bindings/python +cp clang/*.py %{buildroot}%{py_sitedir}/clang +install -d %{buildroot}%{_docdir}/python-clang/examples/cindex +cp -r examples %{buildroot}%{_docdir}/python-clang +install -d %{buildroot}%{_docdir}/python-clang/tests/cindex/INPUTS +cp -r tests %{buildroot}%{_docdir}/python-clang +popd pushd %{buildroot}%{_bindir} ln -s ccc-analyzer c++-analyzer popd @@ -468,4 +487,13 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %doc utils/vim/README.vim %{_datadir}/vim/ +%files -n python-clang +%defattr(-,root,root) +%{py_sitedir}/clang +%{py_sitedir}/clang/__init__.py +%{py_sitedir}/clang/cindex.py +%{py_sitedir}/clang/enumerations.py + +%doc %{_docdir}/python-clang + %changelog From 41d2843e0361f5855d123335b7f3210c91b2ff7c5550a25863504989afe255f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 4 Dec 2013 10:10:13 +0000 Subject: [PATCH 25/51] - Update to r196371 from release_34 branch OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=310 --- llvm-3.3.93.tar.bz2 | 4 ++-- llvm.changes | 5 +++++ llvm.spec | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 index 889d64f..0a1af37 100644 --- a/llvm-3.3.93.tar.bz2 +++ b/llvm-3.3.93.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e4efd3edec08e2acb6355270fbd69fdde715ff53e98466e4661843bf7359732f -size 27890703 +oid sha256:9f31958526087b06cc6ddc5b25ae33792588af959ec2c648459583f346a5a616 +size 27881010 diff --git a/llvm.changes b/llvm.changes index 7dfe08c..16123c8 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Dec 4 10:07:59 UTC 2013 - idonmez@suse.com + +- Update to r196371 from release_34 branch + ------------------------------------------------------------------- Wed Dec 4 03:27:29 UTC 2013 - termim@gmail.com diff --git a/llvm.spec b/llvm.spec index 63fc767..1684319 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 196358 +%define _revision 196371 %define _release_version 3.4 Name: llvm @@ -230,6 +230,7 @@ sed -i s,'${CMAKE_SYSTEM_PROCESSOR}','"PowerPC"',g ../cmake/modules/AddLLVM.cmak %ifarch s390x %define host_triple s390x-suse-linux sed -i s,'${CMAKE_SYSTEM_PROCESSOR}','"SystemZ"',g ../cmake/modules/AddLLVM.cmake +rm -rf ../projects/compiler-rt %endif cmake -G "Unix Makefiles" \ From daa7e74b06a41c0988abb3d036f82487d4d2a147917419f576fbe7aecf5d3327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 4 Dec 2013 10:45:51 +0000 Subject: [PATCH 26/51] OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=311 --- asan-sse2.patch | 29 +++++++++++++++++++++++++++++ llvm.spec | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 asan-sse2.patch diff --git a/asan-sse2.patch b/asan-sse2.patch new file mode 100644 index 0000000..b781c10 --- /dev/null +++ b/asan-sse2.patch @@ -0,0 +1,29 @@ +Index: llvm/projects/compiler-rt/lib/asan/tests/asan_test.cc +=================================================================== +--- llvm.orig/projects/compiler-rt/lib/asan/tests/asan_test.cc ++++ llvm/projects/compiler-rt/lib/asan/tests/asan_test.cc +@@ -669,7 +669,8 @@ TEST(AddressSanitizer, ThreadStackReuseT + PTHREAD_JOIN(t, 0); + } + +-#if defined(__i386__) || defined(__x86_64__) ++#if defined(__i386__) || defined(__x86_64__) && !defined(__i586__) ++#include + TEST(AddressSanitizer, Store128Test) { + char *a = Ident((char*)malloc(Ident(12))); + char *p = a; +Index: llvm/projects/compiler-rt/lib/asan/tests/asan_test_utils.h +=================================================================== +--- llvm.orig/projects/compiler-rt/lib/asan/tests/asan_test_utils.h ++++ llvm/projects/compiler-rt/lib/asan/tests/asan_test_utils.h +@@ -41,10 +41,6 @@ + #include + #endif + +-#if defined(__i386__) || defined(__x86_64__) +-#include +-#endif +- + #ifndef __APPLE__ + #include + #endif diff --git a/llvm.spec b/llvm.spec index 1684319..ead94ce 100644 --- a/llvm.spec +++ b/llvm.spec @@ -45,6 +45,7 @@ Patch8: aarch64-suse-support.patch Patch9: arm-remove-xfails.diff # PATCH-FIX-OPENSUSE asan-disable-hugemalloctest.patch -- Disable ASAN HugeMallocTest Patch10: asan-disable-hugemalloctest.patch +Patch11: asan-sse2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -163,6 +164,7 @@ This package contains the Python bindings to clang (C language) frontend for LLV %patch8 -p1 %patch9 %patch10 -p1 +%patch11 -p1 # We hardcode i586 rm tools/clang/test/Driver/x86_features.c From 19733f4c44f087eb3b83993873e4ce585d5173ea2590a492535c44d8480c776f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 4 Dec 2013 11:59:10 +0000 Subject: [PATCH 27/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=312 --- asan-sse2.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asan-sse2.patch b/asan-sse2.patch index b781c10..d57655b 100644 --- a/asan-sse2.patch +++ b/asan-sse2.patch @@ -7,7 +7,7 @@ Index: llvm/projects/compiler-rt/lib/asan/tests/asan_test.cc } -#if defined(__i386__) || defined(__x86_64__) -+#if defined(__i386__) || defined(__x86_64__) && !defined(__i586__) ++#if defined(__i686__) || defined(__x86_64__) +#include TEST(AddressSanitizer, Store128Test) { char *a = Ident((char*)malloc(Ident(12))); From 519f6712cbccaa76985dd6432405151d52496b69350f4ef8132ada3dd5f67dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 5 Dec 2013 08:34:43 +0000 Subject: [PATCH 28/51] - Update to r196487 from release_34 branch to get compiler_rt fixes - Depend on glibc-devel-32bit on x86 to fix test-suite failures - Ship cmake files for llvm (needed for lldb and such) OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=313 --- asan-sse2.patch | 29 ----------------------------- llvm-3.3.93.tar.bz2 | 4 ++-- llvm.changes | 11 +++++++++++ llvm.spec | 12 ++++++------ 4 files changed, 19 insertions(+), 37 deletions(-) delete mode 100644 asan-sse2.patch diff --git a/asan-sse2.patch b/asan-sse2.patch deleted file mode 100644 index d57655b..0000000 --- a/asan-sse2.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: llvm/projects/compiler-rt/lib/asan/tests/asan_test.cc -=================================================================== ---- llvm.orig/projects/compiler-rt/lib/asan/tests/asan_test.cc -+++ llvm/projects/compiler-rt/lib/asan/tests/asan_test.cc -@@ -669,7 +669,8 @@ TEST(AddressSanitizer, ThreadStackReuseT - PTHREAD_JOIN(t, 0); - } - --#if defined(__i386__) || defined(__x86_64__) -+#if defined(__i686__) || defined(__x86_64__) -+#include - TEST(AddressSanitizer, Store128Test) { - char *a = Ident((char*)malloc(Ident(12))); - char *p = a; -Index: llvm/projects/compiler-rt/lib/asan/tests/asan_test_utils.h -=================================================================== ---- llvm.orig/projects/compiler-rt/lib/asan/tests/asan_test_utils.h -+++ llvm/projects/compiler-rt/lib/asan/tests/asan_test_utils.h -@@ -41,10 +41,6 @@ - #include - #endif - --#if defined(__i386__) || defined(__x86_64__) --#include --#endif -- - #ifndef __APPLE__ - #include - #endif diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 index 0a1af37..0d2768e 100644 --- a/llvm-3.3.93.tar.bz2 +++ b/llvm-3.3.93.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f31958526087b06cc6ddc5b25ae33792588af959ec2c648459583f346a5a616 -size 27881010 +oid sha256:a21a552977dd4eee5c813d316e75d7ab8652c782feee25565a4e35a6eef2de05 +size 27881773 diff --git a/llvm.changes b/llvm.changes index 16123c8..4fef9bc 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Thu Dec 5 08:31:52 UTC 2013 - idonmez@suse.com + +- Update to r196487 from release_34 branch to get compiler_rt fixes +- Depend on glibc-devel-32bit on x86 to fix test-suite failures + +------------------------------------------------------------------- +Wed Dec 4 13:33:55 UTC 2013 - idonmez@suse.com + +- Ship cmake files for llvm (needed for lldb and such) + ------------------------------------------------------------------- Wed Dec 4 10:07:59 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index ead94ce..3334552 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 196371 +%define _revision 196487 %define _release_version 3.4 Name: llvm @@ -45,7 +45,6 @@ Patch8: aarch64-suse-support.patch Patch9: arm-remove-xfails.diff # PATCH-FIX-OPENSUSE asan-disable-hugemalloctest.patch -- Disable ASAN HugeMallocTest Patch10: asan-disable-hugemalloctest.patch -Patch11: asan-sse2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -64,6 +63,10 @@ BuildRequires: groff BuildRequires: libffi-devel BuildRequires: libtool BuildRequires: python-base +%ifarch %{ix86} +# Needed for compiler_rt tests +BuildRequires: glibc-devel-32bit +%endif Requires: libLLVM = %{version}-%{release} # llvm does not work on ppc, only ppc64 ExcludeArch: ppc @@ -164,7 +167,6 @@ This package contains the Python bindings to clang (C language) frontend for LLV %patch8 -p1 %patch9 %patch10 -p1 -%patch11 -p1 # We hardcode i586 rm tools/clang/test/Driver/x86_features.c @@ -396,9 +398,6 @@ rm %{buildroot}%{_libdir}/LLVMHello.* rm %{buildroot}%{_libdir}/libgtest* rm %{buildroot}%{_mandir}/man1/lit.1 -# Remove cmake files -rm -rf %{buildroot}/usr/share/llvm/cmake - %fdupes -s %{buildroot}%{_docdir}/%{name} %fdupes -s %{buildroot}%{_docdir}/%{name}-doc @@ -483,6 +482,7 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %doc %{_mandir}/man1/%{name}-config.1%{ext_man} %{_includedir}/%{name}/ %{_includedir}/%{name}-c/ +%{_datadir}/%{name}/cmake/ %doc %{_docdir}/%{name} %files vim-plugins From daba17a376ee3dce5c641b4e84f19a8816eb5f767281fed54f7fb5d286d7a5dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 5 Dec 2013 13:12:30 +0000 Subject: [PATCH 29/51] - Update to r196503 from release_34 branch to get compiler_rt fixes OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=314 --- llvm-3.3.93.tar.bz2 | 4 ++-- llvm.changes | 6 +++++- llvm.spec | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 index 0d2768e..7af31d8 100644 --- a/llvm-3.3.93.tar.bz2 +++ b/llvm-3.3.93.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a21a552977dd4eee5c813d316e75d7ab8652c782feee25565a4e35a6eef2de05 -size 27881773 +oid sha256:c6c64f3ced115704d4ec79342865e467a7361d71d63ebd65fcc11efb2ea9de17 +size 27873071 diff --git a/llvm.changes b/llvm.changes index 4fef9bc..11d9e0d 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,8 +1,12 @@ +------------------------------------------------------------------- +Thu Dec 5 13:10:13 UTC 2013 - idonmez@suse.com + +- Update to r196503 from release_34 branch to get compiler_rt fixes + ------------------------------------------------------------------- Thu Dec 5 08:31:52 UTC 2013 - idonmez@suse.com - Update to r196487 from release_34 branch to get compiler_rt fixes -- Depend on glibc-devel-32bit on x86 to fix test-suite failures ------------------------------------------------------------------- Wed Dec 4 13:33:55 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index 3334552..1f965e1 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 196487 +%define _revision 196503 %define _release_version 3.4 Name: llvm From 54c989d2401853b200679ba72ed986f6d91be689d5891d69548a54089ac2f655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 9 Dec 2013 08:59:15 +0000 Subject: [PATCH 30/51] - Update to r196762 from release_34 branch OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=315 --- llvm-3.3.93.tar.bz2 | 4 ++-- llvm.changes | 5 +++++ llvm.spec | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 index 7af31d8..bfff395 100644 --- a/llvm-3.3.93.tar.bz2 +++ b/llvm-3.3.93.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c6c64f3ced115704d4ec79342865e467a7361d71d63ebd65fcc11efb2ea9de17 -size 27873071 +oid sha256:65bebc09efe3737a6bb601a7bf4ce5b6024100b37bc70b245acd1e978842a37f +size 27861316 diff --git a/llvm.changes b/llvm.changes index 11d9e0d..6b227e2 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 9 08:54:48 UTC 2013 - idonmez@suse.com + +- Update to r196762 from release_34 branch + ------------------------------------------------------------------- Thu Dec 5 13:10:13 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index 1f965e1..5c1fdf3 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 196503 +%define _revision 196762 %define _release_version 3.4 Name: llvm From 6b56e8e73122394fc509caae23c9e4951e530e5c369465d549d1db5e80260d9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 9 Dec 2013 11:44:30 +0000 Subject: [PATCH 31/51] - Add compiler_rt-r196612.patch to fix ubsan failures on i586 OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=316 --- compiler_rt-r196612.patch | 38 ++++++++++++++++++++++++++++++++++++++ llvm.changes | 5 +++++ llvm.spec | 11 +++++++++++ 3 files changed, 54 insertions(+) create mode 100644 compiler_rt-r196612.patch diff --git a/compiler_rt-r196612.patch b/compiler_rt-r196612.patch new file mode 100644 index 0000000..e5e5065 --- /dev/null +++ b/compiler_rt-r196612.patch @@ -0,0 +1,38 @@ +Index: lib/ubsan/lit_tests/TestCases/Integer/uadd-overflow.cpp +=================================================================== +--- lib/ubsan/lit_tests/TestCases/Integer/uadd-overflow.cpp (revision 196611) ++++ lib/ubsan/lit_tests/TestCases/Integer/uadd-overflow.cpp (revision 196612) +@@ -18,7 +18,7 @@ + + #ifdef ADD_I64 + (void)(uint64_t(10000000000000000000ull) + uint64_t(9000000000000000000ull)); +- // CHECK-ADD_I64: 10000000000000000000 + 9000000000000000000 cannot be represented in type 'unsigned long' ++ // CHECK-ADD_I64: 10000000000000000000 + 9000000000000000000 cannot be represented in type 'unsigned {{long( long)?}}' + #endif + + #ifdef ADD_I128 +Index: lib/ubsan/lit_tests/TestCases/Integer/no-recover.cpp +=================================================================== +--- lib/ubsan/lit_tests/TestCases/Integer/no-recover.cpp (revision 196611) ++++ lib/ubsan/lit_tests/TestCases/Integer/no-recover.cpp (revision 196612) +@@ -17,6 +17,6 @@ + // ABORT: no-recover.cpp:[[@LINE-2]]:5: runtime error: unsigned integer overflow: 2271560481 + 3989547399 cannot be represented in type 'unsigned int' + + (void)(uint64_t(10000000000000000000ull) + uint64_t(9000000000000000000ull)); +- // RECOVER: 10000000000000000000 + 9000000000000000000 cannot be represented in type 'unsigned long' ++ // RECOVER: 10000000000000000000 + 9000000000000000000 cannot be represented in type 'unsigned {{long( long)?}}' + // ABORT-NOT: runtime error + } +Index: lib/ubsan/lit_tests/TestCases/Integer/usub-overflow.cpp +=================================================================== +--- lib/ubsan/lit_tests/TestCases/Integer/usub-overflow.cpp (revision 196611) ++++ lib/ubsan/lit_tests/TestCases/Integer/usub-overflow.cpp (revision 196612) +@@ -17,7 +17,7 @@ + + #ifdef SUB_I64 + (void)(uint64_t(8000000000000000000ll) - uint64_t(9000000000000000000ll)); +- // CHECK-SUB_I64: 8000000000000000000 - 9000000000000000000 cannot be represented in type 'unsigned long' ++ // CHECK-SUB_I64: 8000000000000000000 - 9000000000000000000 cannot be represented in type 'unsigned {{long( long)?}}' + #endif + + #ifdef SUB_I128 diff --git a/llvm.changes b/llvm.changes index 6b227e2..8f1ac99 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 9 11:42:44 UTC 2013 - idonmez@suse.com + +- Add compiler_rt-r196612.patch to fix ubsan failures on i586 + ------------------------------------------------------------------- Mon Dec 9 08:54:48 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index 5c1fdf3..2180cf3 100644 --- a/llvm.spec +++ b/llvm.spec @@ -45,6 +45,7 @@ Patch8: aarch64-suse-support.patch Patch9: arm-remove-xfails.diff # PATCH-FIX-OPENSUSE asan-disable-hugemalloctest.patch -- Disable ASAN HugeMallocTest Patch10: asan-disable-hugemalloctest.patch +Patch11: compiler_rt-r196612.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -167,6 +168,9 @@ This package contains the Python bindings to clang (C language) frontend for LLV %patch8 -p1 %patch9 %patch10 -p1 +pushd projects/compiler-rt +%patch11 +popd # We hardcode i586 rm tools/clang/test/Driver/x86_features.c @@ -295,6 +299,13 @@ cmake -G "Unix Makefiles" \ make %{?_smp_mflags} VERBOSE=1 %check +%if %{ix86} +# These tests are 64bit only +for i in basic custom flags fncall propagate; do + rm projects/compiler-rt/lib/dfsan/lit_tests/$i.c; +done +%endif + cd stage2 %ifnarch armv7hl armv7l %if 0%{!?qemu_user_space_build:1} From 92baf2db87f0b06b4489207608dd86d8d779e621d2cac2fee01c6580c66a9cea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 9 Dec 2013 11:45:40 +0000 Subject: [PATCH 32/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=317 --- llvm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index 2180cf3..25e2674 100644 --- a/llvm.spec +++ b/llvm.spec @@ -299,7 +299,7 @@ cmake -G "Unix Makefiles" \ make %{?_smp_mflags} VERBOSE=1 %check -%if %{ix86} +%ifarch %{ix86} # These tests are 64bit only for i in basic custom flags fncall propagate; do rm projects/compiler-rt/lib/dfsan/lit_tests/$i.c; From 4ae83887d57dcc55eba745c3c4f301a33c6f035b39401c9246475677cc33657c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 9 Dec 2013 13:39:58 +0000 Subject: [PATCH 33/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=318 --- llvm.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm.spec b/llvm.spec index 25e2674..48aa051 100644 --- a/llvm.spec +++ b/llvm.spec @@ -493,6 +493,7 @@ rm %{buildroot}%{_mandir}/man1/lit.1 %doc %{_mandir}/man1/%{name}-config.1%{ext_man} %{_includedir}/%{name}/ %{_includedir}/%{name}-c/ +%dir %{_datadir}/%{name} %{_datadir}/%{name}/cmake/ %doc %{_docdir}/%{name} From 5e2a96863bdec2770e6dda96e2b52bc64103c85f6ac4044e324463f132afd6e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 10 Dec 2013 09:52:00 +0000 Subject: [PATCH 34/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=319 --- compiler_rt-r196612.patch | 38 -------------------------------------- llvm-3.3.93.tar.bz2 | 4 ++-- llvm.changes | 6 ++++++ llvm.spec | 3 +-- 4 files changed, 9 insertions(+), 42 deletions(-) delete mode 100644 compiler_rt-r196612.patch diff --git a/compiler_rt-r196612.patch b/compiler_rt-r196612.patch deleted file mode 100644 index e5e5065..0000000 --- a/compiler_rt-r196612.patch +++ /dev/null @@ -1,38 +0,0 @@ -Index: lib/ubsan/lit_tests/TestCases/Integer/uadd-overflow.cpp -=================================================================== ---- lib/ubsan/lit_tests/TestCases/Integer/uadd-overflow.cpp (revision 196611) -+++ lib/ubsan/lit_tests/TestCases/Integer/uadd-overflow.cpp (revision 196612) -@@ -18,7 +18,7 @@ - - #ifdef ADD_I64 - (void)(uint64_t(10000000000000000000ull) + uint64_t(9000000000000000000ull)); -- // CHECK-ADD_I64: 10000000000000000000 + 9000000000000000000 cannot be represented in type 'unsigned long' -+ // CHECK-ADD_I64: 10000000000000000000 + 9000000000000000000 cannot be represented in type 'unsigned {{long( long)?}}' - #endif - - #ifdef ADD_I128 -Index: lib/ubsan/lit_tests/TestCases/Integer/no-recover.cpp -=================================================================== ---- lib/ubsan/lit_tests/TestCases/Integer/no-recover.cpp (revision 196611) -+++ lib/ubsan/lit_tests/TestCases/Integer/no-recover.cpp (revision 196612) -@@ -17,6 +17,6 @@ - // ABORT: no-recover.cpp:[[@LINE-2]]:5: runtime error: unsigned integer overflow: 2271560481 + 3989547399 cannot be represented in type 'unsigned int' - - (void)(uint64_t(10000000000000000000ull) + uint64_t(9000000000000000000ull)); -- // RECOVER: 10000000000000000000 + 9000000000000000000 cannot be represented in type 'unsigned long' -+ // RECOVER: 10000000000000000000 + 9000000000000000000 cannot be represented in type 'unsigned {{long( long)?}}' - // ABORT-NOT: runtime error - } -Index: lib/ubsan/lit_tests/TestCases/Integer/usub-overflow.cpp -=================================================================== ---- lib/ubsan/lit_tests/TestCases/Integer/usub-overflow.cpp (revision 196611) -+++ lib/ubsan/lit_tests/TestCases/Integer/usub-overflow.cpp (revision 196612) -@@ -17,7 +17,7 @@ - - #ifdef SUB_I64 - (void)(uint64_t(8000000000000000000ll) - uint64_t(9000000000000000000ll)); -- // CHECK-SUB_I64: 8000000000000000000 - 9000000000000000000 cannot be represented in type 'unsigned long' -+ // CHECK-SUB_I64: 8000000000000000000 - 9000000000000000000 cannot be represented in type 'unsigned {{long( long)?}}' - #endif - - #ifdef SUB_I128 diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 index bfff395..2626bbd 100644 --- a/llvm-3.3.93.tar.bz2 +++ b/llvm-3.3.93.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:65bebc09efe3737a6bb601a7bf4ce5b6024100b37bc70b245acd1e978842a37f -size 27861316 +oid sha256:5046ba1175f271b0f178f69e694baebc9931979da74e78192a3e20755d7a5566 +size 27863933 diff --git a/llvm.changes b/llvm.changes index 8f1ac99..527515c 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Dec 10 09:48:59 UTC 2013 - idonmez@suse.com + +- Update to r196899 from release_34 branch +- Remove compiler_rt-r196612.patch, merged upstream + ------------------------------------------------------------------- Mon Dec 9 11:42:44 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index 48aa051..7e4adfe 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 196762 +%define _revision 196899 %define _release_version 3.4 Name: llvm @@ -45,7 +45,6 @@ Patch8: aarch64-suse-support.patch Patch9: arm-remove-xfails.diff # PATCH-FIX-OPENSUSE asan-disable-hugemalloctest.patch -- Disable ASAN HugeMallocTest Patch10: asan-disable-hugemalloctest.patch -Patch11: compiler_rt-r196612.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake From 4632243a0bca2b0444a8dcf97d08a6944e05e7023c63a7105f2822b124e1ec3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 10 Dec 2013 09:53:13 +0000 Subject: [PATCH 35/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=320 --- llvm.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/llvm.spec b/llvm.spec index 7e4adfe..6869ac9 100644 --- a/llvm.spec +++ b/llvm.spec @@ -167,9 +167,6 @@ This package contains the Python bindings to clang (C language) frontend for LLV %patch8 -p1 %patch9 %patch10 -p1 -pushd projects/compiler-rt -%patch11 -popd # We hardcode i586 rm tools/clang/test/Driver/x86_features.c From c0c4af6b01f20b43c6005f38a4b793571770c113d097c412e236ba40a74baaa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 12 Dec 2013 10:46:34 +0000 Subject: [PATCH 36/51] - Update to r197142 from release_34 branch - Disable assertions again now that PPC64 backend is fixed OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=321 --- llvm-3.3.93.tar.bz2 | 3 --- llvm-3.4.tar.bz2 | 3 +++ llvm.changes | 6 ++++++ llvm.spec | 13 +++++++------ 4 files changed, 16 insertions(+), 9 deletions(-) delete mode 100644 llvm-3.3.93.tar.bz2 create mode 100644 llvm-3.4.tar.bz2 diff --git a/llvm-3.3.93.tar.bz2 b/llvm-3.3.93.tar.bz2 deleted file mode 100644 index 2626bbd..0000000 --- a/llvm-3.3.93.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5046ba1175f271b0f178f69e694baebc9931979da74e78192a3e20755d7a5566 -size 27863933 diff --git a/llvm-3.4.tar.bz2 b/llvm-3.4.tar.bz2 new file mode 100644 index 0000000..e05c37b --- /dev/null +++ b/llvm-3.4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f343e45d71f91d608ec5b43919bce68ee197b838dc15ea9a3ebab6d8b7b295e +size 27905400 diff --git a/llvm.changes b/llvm.changes index 527515c..c62370f 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Dec 12 10:43:42 UTC 2013 - idonmez@suse.com + +- Update to r197142 from release_34 branch +- Disable assertions again now that PPC64 backend is fixed + ------------------------------------------------------------------- Tue Dec 10 09:48:59 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index 6869ac9..5c49efe 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,11 +16,11 @@ # -%define _revision 196899 +%define _revision 197142 %define _release_version 3.4 Name: llvm -Version: 3.3.93 +Version: 3.4 Release: 0 Summary: Low Level Virtual Machine License: NCSA @@ -154,7 +154,7 @@ Requires: python This package contains the Python bindings to clang (C language) frontend for LLVM. %prep -%setup -q -n %{name} +%setup -q %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -230,6 +230,7 @@ pushd stage1 %ifarch ppc64 %define host_triple powerpc64-suse-linux sed -i s,'${CMAKE_SYSTEM_PROCESSOR}','"PowerPC"',g ../cmake/modules/AddLLVM.cmake +rm -rf ../projects/compiler-rt %endif %ifarch s390x %define host_triple s390x-suse-linux @@ -240,7 +241,7 @@ rm -rf ../projects/compiler-rt cmake -G "Unix Makefiles" \ -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_BUILD_TYPE=Release \ - -DLLVM_ENABLE_ASSERTIONS=ON \ + -DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_TARGETS_TO_BUILD=host \ -DCMAKE_C_FLAGS="-O0" \ -DCMAKE_CXX_FLAGS="-O0" \ @@ -280,7 +281,7 @@ cmake -G "Unix Makefiles" \ %endif -DLLVM_REQUIRES_RTTI=ON \ -DLLVM_ENABLE_TIMESTAMPS=OFF \ - -DLLVM_ENABLE_ASSERTIONS=ON \ + -DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_PIC=ON \ %if 0%{?suse_version} >= 1220 -DLLVM_BINUTILS_INCDIR=/usr/include \ @@ -463,7 +464,7 @@ rm %{buildroot}%{_mandir}/man1/lit.1 %{_libdir}/bfd-plugins/ %endif %{_libdir}/clang -%ifnarch %arm aarch64 s390 s390x +%ifnarch %arm aarch64 ppc64 s390 s390x %{_libdir}/clang/%{_release_version}/lib/linux/ %endif From 9d190c8f4b6ccbf2f2214b810b5b41cfd5d0b98183b485a4a0c030e05a48033b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 12 Dec 2013 11:56:54 +0000 Subject: [PATCH 37/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=322 --- llvm.spec | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/llvm.spec b/llvm.spec index 5c49efe..daa102a 100644 --- a/llvm.spec +++ b/llvm.spec @@ -48,9 +48,7 @@ Patch10: asan-disable-hugemalloctest.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake - BuildRequires: cmake - %if 0%{?suse_version} >= 1220 BuildRequires: binutils-devel >= 2.21.90 %endif @@ -62,11 +60,8 @@ BuildRequires: gcc-c++ BuildRequires: groff BuildRequires: libffi-devel BuildRequires: libtool +BuildRequires: ncurses-devel BuildRequires: python-base -%ifarch %{ix86} -# Needed for compiler_rt tests -BuildRequires: glibc-devel-32bit -%endif Requires: libLLVM = %{version}-%{release} # llvm does not work on ppc, only ppc64 ExcludeArch: ppc From ca3bf3111def3bd28677ae08a190f05428832d2f584ea52b4e37510c66524397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 17 Dec 2013 11:34:02 +0000 Subject: [PATCH 38/51] - Update to r197490 from release_34 branch - Disable assertions again now that PPC64 backend is fixed OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=323 --- llvm-3.4.tar.bz2 | 4 ++-- llvm.changes | 7 ++++++- llvm.spec | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/llvm-3.4.tar.bz2 b/llvm-3.4.tar.bz2 index e05c37b..a453ae9 100644 --- a/llvm-3.4.tar.bz2 +++ b/llvm-3.4.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f343e45d71f91d608ec5b43919bce68ee197b838dc15ea9a3ebab6d8b7b295e -size 27905400 +oid sha256:0518c76b9f4df7fec56f6baf950b530cfef062286e8c6d3d141be80be5c0db1d +size 27906226 diff --git a/llvm.changes b/llvm.changes index c62370f..36b6760 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,8 +1,13 @@ +------------------------------------------------------------------- +Tue Dec 17 11:31:23 UTC 2013 - idonmez@suse.com + +- Update to r197490 from release_34 branch + ------------------------------------------------------------------- Thu Dec 12 10:43:42 UTC 2013 - idonmez@suse.com - Update to r197142 from release_34 branch -- Disable assertions again now that PPC64 backend is fixed +- Disable assertions again now that PPC64 backend is fixed ------------------------------------------------------------------- Tue Dec 10 09:48:59 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index daa102a..3584c88 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 197142 +%define _revision 197490 %define _release_version 3.4 Name: llvm From 74e05e50030e93304f8fa05e69ecc2e7e1065d6b5e913f5a8ca0f84bc69ce3c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 17 Dec 2013 11:36:47 +0000 Subject: [PATCH 39/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=324 --- llvm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index 3584c88..f01b17a 100644 --- a/llvm.spec +++ b/llvm.spec @@ -149,7 +149,7 @@ Requires: python This package contains the Python bindings to clang (C language) frontend for LLVM. %prep -%setup -q +%setup -q -n %{name} %patch1 -p1 %patch2 -p1 %patch3 -p1 From bb5755cc2c081482cbd8927b5fe47b4ce20371f25d7030bf80330dc155779c9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 17 Dec 2013 13:32:35 +0000 Subject: [PATCH 40/51] OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=325 --- llvm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index f01b17a..3cba679 100644 --- a/llvm.spec +++ b/llvm.spec @@ -166,9 +166,12 @@ This package contains the Python bindings to clang (C language) frontend for LLV # We hardcode i586 rm tools/clang/test/Driver/x86_features.c -# lib64 related problems on 64bit %if "%{_lib}" == "lib64" +# lib64 related problems on 64bit rm tools/clang/test/Driver/linux-ld.c +%else +# This test is broken on 32bit +rm projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp %endif sed -i s,SVN_REVISION,\"%{_revision}\",g tools/clang/lib/Basic/Version.cpp From ccbede2936b2f9f3135cbbefb51bcc809efde6199bb687064d045a382c70bb68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 17 Dec 2013 13:33:53 +0000 Subject: [PATCH 41/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=326 --- _constraints | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 _constraints diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..8467694 --- /dev/null +++ b/_constraints @@ -0,0 +1,8 @@ + + + + + 4000 + + + From b4cea65d6ebdabac673838388d178fe3367cfb77cb65c5adac1ed56ce0c4d363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Sat, 21 Dec 2013 18:22:11 +0000 Subject: [PATCH 42/51] - Update to r197866 from release_34 branch OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=327 --- llvm-3.4.tar.bz2 | 4 ++-- llvm.changes | 5 +++++ llvm.spec | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/llvm-3.4.tar.bz2 b/llvm-3.4.tar.bz2 index a453ae9..526a096 100644 --- a/llvm-3.4.tar.bz2 +++ b/llvm-3.4.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0518c76b9f4df7fec56f6baf950b530cfef062286e8c6d3d141be80be5c0db1d -size 27906226 +oid sha256:72b2050360b8ca875009f6629ac58a416722b724154eb8289a55fdaad9ac9193 +size 27904930 diff --git a/llvm.changes b/llvm.changes index 36b6760..ed6eae2 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Dec 21 18:20:20 UTC 2013 - idonmez@suse.com + +- Update to r197866 from release_34 branch + ------------------------------------------------------------------- Tue Dec 17 11:31:23 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index 3cba679..b0b4860 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 197490 +%define _revision 197866 %define _release_version 3.4 Name: llvm From 5fe9ff6d348004313e5ec9af5939079a9581d64f4662d38f00c72a358371437c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 24 Dec 2013 13:49:23 +0000 Subject: [PATCH 43/51] - Update to final release candiate (r197980) OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=328 --- llvm-3.4.tar.bz2 | 4 ++-- llvm.changes | 5 +++++ llvm.spec | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/llvm-3.4.tar.bz2 b/llvm-3.4.tar.bz2 index 526a096..d64d010 100644 --- a/llvm-3.4.tar.bz2 +++ b/llvm-3.4.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72b2050360b8ca875009f6629ac58a416722b724154eb8289a55fdaad9ac9193 -size 27904930 +oid sha256:61ba6932484b0dca58990bb80d7ec5718c3ca425238c85962cec8345bd7aaf9a +size 27904730 diff --git a/llvm.changes b/llvm.changes index ed6eae2..61e1b61 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Dec 24 13:47:24 UTC 2013 - idonmez@suse.com + +- Update to final release candiate (r197980) + ------------------------------------------------------------------- Sat Dec 21 18:20:20 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index b0b4860..f8c9232 100644 --- a/llvm.spec +++ b/llvm.spec @@ -16,7 +16,7 @@ # -%define _revision 197866 +%define _revision 197980 %define _release_version 3.4 Name: llvm From 1a8ad6cb1ad6fae91e6187f868895784b24d91e8fdbe9e79e9c446dc5b03b368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 7 Jan 2014 08:49:36 +0000 Subject: [PATCH 44/51] - Update to final llvm 3.4 release * See http://llvm.org/releases/3.4/docs/ReleaseNotes.html for complete changelog. OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=329 --- llvm-3.4.tar.bz2 | 4 ++-- llvm.changes | 7 +++++++ llvm.spec | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/llvm-3.4.tar.bz2 b/llvm-3.4.tar.bz2 index d64d010..d5f0d9e 100644 --- a/llvm-3.4.tar.bz2 +++ b/llvm-3.4.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61ba6932484b0dca58990bb80d7ec5718c3ca425238c85962cec8345bd7aaf9a -size 27904730 +oid sha256:29c1121d34d0309b9c2e5a39b7c79a1e83ac11c3b54acd6654d1ebf81ba1c08e +size 27905661 diff --git a/llvm.changes b/llvm.changes index 61e1b61..76794f4 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jan 7 08:47:50 UTC 2014 - idonmez@suse.com + +- Update to final llvm 3.4 release + * See http://llvm.org/releases/3.4/docs/ReleaseNotes.html for + complete changelog. + ------------------------------------------------------------------- Tue Dec 24 13:47:24 UTC 2013 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index f8c9232..2ad5bd4 100644 --- a/llvm.spec +++ b/llvm.spec @@ -1,7 +1,7 @@ # # spec file for package llvm # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,7 +16,7 @@ # -%define _revision 197980 +%define _revision 198681 %define _release_version 3.4 Name: llvm From 6db6c60aa6143cb1c6447bc8e4908562bf1e2b7f026f113c8b080a100c01097a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 7 Jan 2014 10:49:21 +0000 Subject: [PATCH 45/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=330 --- llvm.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm.spec b/llvm.spec index 2ad5bd4..ffe09f6 100644 --- a/llvm.spec +++ b/llvm.spec @@ -169,6 +169,8 @@ rm tools/clang/test/Driver/x86_features.c %if "%{_lib}" == "lib64" # lib64 related problems on 64bit rm tools/clang/test/Driver/linux-ld.c +# Seems to be racy under OBS +rm projects/compiler-rt/lib/lsan/lit_tests/TestCases/use_tls_dynamic.cc %else # This test is broken on 32bit rm projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp From 6d7dcadc999f7aa17bef16898b6ec196deb9040f2e226db2f5fe82d0ab8717c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 14 Jan 2014 14:04:16 +0000 Subject: [PATCH 46/51] - Add 32bit libclang bnc#857131 - Update to final release candidate (r197980) OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=331 --- baselibs.conf | 2 ++ llvm.changes | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/baselibs.conf b/baselibs.conf index 3df1296..f5bcf56 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1 +1,3 @@ libLLVM +libclang + diff --git a/llvm.changes b/llvm.changes index 76794f4..c9d5e12 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jan 14 13:57:57 UTC 2014 - idonmez@suse.com + +- Add 32bit libclang bnc#857131 + ------------------------------------------------------------------- Tue Jan 7 08:47:50 UTC 2014 - idonmez@suse.com @@ -8,7 +13,7 @@ Tue Jan 7 08:47:50 UTC 2014 - idonmez@suse.com ------------------------------------------------------------------- Tue Dec 24 13:47:24 UTC 2013 - idonmez@suse.com -- Update to final release candiate (r197980) +- Update to final release candidate (r197980) ------------------------------------------------------------------- Sat Dec 21 18:20:20 UTC 2013 - idonmez@suse.com From 203cddf26bbbdaa1b1bef3fd703081bd383c8bc504f92fe4d74e5a392a4e126b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 16 Jan 2014 11:00:47 +0000 Subject: [PATCH 47/51] OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=332 --- llvm.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm.spec b/llvm.spec index ffe09f6..bd506e6 100644 --- a/llvm.spec +++ b/llvm.spec @@ -171,6 +171,8 @@ rm tools/clang/test/Driver/x86_features.c rm tools/clang/test/Driver/linux-ld.c # Seems to be racy under OBS rm projects/compiler-rt/lib/lsan/lit_tests/TestCases/use_tls_dynamic.cc +rm projects/compiler-rt/lib/tsan/lit_tests/oob_race.cc +rm projects/compiler-rt/lib/tsan/lit_tests/halt_on_error.cc %else # This test is broken on 32bit rm projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp From fa57928312d1793a49d79ab4fc5631ab165d66722d85ab30c0198eb974c2f0dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Fri, 17 Jan 2014 09:57:19 +0000 Subject: [PATCH 48/51] OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=333 --- llvm.spec | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/llvm.spec b/llvm.spec index bd506e6..a4d0813 100644 --- a/llvm.spec +++ b/llvm.spec @@ -169,13 +169,6 @@ rm tools/clang/test/Driver/x86_features.c %if "%{_lib}" == "lib64" # lib64 related problems on 64bit rm tools/clang/test/Driver/linux-ld.c -# Seems to be racy under OBS -rm projects/compiler-rt/lib/lsan/lit_tests/TestCases/use_tls_dynamic.cc -rm projects/compiler-rt/lib/tsan/lit_tests/oob_race.cc -rm projects/compiler-rt/lib/tsan/lit_tests/halt_on_error.cc -%else -# This test is broken on 32bit -rm projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp %endif sed -i s,SVN_REVISION,\"%{_revision}\",g tools/clang/lib/Basic/Version.cpp @@ -298,13 +291,6 @@ cmake -G "Unix Makefiles" \ make %{?_smp_mflags} VERBOSE=1 %check -%ifarch %{ix86} -# These tests are 64bit only -for i in basic custom flags fncall propagate; do - rm projects/compiler-rt/lib/dfsan/lit_tests/$i.c; -done -%endif - cd stage2 %ifnarch armv7hl armv7l %if 0%{!?qemu_user_space_build:1} @@ -314,7 +300,8 @@ cd stage2 ln -s lib lib64 %endif -make check-all +make check +make clang-test %endif %endif From 05e8b8754b868534ee867bf36d134c0bce2a047728f61fefdc18163f92686799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Fri, 24 Jan 2014 09:23:44 +0000 Subject: [PATCH 49/51] - Add a dependency on ncurses-devel since libLLVM now links to tinfo. - Add 32bit libclang bnc#857131 OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=334 --- llvm.changes | 8 +++++++- llvm.spec | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/llvm.changes b/llvm.changes index c9d5e12..7066ff4 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,7 +1,13 @@ +------------------------------------------------------------------- +Fri Jan 24 09:23:08 UTC 2014 - idonmez@suse.com + +- Add a dependency on ncurses-devel since libLLVM now links to + tinfo. + ------------------------------------------------------------------- Tue Jan 14 13:57:57 UTC 2014 - idonmez@suse.com -- Add 32bit libclang bnc#857131 +- Add 32bit libclang bnc#857131 ------------------------------------------------------------------- Tue Jan 7 08:47:50 UTC 2014 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index a4d0813..1e17231 100644 --- a/llvm.spec +++ b/llvm.spec @@ -98,6 +98,7 @@ new native programs that use the LLVM infrastructure. Summary: Documentation for LLVM Group: Documentation/HTML Requires: %{name} = %{version} +Requires: ncurses-devel %description doc Documentation for the LLVM compiler infrastructure. From abf323c85ed39890c359c30019f7f390691e15f5ac322157c594f13a1119ffd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Fri, 24 Jan 2014 13:05:01 +0000 Subject: [PATCH 50/51] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=335 --- llvm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index 1e17231..3410888 100644 --- a/llvm.spec +++ b/llvm.spec @@ -87,6 +87,7 @@ Group: Development/Languages/Other Requires: %{name} = %{version} Requires: libffi-devel Requires: libstdc++-devel >= 3.4 +Requires: ncurses-devel Obsoletes: llvm-doc < %{version} Provides: llvm-doc = %{version} @@ -98,7 +99,6 @@ new native programs that use the LLVM infrastructure. Summary: Documentation for LLVM Group: Documentation/HTML Requires: %{name} = %{version} -Requires: ncurses-devel %description doc Documentation for the LLVM compiler infrastructure. From 09b3709c173f04b784b020500755aa1b10b1b4761a0919b132d58eee442a23a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Fri, 24 Jan 2014 13:53:34 +0000 Subject: [PATCH 51/51] - Remove non-existing doc subpackage OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=336 --- llvm.changes | 5 +++++ llvm.spec | 10 ---------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/llvm.changes b/llvm.changes index 7066ff4..39bd542 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Jan 24 13:15:48 UTC 2014 - idonmez@suse.com + +- Remove non-existing doc subpackage + ------------------------------------------------------------------- Fri Jan 24 09:23:08 UTC 2014 - idonmez@suse.com diff --git a/llvm.spec b/llvm.spec index 3410888..b9a6a2a 100644 --- a/llvm.spec +++ b/llvm.spec @@ -88,21 +88,11 @@ Requires: %{name} = %{version} Requires: libffi-devel Requires: libstdc++-devel >= 3.4 Requires: ncurses-devel -Obsoletes: llvm-doc < %{version} -Provides: llvm-doc = %{version} %description devel This package contains library and header files needed to develop new native programs that use the LLVM infrastructure. -%package doc -Summary: Documentation for LLVM -Group: Documentation/HTML -Requires: %{name} = %{version} - -%description doc -Documentation for the LLVM compiler infrastructure. - %package clang Summary: CLANG frontend for LLVM Group: Development/Languages/Other