mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-08-04 12:02:12 +00:00
Merge branch '7' of salsa.debian.org:pkg-llvm-team/llvm-toolchain into 7
This commit is contained in:
commit
b43597d581
4
debian/NEWS
vendored
4
debian/NEWS
vendored
@ -1,5 +1,7 @@
|
||||
llvm-toolchain-snapshot (1:7~svn322880-1) unstable; urgency=medium
|
||||
llvm-toolchain-7 (1:7-1) unstable; urgency=medium
|
||||
|
||||
* From version 7, llvm-toolchain also provides libc++, libc++abi
|
||||
and OpenMP packages
|
||||
* Packages, binaries and libraries have been renamed.
|
||||
Instead of the X.Y naming, we moved to X to match the
|
||||
naming from upstream.
|
||||
|
16
debian/changelog
vendored
16
debian/changelog
vendored
@ -1,3 +1,19 @@
|
||||
llvm-toolchain-7 (1:7~+rc2-1~exp2) experimental; urgency=medium
|
||||
|
||||
* Force sphinx to be >> 1.2.3
|
||||
* also ignore libc++experimental.a on dh_strip (fails on stretch)
|
||||
* Make libc++-7-dev & libc++abi-7-dev coinstallable
|
||||
|
||||
[ John Paul Adrian Glaubitz ]
|
||||
* Don't build with ld.gold on powerpcspe
|
||||
* Disable polly on powerpcspe
|
||||
* Add upstream patch to make rustc build on powerpc
|
||||
|
||||
[ Gianfranco Costamagna ]
|
||||
* Enable lld on ppc64el
|
||||
|
||||
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 24 Aug 2018 15:19:54 +0200
|
||||
|
||||
llvm-toolchain-7 (1:7~+rc2-1~exp1) experimental; urgency=medium
|
||||
|
||||
* New snapshot release
|
||||
|
37
debian/control
vendored
37
debian/control
vendored
@ -6,7 +6,8 @@ Uploaders: Sylvestre Ledru <sylvestre@debian.org>
|
||||
Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect,
|
||||
cmake, perl, libtool, chrpath, texinfo, sharutils, libffi-dev (>= 3.0.9),
|
||||
lsb-release, patchutils, diffstat, xz-utils, python-dev,
|
||||
libedit-dev, libncurses5-dev, swig, python-six, python-sphinx, binutils-dev,
|
||||
libedit-dev, libncurses5-dev, swig, python-six, python-sphinx (>= 1.3.6),
|
||||
binutils-dev,
|
||||
libjsoncpp-dev, pkg-config,
|
||||
lcov, procps, help2man, zlib1g-dev,
|
||||
g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32],
|
||||
@ -378,8 +379,8 @@ Description: Modular compiler and toolchain technologies, examples
|
||||
# ------------- lld -------------
|
||||
|
||||
Package: lld-7
|
||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel
|
||||
# ia64 mips mipsel hurd powerpc ppc64el have been removed
|
||||
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32
|
||||
# ia64 hurd powerpc have been removed
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm7 (= ${binary:Version}), llvm-7-dev
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Description: LLVM-based linker
|
||||
@ -388,8 +389,8 @@ Description: LLVM-based linker
|
||||
Project.
|
||||
|
||||
Package: liblld-7
|
||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel
|
||||
# ia64 mips mipsel hurd powerpc ppc64el have been removed
|
||||
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32
|
||||
# ia64 hurd powerpc have been removed
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm7 (= ${binary:Version})
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Section: libs
|
||||
@ -402,8 +403,8 @@ Description: LLVM-based linker, library
|
||||
|
||||
Package: liblld-7-dev
|
||||
Section: libdevel
|
||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel
|
||||
# ia64 mips mipsel hurd powerpc ppc64el have been removed
|
||||
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32
|
||||
# ia64 hurd powerpc have been removed
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, lld-7 (= ${binary:Version}),
|
||||
liblld-7 (= ${binary:Version})
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
@ -418,8 +419,8 @@ Description: LLVM-based linker, header files
|
||||
# ------------- lldb -------------
|
||||
|
||||
Package: lldb-7
|
||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32 mips mipsel arm64 ppc64el
|
||||
# ia64 mips mipsel hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32
|
||||
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm7 (= ${binary:Version}), llvm-7-dev,
|
||||
python-lldb-7
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
@ -429,8 +430,8 @@ Description: Next generation, high-performance debugger
|
||||
Project, such as the Clang expression parser and LLVM disassembler.
|
||||
|
||||
Package: liblldb-7
|
||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32 mips mipsel arm64 ppc64el
|
||||
# ia64 mips mipsel hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32
|
||||
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm7 (= ${binary:Version})
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Section: libs
|
||||
@ -445,8 +446,8 @@ Description: Next generation, high-performance debugger, library
|
||||
|
||||
Package: python-lldb-7
|
||||
Section: python
|
||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32 mips mipsel arm64 ppc64el
|
||||
# ia64 mips mipsel hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32
|
||||
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, liblldb-7-dev, python, python-six
|
||||
Conflicts: python-lldb-3.8, python-lldb-3.9, python-lldb-x.y
|
||||
Replaces: python-lldb-x.y
|
||||
@ -462,8 +463,8 @@ Description: Next generation, high-performance debugger, python lib
|
||||
|
||||
Package: liblldb-7-dev
|
||||
Section: libdevel
|
||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32 mips mipsel arm64 ppc64el
|
||||
# ia64 mips mipsel hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32
|
||||
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-7 (= ${binary:Version})
|
||||
Replaces: lldb-7-dev (<= 7~svn215195-2)
|
||||
Breaks: lldb-7-dev (<< 7~svn215195-2)
|
||||
@ -589,9 +590,9 @@ Section: libdevel
|
||||
Architecture: any
|
||||
Multi-Arch: same
|
||||
Depends: libc++abi1-7 (= ${binary:Version}), ${misc:Depends}
|
||||
Replaces: libc++-dev (<= 6.0.1-1), libc++-7-dev, libc++abi-dev (<= 6.0.1-1)
|
||||
Breaks: libc++-dev (<= 6.0.1-1), libc++-7-dev, libc++abi-dev (<= 6.0.1-1)
|
||||
Provides: libc++-dev, libc++-7-dev, libc++abi-dev
|
||||
Replaces: libc++-dev (<= 6.0.1-1), libc++abi-dev (<= 6.0.1-1)
|
||||
Breaks: libc++-dev (<= 6.0.1-1), libc++abi-dev (<= 6.0.1-1)
|
||||
Provides: libc++abi-dev
|
||||
Description: LLVM low level support for a standard C++ library (development files)
|
||||
libc++abi is another implementation of low level support for a standard C++
|
||||
library.
|
||||
|
65
debian/patches/D51108.diff
vendored
Normal file
65
debian/patches/D51108.diff
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
Index: llvm-toolchain-6.0-6.0.1/lib/Target/PowerPC/PPCISelLowering.cpp
|
||||
===================================================================
|
||||
--- llvm-toolchain-6.0-6.0.1.orig/lib/Target/PowerPC/PPCISelLowering.cpp
|
||||
+++ llvm-toolchain-6.0-6.0.1/lib/Target/PowerPC/PPCISelLowering.cpp
|
||||
@@ -3351,9 +3351,14 @@
|
||||
// Argument stored in memory.
|
||||
assert(VA.isMemLoc());
|
||||
|
||||
+ // Get the extended size of the argument type in stack
|
||||
unsigned ArgSize = VA.getLocVT().getStoreSize();
|
||||
- int FI = MFI.CreateFixedObject(ArgSize, VA.getLocMemOffset(),
|
||||
- isImmutable);
|
||||
+ // Get the actual size of the argument type
|
||||
+ unsigned ObjSize = VA.getValVT().getStoreSize();
|
||||
+ unsigned ArgOffset = VA.getLocMemOffset();
|
||||
+ // Stack objects in PPC32 are right justified.
|
||||
+ ArgOffset += ArgSize - ObjSize;
|
||||
+ int FI = MFI.CreateFixedObject(ArgSize, ArgOffset, isImmutable);
|
||||
|
||||
// Create load nodes to retrieve arguments from the stack.
|
||||
SDValue FIN = DAG.getFrameIndex(FI, PtrVT);
|
||||
@@ -5303,10 +5308,11 @@
|
||||
Arg = PtrOff;
|
||||
}
|
||||
|
||||
- if (VA.isRegLoc()) {
|
||||
- if (Arg.getValueType() == MVT::i1)
|
||||
- Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i32, Arg);
|
||||
+ // Ensure callee will get either 0x00000001 or 0x00000000.
|
||||
+ if (Arg.getValueType() == MVT::i1)
|
||||
+ Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i32, Arg);
|
||||
|
||||
+ if (VA.isRegLoc()) {
|
||||
seenFloatArg |= VA.getLocVT().isFloatingPoint();
|
||||
// Put argument in a physical register.
|
||||
RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg));
|
||||
Index: llvm-toolchain-6.0-6.0.1/test/CodeGen/PowerPC/ppc32-i1-stack-arguments-abi-bug.ll
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ llvm-toolchain-6.0-6.0.1/test/CodeGen/PowerPC/ppc32-i1-stack-arguments-abi-bug.ll
|
||||
@@ -0,0 +1,24 @@
|
||||
+; RUN: llc -verify-machineinstrs < %s -mcpu=ppc32 -mattr=+crbits | FileCheck %s
|
||||
+target triple = "powerpc-unknown-linux-gnu"
|
||||
+
|
||||
+define zeroext i1 @check_callee(
|
||||
+ i1 zeroext, i1 zeroext, i1 zeroext, i1 zeroext,
|
||||
+ i1 zeroext, i1 zeroext, i1 zeroext, i1 zeroext,
|
||||
+ i1 zeroext %s1
|
||||
+) {
|
||||
+ call void @check_caller(
|
||||
+ i1 zeroext true, i1 zeroext true, i1 zeroext true, i1 zeroext true,
|
||||
+ i1 zeroext true, i1 zeroext true, i1 zeroext true, i1 zeroext true,
|
||||
+ i1 zeroext %s1)
|
||||
+ ret i1 true
|
||||
+}
|
||||
+
|
||||
+; CHECK-LABEL: @check_callee
|
||||
+; CHECK: lbz {{[0-9]+}}, 27(1)
|
||||
+; CHECK: stw {{[0-9]+}}, 8(1)
|
||||
+
|
||||
+declare void @check_caller(
|
||||
+ i1 zeroext, i1 zeroext, i1 zeroext, i1 zeroext,
|
||||
+ i1 zeroext, i1 zeroext, i1 zeroext, i1 zeroext,
|
||||
+ i1 zeroext
|
||||
+)
|
2
debian/patches/series
vendored
2
debian/patches/series
vendored
@ -58,7 +58,7 @@ impl-path-hurd.diff
|
||||
openmp-check-execstack.diff
|
||||
openmp-soname.diff
|
||||
openmp-mips-affinity.patch
|
||||
|
||||
D51108.diff
|
||||
# libcxx
|
||||
|
||||
libcxxabi-test-don-t-fail-extended-long-double.patch
|
||||
|
27
debian/qualify-clang.sh
vendored
27
debian/qualify-clang.sh
vendored
@ -187,9 +187,8 @@ int main(void) {
|
||||
clang-$VERSION foo.c -fopenmp -o o
|
||||
./o > /dev/null
|
||||
|
||||
|
||||
if test ! -f /usr/lib/llvm-$VERSION/lib/libomp.so; then
|
||||
echo "Install libomp-$VERSION-dev";
|
||||
if test ! -f /usr/lib/llvm-$VERSION/include/c++/v1/vector; then
|
||||
echo "Install libc++-$VERSION-dev";
|
||||
exit -1;
|
||||
fi
|
||||
|
||||
@ -221,12 +220,34 @@ if ! ldd o 2>&1|grep -q libc++abi.so.1; then
|
||||
echo "not linked against libc++abi.so.1"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
./o > /dev/null
|
||||
clang++-$VERSION -std=c++11 -stdlib=libc++ foo.cpp -o o
|
||||
./o > /dev/null
|
||||
clang++-$VERSION -std=c++14 -stdlib=libc++ foo.cpp -lc++experimental -o o
|
||||
./o > /dev/null
|
||||
|
||||
if test ! -f /usr/lib/llvm-$VERSION/include/cxxabi.h; then
|
||||
echo "Install libc++abi-$VERSION-dev";
|
||||
exit -1;
|
||||
fi
|
||||
|
||||
# Force the usage of libc++abi
|
||||
clang++-$VERSION -stdlib=libc++ -lc++abi foo.cpp -o o
|
||||
./o > /dev/null
|
||||
if ! ldd o 2>&1|grep -q libc++abi.so.1; then
|
||||
echo "not linked against libc++abi.so.1"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
# Use the libc++abi and uses the libstc++ headers
|
||||
clang++-$VERSION -lc++abi foo.cpp -o o
|
||||
./o > /dev/null
|
||||
if ! ldd o 2>&1|grep -q libstdc++.so.; then
|
||||
echo "not linked against libstdc++"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
# fs from C++17
|
||||
echo '
|
||||
#include <filesystem>
|
||||
|
10
debian/rules
vendored
10
debian/rules
vendored
@ -57,7 +57,7 @@ ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' bin
|
||||
ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) lt 7.1.0-7~ || \
|
||||
dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 7.2.0-2; echo $$?),0)
|
||||
# Only pass -gsplit-dwarf with working version of gcc 7
|
||||
# More: https://bugs.llvm.org/show_bug.cgi?id=34140 & https://bugs.debian.org/873709
|
||||
# More: https://bugs.llvm.org/show_bug.cgi?id=34140 & https://bugs.debian.org/873609
|
||||
CXXFLAGS_EXTRA += -gsplit-dwarf
|
||||
else
|
||||
$(error "Broken gcc version for -gsplit-dwarf support. Please use < gcc 7 or >= 7.2.0-2")
|
||||
@ -95,7 +95,7 @@ else
|
||||
control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev'
|
||||
endif
|
||||
|
||||
BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 powerpcspe ppc64 ppc64el sparc sparc64 x32 s390x
|
||||
BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el sparc sparc64 x32 s390x
|
||||
ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0)
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
|
||||
# -fused-ld=gold enables the gold linker (but is not supported by all archs / distro)
|
||||
@ -107,7 +107,7 @@ endif
|
||||
|
||||
# Enable polly (or not)
|
||||
POLLY_ENABLE=yes
|
||||
ifeq (,$(filter-out $(DEB_HOST_ARCH), powerpc s390x))
|
||||
ifeq (,$(filter-out $(DEB_HOST_ARCH), powerpc powerpcspe s390x))
|
||||
POLLY_ENABLE=no
|
||||
endif
|
||||
|
||||
@ -157,7 +157,7 @@ else
|
||||
endif
|
||||
|
||||
LLDB_ENABLE=yes
|
||||
LLDB_DISABLE_ARCHS := hurd-i386 ia64 mips64el powerpc powerpcspe ppc64 s390x sparc64
|
||||
LLDB_DISABLE_ARCHS := hurd-i386 ia64 powerpc powerpcspe ppc64 s390x sparc64
|
||||
# hurd has threading issues
|
||||
ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH)))
|
||||
# Disable LLDB for this arch.
|
||||
@ -609,7 +609,7 @@ endif
|
||||
# endif
|
||||
ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.28 ; echo $$?),0)
|
||||
# strip segfaults on libFuzzer.a
|
||||
dh_strip -a -v -XlibFuzzer.a -Xlibc++.a -Xlibc++abi.a
|
||||
dh_strip -a -v -XlibFuzzer.a -Xlibc++.a -Xlibc++abi.a -Xlibc++experimental.a
|
||||
else
|
||||
dh_strip -a -v
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user