mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-06-28 16:58:49 +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,
|
||||
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
|
||||
|
||||
|
30
debian/control
vendored
30
debian/control
vendored
@ -377,8 +377,8 @@ Description: Modular compiler and toolchain technologies, examples
|
||||
# ------------- lld -------------
|
||||
|
||||
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
|
||||
# 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}, libllvm6.0 (= ${binary:Version}), llvm-6.0-dev
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Description: LLVM-based linker
|
||||
@ -387,8 +387,8 @@ Description: LLVM-based linker
|
||||
Project.
|
||||
|
||||
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
|
||||
# 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}, libllvm6.0 (= ${binary:Version})
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Section: libs
|
||||
@ -401,8 +401,8 @@ Description: LLVM-based linker, library
|
||||
|
||||
Package: liblld-6.0-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-6.0 (= ${binary:Version}),
|
||||
liblld-6.0 (= ${binary:Version})
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
@ -417,8 +417,8 @@ Description: LLVM-based linker, header files
|
||||
# ------------- lldb -------------
|
||||
|
||||
Package: lldb-6.0
|
||||
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}, libllvm6.0 (= ${binary:Version}), llvm-6.0-dev,
|
||||
python-lldb-6.0
|
||||
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.
|
||||
|
||||
Package: liblldb-6.0
|
||||
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}, libllvm6.0 (= ${binary:Version})
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Section: libs
|
||||
@ -444,9 +444,9 @@ Description: Next generation, high-performance debugger, library
|
||||
|
||||
Package: python-lldb-6.0
|
||||
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
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, python, python-six
|
||||
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-6.0-dev, python, python-six
|
||||
Conflicts: python-lldb-3.8, python-lldb-3.9, python-lldb-x.y
|
||||
Replaces: 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
|
||||
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-6.0 (= ${binary:Version})
|
||||
Replaces: 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-rL323946-LSRTy.patch
|
||||
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'
|
||||
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)
|
||||
@ -96,7 +96,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
|
||||
|
||||
@ -145,7 +145,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.
|
||||
|
Loading…
Reference in New Issue
Block a user