Bug#842956: llvm-3.9-dev: Please backport 279980 since rustc 1.12.1 needs it

Ximin Luo infinity0 at debian.org
Wed Nov 2 15:52:14 UTC 2016


Package: llvm-3.9-dev
Version: 1:3.9-4
Severity: important
Tags: patch

Dear Maintainer,

Please apply the patch here:
https://reviews.llvm.org/rL279980

Otherwise issue-36023.rs in rustc 1.12.1 will compile but segfault when run:
https://github.com/rust-lang/rust/issues/36023
https://llvm.org/bugs/show_bug.cgi?id=29163

To clarify my earlier comments on IRC, the other patch you already applied is correct and should be kept:
https://reviews.llvm.org/rL281650

Otherwise issue-36474.rs in rustc 1.12.1 will infinite-loop when trying to compile it:
https://github.com/rust-lang/rust/issues/36474
https://llvm.org/bugs/show_bug.cgi?id=30402

In summary, both patches are needed.

X

----

In fact, here is the full list of differences between rustc's LLVM (stable branch) and ours:

rust.git$ git show --decorate=full
commit d4f39402a0c2c2b94ec0375cd7f7f6d7918113cd (HEAD, tag: refs/tags/1.12.1, refs/remotes/upstream/stable)
Merge: 3191fba 2d49342
Author: Brian Anderson <andersrb at gmail.com>
Date:   Wed Oct 19 11:22:49 2016 -0700

    Merge pull request #37173 from brson/stable-next
    
    [stable] Backports for 1.12.1

rust.git$ cd src/llvm/
rust.git$ git show 
commit ac1c94226e9fa17005ce7e2dd52dd6d1875f3137
Merge: abbf675 9b74379
Author: Alex Crichton <alex at alexcrichton.com>
Date:   Sat Oct 8 11:02:12 2016 -0700

    Merge pull request #54 from arielb1/cleanup-is-not-a-jump
    
    Backport "[SimplifyCFG] Correctly test for unconditional branches in GetCaseResults"

rust.git$ git format-patch 4105790 # 4105790 and earlier are already applied to our LLVM
0001-Add-some-Rust-allocation-functions-to-TargetLibraryI.patch
0002-Add-support-for-i1-compare-operations-to-X86-FastISe.patch
0003-Disable-the-PassInfo-cache-assertions-to-make-the-ca.patch
0004-Fix-cross-compiling-to-FreeBSD.patch
0005-Don-t-compile-usage-of-std-thread.patch
0006-Add-accessors-for-MCSubtargetInfo-CPU-and-Feature-ta.patch
0007-InstCombine-Infer-inbounds-on-geps-of-allocas.patch
0008-InstSimplify-Try-hard-to-simplify-pointer-comparison.patch
0009-InstSimplify-Fold-gep-gep-V-C-sub-0-V-to-C.patch
0010-InstSimplify-Fold-gep-gep-V-C-xor-V-1-to-C-1.patch
0011-SimplifyCFG-Hoisting-invalidates-metadata.patch
0012-Run-GVN-again-after-InstCombine.patch
0013-Backport-rL281650.patch
0014-Import-of-fastcomp-commit-4105790f1549808c1f1daa5250.patch
0015-SimplifyCFG-Correctly-test-for-unconditional-branche.patch
0016-Propagate-DBG_VALUE-entries-when-there-are-unvisited.patch
0017-Teach-LiveDebugValues-about-lexical-scopes.patch

In 1:3.9-4 you applied 0013, and this bug report is me asking you to apply
0011. However if these two don't make our rustc work, then the heavy-handed
approach would be to apply all of the above patches. I've tested that these
apply cleanly to our LLVM 1:3.9-4, but not yet built the thing.

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'stable'), (300, 'unstable'), (200, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.7.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)



More information about the Pkg-llvm-team mailing list