mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-06-28 20:44:40 +00:00
Merge branch '6.0' of salsa.debian.org:pkg-llvm-team/llvm-toolchain into 6.0
This commit is contained in:
commit
d861c56495
20
debian/changelog
vendored
20
debian/changelog
vendored
@ -3,7 +3,25 @@ llvm-toolchain-6.0 (1:6.0.1-6) unstable; urgency=medium
|
|||||||
* Remove libtool flex, bison, dejagnu, tcl, expect,
|
* Remove libtool flex, bison, dejagnu, tcl, expect,
|
||||||
and perl from the build deps (testing)
|
and perl from the build deps (testing)
|
||||||
|
|
||||||
-- Sylvestre Ledru <sylvestre@debian.org> Sun, 26 Aug 2018 13:58:40 +0200
|
[ John Paul Adrian Glaubitz ]
|
||||||
|
* Don't build with ld.gold on powerpcspe
|
||||||
|
* Disable polly on powerpcspe
|
||||||
|
* Cherry-pick upstream patch to make rustc build on ppc
|
||||||
|
|
||||||
|
[ Gianfranco Costamagna ]
|
||||||
|
* Team upload
|
||||||
|
* Upload to unstable
|
||||||
|
* Enable lld on ppc64el
|
||||||
|
* Add liblldb-6.0-dev to python-lldb runtime dependencies, needed to import it
|
||||||
|
|
||||||
|
-- Sylvestre Ledru <sylvestre@debian.org> Sun, 26 Aug 2018 14:00:14 +0200
|
||||||
|
|
||||||
|
llvm-toolchain-6.0 (1:6.0.1-5exp1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* Enable lld on arm64, mips64el
|
||||||
|
* Enable lldb on mips64el
|
||||||
|
|
||||||
|
-- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 17 Aug 2018 17:36:03 +0200
|
||||||
|
|
||||||
llvm-toolchain-6.0 (1:6.0.1-5) unstable; urgency=medium
|
llvm-toolchain-6.0 (1:6.0.1-5) unstable; urgency=medium
|
||||||
|
|
||||||
|
30
debian/control
vendored
30
debian/control
vendored
@ -377,8 +377,8 @@ Description: Modular compiler and toolchain technologies, examples
|
|||||||
# ------------- lld -------------
|
# ------------- lld -------------
|
||||||
|
|
||||||
Package: lld-6.0
|
Package: lld-6.0
|
||||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel
|
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 mips mipsel hurd powerpc ppc64el have been removed
|
# ia64 hurd powerpc have been removed
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm6.0 (= ${binary:Version}), llvm-6.0-dev
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm6.0 (= ${binary:Version}), llvm-6.0-dev
|
||||||
Pre-Depends: ${misc:Pre-Depends}
|
Pre-Depends: ${misc:Pre-Depends}
|
||||||
Description: LLVM-based linker
|
Description: LLVM-based linker
|
||||||
@ -387,8 +387,8 @@ Description: LLVM-based linker
|
|||||||
Project.
|
Project.
|
||||||
|
|
||||||
Package: liblld-6.0
|
Package: liblld-6.0
|
||||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel
|
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 mips mipsel hurd powerpc ppc64el have been removed
|
# ia64 hurd powerpc have been removed
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm6.0 (= ${binary:Version})
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm6.0 (= ${binary:Version})
|
||||||
Pre-Depends: ${misc:Pre-Depends}
|
Pre-Depends: ${misc:Pre-Depends}
|
||||||
Section: libs
|
Section: libs
|
||||||
@ -401,8 +401,8 @@ Description: LLVM-based linker, library
|
|||||||
|
|
||||||
Package: liblld-6.0-dev
|
Package: liblld-6.0-dev
|
||||||
Section: libdevel
|
Section: libdevel
|
||||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel
|
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 mips mipsel hurd powerpc ppc64el have been removed
|
# ia64 hurd powerpc have been removed
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, lld-6.0 (= ${binary:Version}),
|
Depends: ${shlibs:Depends}, ${misc:Depends}, lld-6.0 (= ${binary:Version}),
|
||||||
liblld-6.0 (= ${binary:Version})
|
liblld-6.0 (= ${binary:Version})
|
||||||
Pre-Depends: ${misc:Pre-Depends}
|
Pre-Depends: ${misc:Pre-Depends}
|
||||||
@ -417,8 +417,8 @@ Description: LLVM-based linker, header files
|
|||||||
# ------------- lldb -------------
|
# ------------- lldb -------------
|
||||||
|
|
||||||
Package: lldb-6.0
|
Package: lldb-6.0
|
||||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32 mips mipsel arm64 ppc64el
|
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32
|
||||||
# ia64 mips mipsel hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm6.0 (= ${binary:Version}), llvm-6.0-dev,
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm6.0 (= ${binary:Version}), llvm-6.0-dev,
|
||||||
python-lldb-6.0
|
python-lldb-6.0
|
||||||
Pre-Depends: ${misc:Pre-Depends}
|
Pre-Depends: ${misc:Pre-Depends}
|
||||||
@ -428,8 +428,8 @@ Description: Next generation, high-performance debugger
|
|||||||
Project, such as the Clang expression parser and LLVM disassembler.
|
Project, such as the Clang expression parser and LLVM disassembler.
|
||||||
|
|
||||||
Package: liblldb-6.0
|
Package: liblldb-6.0
|
||||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32 mips mipsel arm64 ppc64el
|
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32
|
||||||
# ia64 mips mipsel hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm6.0 (= ${binary:Version})
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm6.0 (= ${binary:Version})
|
||||||
Pre-Depends: ${misc:Pre-Depends}
|
Pre-Depends: ${misc:Pre-Depends}
|
||||||
Section: libs
|
Section: libs
|
||||||
@ -444,9 +444,9 @@ Description: Next generation, high-performance debugger, library
|
|||||||
|
|
||||||
Package: python-lldb-6.0
|
Package: python-lldb-6.0
|
||||||
Section: python
|
Section: python
|
||||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32 mips mipsel arm64 ppc64el
|
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32
|
||||||
# ia64 mips mipsel hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, python, python-six
|
Depends: ${shlibs:Depends}, ${misc:Depends}, liblldb-6.0-dev, python, python-six
|
||||||
Conflicts: python-lldb-3.8, python-lldb-3.9, python-lldb-x.y
|
Conflicts: python-lldb-3.8, python-lldb-3.9, python-lldb-x.y
|
||||||
Replaces: python-lldb-x.y
|
Replaces: python-lldb-x.y
|
||||||
Provides: python-lldb-x.y
|
Provides: python-lldb-x.y
|
||||||
@ -461,8 +461,8 @@ Description: Next generation, high-performance debugger, python lib
|
|||||||
|
|
||||||
Package: liblldb-6.0-dev
|
Package: liblldb-6.0-dev
|
||||||
Section: libdevel
|
Section: libdevel
|
||||||
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32 mips mipsel arm64 ppc64el
|
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k sh4 x32
|
||||||
# ia64 mips mipsel hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
# ia64 hurd powerpc powerpcspe ppc64 alpha s390x sparc64 have been removed
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-6.0 (= ${binary:Version})
|
Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-6.0 (= ${binary:Version})
|
||||||
Replaces: lldb-6.0-dev (<= 1:6.0~svn215195-2)
|
Replaces: lldb-6.0-dev (<= 1:6.0~svn215195-2)
|
||||||
Breaks: lldb-6.0-dev (<< 1:6.0~svn215195-2)
|
Breaks: lldb-6.0-dev (<< 1:6.0~svn215195-2)
|
||||||
|
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
|
||||||
|
+)
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -60,3 +60,4 @@ D42717-JumpThreading-backport-2.diff
|
|||||||
llvm-D49832-SCEVPred.patch
|
llvm-D49832-SCEVPred.patch
|
||||||
llvm-rL323946-LSRTy.patch
|
llvm-rL323946-LSRTy.patch
|
||||||
PowerPC-Make-AddrSpaceCast-noop.diff
|
PowerPC-Make-AddrSpaceCast-noop.diff
|
||||||
|
D51108.diff
|
||||||
|
6
debian/rules
vendored
6
debian/rules
vendored
@ -84,7 +84,7 @@ else
|
|||||||
control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev'
|
control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev'
|
||||||
endif
|
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)
|
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)))
|
ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
|
||||||
# -fused-ld=gold enables the gold linker (but is not supported by all archs / distro)
|
# -fused-ld=gold enables the gold linker (but is not supported by all archs / distro)
|
||||||
@ -96,7 +96,7 @@ endif
|
|||||||
|
|
||||||
# Enable polly (or not)
|
# Enable polly (or not)
|
||||||
POLLY_ENABLE=yes
|
POLLY_ENABLE=yes
|
||||||
ifeq (,$(filter-out $(DEB_HOST_ARCH), powerpc s390x))
|
ifeq (,$(filter-out $(DEB_HOST_ARCH), powerpc powerpcspe s390x))
|
||||||
POLLY_ENABLE=no
|
POLLY_ENABLE=no
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -145,7 +145,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
LLDB_ENABLE=yes
|
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
|
# hurd has threading issues
|
||||||
ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH)))
|
ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH)))
|
||||||
# Disable LLDB for this arch.
|
# Disable LLDB for this arch.
|
||||||
|
Loading…
Reference in New Issue
Block a user