llvm 3.6.0
This commit is contained in:
parent
96649fa424
commit
2ee1a75aac
4
.gitignore
vendored
4
.gitignore
vendored
@ -7,3 +7,7 @@
|
||||
/compiler-rt-3.5.0.src.tar.xz
|
||||
/lldb-3.5.0.src.tar.xz
|
||||
/llvm-3.5.0.src.tar.xz
|
||||
/cfe-3.6.0.src.tar.xz
|
||||
/compiler-rt-3.6.0.src.tar.xz
|
||||
/lldb-3.6.0.src.tar.xz
|
||||
/llvm-3.6.0.src.tar.xz
|
||||
|
@ -1,14 +0,0 @@
|
||||
diff -up clang/lib/Frontend/InitPreprocessor.cpp.jx clang/lib/Frontend/InitPreprocessor.cpp
|
||||
--- clang/lib/Frontend/InitPreprocessor.cpp.jx 2014-07-17 16:12:32.000000000 -0400
|
||||
+++ clang/lib/Frontend/InitPreprocessor.cpp 2014-08-25 13:16:11.273215190 -0400
|
||||
@@ -464,8 +464,8 @@ static void InitializePredefinedMacros(c
|
||||
if (!LangOpts.MSVCCompat) {
|
||||
// Currently claim to be compatible with GCC 4.2.1-5621, but only if we're
|
||||
// not compiling for MSVC compatibility
|
||||
- Builder.defineMacro("__GNUC_MINOR__", "2");
|
||||
- Builder.defineMacro("__GNUC_PATCHLEVEL__", "1");
|
||||
+ Builder.defineMacro("__GNUC_MINOR__", "3");
|
||||
+ Builder.defineMacro("__GNUC_PATCHLEVEL__", "0");
|
||||
Builder.defineMacro("__GNUC__", "4");
|
||||
Builder.defineMacro("__GXX_ABI_VERSION", "1002");
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
Index: lib/Driver/ToolChains.cpp
|
||||
===================================================================
|
||||
--- lib/Driver/ToolChains.cpp (revision 229718)
|
||||
+++ lib/Driver/ToolChains.cpp (revision 229719)
|
||||
@@ -3154,7 +3154,8 @@
|
||||
SmallVector<StringRef, 5> dirs;
|
||||
CIncludeDirs.split(dirs, ":");
|
||||
for (StringRef dir : dirs) {
|
||||
- StringRef Prefix = llvm::sys::path::is_absolute(dir) ? SysRoot : "";
|
||||
+ StringRef Prefix =
|
||||
+ llvm::sys::path::is_absolute(dir) ? StringRef(SysRoot) : "";
|
||||
addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir);
|
||||
}
|
||||
return;
|
@ -1,39 +0,0 @@
|
||||
Fix the LLDB expression parser.
|
||||
|
||||
$ lldb
|
||||
(lldb) p 1+1
|
||||
error: warning: duplicate 'signed' declaration specifier
|
||||
error: cannot combine with previous 'unsigned' declaration specifier
|
||||
error: 1 errors parsing expression
|
||||
|
||||
Upstream commit: r214233 - Attempt to fix the expression parser after r214119
|
||||
|
||||
--- lldb/trunk/source/Expression/ExpressionSourceCode.cpp 2014/07/23 14:37:35 213755
|
||||
+++ lldb/trunk/source/Expression/ExpressionSourceCode.cpp 2014/07/29 21:59:33 214233
|
||||
@@ -28,16 +28,16 @@
|
||||
#define nil (__null)
|
||||
#define YES ((BOOL)1)
|
||||
#define NO ((BOOL)0)
|
||||
-typedef signed __INT8_TYPE__ int8_t;
|
||||
-typedef unsigned __INT8_TYPE__ uint8_t;
|
||||
-typedef signed __INT16_TYPE__ int16_t;
|
||||
-typedef unsigned __INT16_TYPE__ uint16_t;
|
||||
-typedef signed __INT32_TYPE__ int32_t;
|
||||
-typedef unsigned __INT32_TYPE__ uint32_t;
|
||||
-typedef signed __INT64_TYPE__ int64_t;
|
||||
-typedef unsigned __INT64_TYPE__ uint64_t;
|
||||
-typedef signed __INTPTR_TYPE__ intptr_t;
|
||||
-typedef unsigned __INTPTR_TYPE__ uintptr_t;
|
||||
+typedef __INT8_TYPE__ int8_t;
|
||||
+typedef __UINT8_TYPE__ uint8_t;
|
||||
+typedef __INT16_TYPE__ int16_t;
|
||||
+typedef __UINT16_TYPE__ uint16_t;
|
||||
+typedef __INT32_TYPE__ int32_t;
|
||||
+typedef __UINT32_TYPE__ uint32_t;
|
||||
+typedef __INT64_TYPE__ int64_t;
|
||||
+typedef __UINT64_TYPE__ uint64_t;
|
||||
+typedef __INTPTR_TYPE__ intptr_t;
|
||||
+typedef __UINTPTR_TYPE__ uintptr_t;
|
||||
typedef __SIZE_TYPE__ size_t;
|
||||
typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
||||
typedef unsigned short unichar;
|
@ -1,43 +0,0 @@
|
||||
Error.cpp:28:44: error: declaration of ‘virtual const char* {anonymous}::_object_error_category::name() const’ has a different exception specifier
|
||||
const char *_object_error_category::name() const {
|
||||
^
|
||||
Error.cpp:23:15: error: from previous declaration ‘virtual const char* {anonymous}::_object_error_category::name() const noexcept (true)’
|
||||
const char* name() const LLVM_NOEXCEPT override;
|
||||
^
|
||||
|
||||
diff -up llvm.src/lib/Object/Error.cpp.jx llvm.src/lib/Object/Error.cpp
|
||||
--- llvm.src/lib/Object/Error.cpp.jx 2014-06-13 11:36:17.000000000 -0400
|
||||
+++ llvm.src/lib/Object/Error.cpp 2014-08-11 13:11:46.135014527 -0400
|
||||
@@ -25,7 +25,7 @@ public:
|
||||
};
|
||||
}
|
||||
|
||||
-const char *_object_error_category::name() const {
|
||||
+const char *_object_error_category::name() const LLVM_NOEXCEPT {
|
||||
return "llvm.object";
|
||||
}
|
||||
|
||||
diff -up llvm.src/tools/llvm-readobj/Error.cpp.jx llvm.src/tools/llvm-readobj/Error.cpp
|
||||
--- llvm.src/tools/llvm-readobj/Error.cpp.jx 2014-06-13 11:36:17.000000000 -0400
|
||||
+++ llvm.src/tools/llvm-readobj/Error.cpp 2014-08-11 13:49:16.624287424 -0400
|
||||
@@ -24,7 +24,7 @@ public:
|
||||
};
|
||||
} // namespace
|
||||
|
||||
-const char *_readobj_error_category::name() const {
|
||||
+const char *_readobj_error_category::name() const LLVM_NOEXCEPT {
|
||||
return "llvm.readobj";
|
||||
}
|
||||
|
||||
diff -up llvm.src/tools/obj2yaml/Error.cpp.jx llvm.src/tools/obj2yaml/Error.cpp
|
||||
--- llvm.src/tools/obj2yaml/Error.cpp.jx 2014-06-13 11:36:17.000000000 -0400
|
||||
+++ llvm.src/tools/obj2yaml/Error.cpp 2014-08-11 14:04:05.841996088 -0400
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
};
|
||||
} // namespace
|
||||
|
||||
-const char *_obj2yaml_error_category::name() const { return "obj2yaml"; }
|
||||
+const char *_obj2yaml_error_category::name() const LLVM_NOEXCEPT { return "obj2yaml"; }
|
||||
|
||||
std::string _obj2yaml_error_category::message(int ev) const {
|
||||
switch (static_cast<obj2yaml_error>(ev)) {
|
@ -1,12 +0,0 @@
|
||||
--- llvm/trunk/include/llvm/ADT/IntrusiveRefCntPtr.h 2014/09/23 05:23:29 218294
|
||||
+++ llvm/trunk/include/llvm/ADT/IntrusiveRefCntPtr.h 2014/09/23 06:06:43 218295
|
||||
@@ -197,6 +197,9 @@
|
||||
private:
|
||||
void retain() { if (Obj) IntrusiveRefCntPtrInfo<T>::retain(Obj); }
|
||||
void release() { if (Obj) IntrusiveRefCntPtrInfo<T>::release(Obj); }
|
||||
+
|
||||
+ template <typename X>
|
||||
+ friend class IntrusiveRefCntPtr;
|
||||
};
|
||||
|
||||
template<class T, class U>
|
41
llvm.spec
41
llvm.spec
@ -7,7 +7,7 @@
|
||||
|
||||
# Components enabled if supported by target arch:
|
||||
%ifnarch s390 s390x sparc64
|
||||
%bcond_without ocaml
|
||||
%bcond_with ocaml
|
||||
%else
|
||||
%bcond_with ocaml
|
||||
%endif
|
||||
@ -34,8 +34,8 @@
|
||||
#global prerel rc3
|
||||
|
||||
Name: llvm
|
||||
Version: 3.5.0
|
||||
Release: 11%{?dist}
|
||||
Version: 3.6.0
|
||||
Release: 1%{?dist}
|
||||
Summary: The Low Level Virtual Machine
|
||||
|
||||
Group: Development/Languages
|
||||
@ -53,10 +53,7 @@ Source10: llvm-Config-config.h
|
||||
Source11: llvm-Config-llvm-config.h
|
||||
|
||||
# patches
|
||||
Patch1: llvm-3.5.0-build-fix.patch
|
||||
Patch2: 0001-data-install-preserve-timestamps.patch
|
||||
# Upstream patch for gcc 5/c++11
|
||||
Patch3: llvm-IntrusiveRefCntPtr.patch
|
||||
|
||||
# the next two are various attempts to get clang to actually work on arm
|
||||
# by forcing a hard-float ABI. They don't apply anymore as of 3.5.0,
|
||||
@ -69,16 +66,7 @@ Patch3: llvm-IntrusiveRefCntPtr.patch
|
||||
# http://llvm.org/bugs/attachment.cgi?id=12586
|
||||
#Patch22: pr12586.patch
|
||||
|
||||
# newish glibc hides the definition of __extern_always_inline behind
|
||||
# a check for gcc 4.3, clang pretends to be gcc 4.2. a proper fix would
|
||||
# be to build everything herein with gcc, but i don't have the patience
|
||||
# atm, so in the interest of bootstrapping...
|
||||
Patch100: clang-fake-gcc43.patch
|
||||
# http://llvm.org/bugs/show_bug.cgi?id=22625
|
||||
Patch101: clang-pr22625.patch
|
||||
|
||||
Patch200: lldb-python.patch
|
||||
Patch201: lldb-fix-expression-parser.patch
|
||||
Patch202: lldb-python-module-symlink.patch
|
||||
|
||||
BuildRequires: bison
|
||||
@ -322,26 +310,12 @@ mv compiler-rt-*/ projects/compiler-rt
|
||||
mv lldb-*/ tools/lldb
|
||||
%endif
|
||||
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p2
|
||||
%if %{with clang}
|
||||
#patch20 -p1
|
||||
#patch22 -p1
|
||||
%endif
|
||||
|
||||
%if %{with clang}
|
||||
pushd tools/clang
|
||||
%patch100 -p1
|
||||
%patch101 -p0
|
||||
popd
|
||||
%endif
|
||||
|
||||
%if %{with lldb}
|
||||
pushd tools/lldb
|
||||
# careful when recreating this patch...
|
||||
%patch200 -p1 -b .python
|
||||
%patch201 -p2
|
||||
%patch202 -p1
|
||||
sed -i s/@lib@/%{_lib}/g scripts/Python/modules/readline/Makefile
|
||||
popd
|
||||
@ -363,6 +337,8 @@ sed -i 's|/lib\>|/%{_lib}/%{name}|g' tools/llvm-config/llvm-config.cpp
|
||||
# bugs that make it so. gcc 5 ought to be fixed.
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
export CFLAGS="%{optflags} -DLLDB_DISABLE_PYTHON"
|
||||
export CXXFLAGS="%{optflags} -DLLDB_DISABLE_PYTHON"
|
||||
%configure \
|
||||
--with-extra-options="-fno-devirtualize" \
|
||||
--with-extra-ld-options=-Wl,-Bsymbolic \
|
||||
@ -426,7 +402,7 @@ make %{?_smp_mflags} REQUIRES_RTTI=1 VERBOSE=1
|
||||
make install DESTDIR=%{buildroot} PROJ_docsdir=/moredocs
|
||||
|
||||
# you have got to be kidding me
|
||||
rm -f %{buildroot}%{_bindir}/{FileCheck,count,not}
|
||||
rm -f %{buildroot}%{_bindir}/{FileCheck,count,not,verify-uselistorder,obj2yaml,yaml2obj}
|
||||
|
||||
# multilib fixes
|
||||
mv %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
|
||||
@ -665,7 +641,7 @@ exit 0
|
||||
%{_bindir}/lldb-*
|
||||
%{_libdir}/%{name}/liblldb.so
|
||||
# XXX double check this
|
||||
%{python2_sitearch}/*
|
||||
#{python2_sitearch}/*
|
||||
%doc %{_mandir}/man1/lldb.1.*
|
||||
|
||||
%files -n lldb-devel
|
||||
@ -702,6 +678,9 @@ exit 0
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Apr 09 2015 Adam Jackson <ajax@redhat.com> 3.6.0-1
|
||||
- llvm 3.6.0
|
||||
|
||||
* Wed Feb 18 2015 Jonathan Wakely <jwakely@redhat.com> - 3.5.0-11
|
||||
- Add patch for http://llvm.org/bugs/show_bug.cgi?id=22625
|
||||
|
||||
|
8
sources
8
sources
@ -1,4 +1,4 @@
|
||||
27718dd13c7df83e15f997116bbb4aef cfe-3.5.0.src.tar.xz
|
||||
02624d2a9144278c3808c00dbbab56c8 compiler-rt-3.5.0.src.tar.xz
|
||||
9597d5376309805ac586adfbd1e992f4 lldb-3.5.0.src.tar.xz
|
||||
d6987305a1a0e58e128c1374cd3b8fef llvm-3.5.0.src.tar.xz
|
||||
e3012065543dc6ab8a9842b09616b78d cfe-3.6.0.src.tar.xz
|
||||
cc36dbcafe43406083e98bc9e74f8054 compiler-rt-3.6.0.src.tar.xz
|
||||
a1ea02b3126152f3dd9aeee8ebb5afa5 lldb-3.6.0.src.tar.xz
|
||||
f1e14e949f8df3047c59816c55278cec llvm-3.6.0.src.tar.xz
|
||||
|
Loading…
Reference in New Issue
Block a user