Your message dated Sat, 26 Aug 2017 17:11:44 +0200
with message-id <[email protected]>
and subject line 
has caused the Debian Bug report #864311,
regarding llvm-toolchain-3.9: armhf SIGILL when compiling rustc 1.17.0, need to 
backport upstream D31265
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
864311: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864311
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: llvm-toolchain-3.9
Version: 1:3.9.1-9
Severity: important
Tags: upstream patch

Dear Maintainer,

LLVM 3.9 cannot compile rustc 1.17.0 on armhf, one needs to apply this patch 
(already in LLVM trunk):

https://reviews.llvm.org/D31265

It is attached as a debdiff for your convenience.

For more info see:

https://github.com/rust-lang/llvm/pull/67
https://github.com/rust-lang/rust/issues/41291 (failure on Fedora)
https://github.com/rust-lang/rust/issues/42477 (failure on Debian)

This may affect other projects besides rustc; I'll leave it to you whether to 
treat this as RC for stretch. We're not targetting rustc 1.17.0 for stretch so 
it is not RC for rustc's purposes.

X

-- System Information:
Debian Release: 9.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'buildd-unstable'), (300, 'unstable'), (100, 
'experimental'), (1, 'experimental-debug')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB:en 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru llvm-toolchain-3.9-3.9.1/debian/changelog 
llvm-toolchain-3.9-3.9.1/debian/changelog
--- llvm-toolchain-3.9-3.9.1/debian/changelog   2017-06-04 18:04:00.000000000 
+0000
+++ llvm-toolchain-3.9-3.9.1/debian/changelog   2017-06-06 12:27:50.000000000 
+0000
@@ -1,3 +1,10 @@
+llvm-toolchain-3.9 (1:3.9.1-9.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix a rustc armhf SIGILL by backporting upstream D31265.
+
+ -- Ximin Luo <[email protected]>  Tue, 06 Jun 2017 12:27:50 +0000
+
 llvm-toolchain-3.9 (1:3.9.1-9) unstable; urgency=medium
 
   * debian/patches/fix-R_AARCH64_MOVW_UABS_G3-relocation.patch:
diff -Nru 
llvm-toolchain-3.9-3.9.1/debian/patches/rust-0032-Fix-computeKnownBits-for-ARMISD-CMOV.patch
 
llvm-toolchain-3.9-3.9.1/debian/patches/rust-0032-Fix-computeKnownBits-for-ARMISD-CMOV.patch
--- 
llvm-toolchain-3.9-3.9.1/debian/patches/rust-0032-Fix-computeKnownBits-for-ARMISD-CMOV.patch
        1970-01-01 00:00:00.000000000 +0000
+++ 
llvm-toolchain-3.9-3.9.1/debian/patches/rust-0032-Fix-computeKnownBits-for-ARMISD-CMOV.patch
        2017-06-06 12:27:50.000000000 +0000
@@ -0,0 +1,70 @@
+From a6fa10c14649c18d299cddf3e823b032460cb6f5 Mon Sep 17 00:00:00 2001
+From: Pirama Arumuga Nainar <[email protected]>
+Date: Thu, 23 Mar 2017 16:47:47 +0000
+Subject: [PATCH 32/32] Fix computeKnownBits for ARMISD::CMOV
+
+Summary:
+The true and false operands for the CMOV are operands 0 and 1.
+ARMISelLowering.cpp::computeKnownBits was looking at operands 1 and 2
+instead.  This can cause CMOV instructions to be incorrectly folded into
+BFI if value set by the CMOV is another CMOV, whose known bits are
+computed incorrectly.
+
+This patch fixes the issue and adds a test case.
+
+Reviewers: kristof.beyls, jmolloy
+
+Subscribers: llvm-commits, aemerson, srhines, rengolin
+
+Differential Revision: https://reviews.llvm.org/D31265
+
+git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298624 
91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ lib/Target/ARM/ARMISelLowering.cpp |  4 ++--
+ test/CodeGen/ARM/no-cmov2bfi.ll    | 19 +++++++++++++++++++
+ 2 files changed, 21 insertions(+), 2 deletions(-)
+ create mode 100644 test/CodeGen/ARM/no-cmov2bfi.ll
+
+diff --git a/lib/Target/ARM/ARMISelLowering.cpp 
b/lib/Target/ARM/ARMISelLowering.cpp
+index 4a227a3cd7b..cf98e60c065 100644
+--- a/lib/Target/ARM/ARMISelLowering.cpp
++++ b/lib/Target/ARM/ARMISelLowering.cpp
+@@ -10806,8 +10806,8 @@ static void computeKnownBits(SelectionDAG &DAG, 
SDValue Op, APInt &KnownZero,
+   if (Op.getOpcode() == ARMISD::CMOV) {
+     APInt KZ2(KnownZero.getBitWidth(), 0);
+     APInt KO2(KnownOne.getBitWidth(), 0);
+-    computeKnownBits(DAG, Op.getOperand(1), KnownZero, KnownOne);
+-    computeKnownBits(DAG, Op.getOperand(2), KZ2, KO2);
++    computeKnownBits(DAG, Op.getOperand(0), KnownZero, KnownOne);
++    computeKnownBits(DAG, Op.getOperand(1), KZ2, KO2);
+ 
+     KnownZero &= KZ2;
+     KnownOne &= KO2;
+diff --git a/test/CodeGen/ARM/no-cmov2bfi.ll b/test/CodeGen/ARM/no-cmov2bfi.ll
+new file mode 100644
+index 00000000000..c8b51204890
+--- /dev/null
++++ b/test/CodeGen/ARM/no-cmov2bfi.ll
+@@ -0,0 +1,19 @@
++; RUN: llc < %s -mtriple=thumbv7 | FileCheck --check-prefix=CHECK-NOBFI %s
++
++declare zeroext i1 @dummy()
++
++define i8 @test(i8 %a1, i1 %c) {
++; CHECK-NOBFI-NOT: bfi
++; CHECK-NOBFI: bl      dummy
++; CHECK-NOBFI: cmp     r0, #0
++; CHECK-NOBFI: it      ne
++; CHECK-NOBFI: orrne   [[REG:r[0-9]+]], [[REG]], #8
++; CHECK-NOBFI: mov     r0, [[REG]]
++
++  %1 = and i8 %a1, -9
++  %2 = select i1 %c, i8 %1, i8 %a1
++  %3 = tail call zeroext i1 @dummy()
++  %4 = or i8 %2, 8
++  %ret = select i1 %3, i8 %4, i8 %2
++  ret i8 %ret
++}
+-- 
+2.11.0
+
diff -Nru llvm-toolchain-3.9-3.9.1/debian/patches/series 
llvm-toolchain-3.9-3.9.1/debian/patches/series
--- llvm-toolchain-3.9-3.9.1/debian/patches/series      2017-06-04 
11:15:58.000000000 +0000
+++ llvm-toolchain-3.9-3.9.1/debian/patches/series      2017-06-06 
12:27:50.000000000 +0000
@@ -50,3 +50,4 @@
 857623-allow-opencl-pointer-to-bool.diff
 add_symbols_versioning.patch
 fix-R_AARCH64_MOVW_UABS_G3-relocation.patch
+rust-0032-Fix-computeKnownBits-for-ARMISD-CMOV.patch

--- End Message ---
--- Begin Message ---
fixed 864311 3.9.1-10~exp1
thanks

--- End Message ---

Reply via email to