Linux: LLVM 11 release cycle

Created on 20 Aug 2020  路  33Comments  路  Source: ClangBuiltLinux/linux

announcement

Most helpful comment

Maybe it is worth creating one issue for the whole release cycle as a call to action for testing? Such as "LLVM 11 release cycle" then making a comment whenever there is a new release candidate and closing when the final is released? These are somewhat useful to me because I can throw my testing framework at it (stable LLVM testing is the reason I initially wrote it after all) but I agree that as it stands, they are not clearly actionable.

I suppose we could do the same thing with Linux releases too.

All 33 comments

I don't mind announcements in general, but if we have one per release candidate, we might have a lot. They don't cost us anything, so I shouldn't care, but maybe announcements for final releases are more appropriate? For instance, this post may not be actionable to us.

Maybe it is worth creating one issue for the whole release cycle as a call to action for testing? Such as "LLVM 11 release cycle" then making a comment whenever there is a new release candidate and closing when the final is released? These are somewhat useful to me because I can throw my testing framework at it (stable LLVM testing is the reason I initially wrote it after all) but I agree that as it stands, they are not clearly actionable.

I suppose we could do the same thing with Linux releases too.

OK, LLVM 11 release cycle sounds good.

llvmorg-11.0.0-rc2 seems good against Linux 5.8.3:

ClangBuiltLinux clang version 11.0.0 (https://github.com/llvm/llvm-project 414f32a9e862b11f51063b75729278f8d81b12e9)
InstalledDir: /home/nathan/cbl/github/llvm-kernel-testing/toolchain/bin
GNU assembler (GNU Binutils) 2.35
Linux 5.8.3

arm32 multi_v5_defconfig successful in 0:01:18

arm32 multi_v5_defconfig qemu boot successful

arm32 aspeed_g5_defconfig successful in 0:01:11

arm32 aspeed_g5_defconfig qemu boot successful

arm32 multi_v7_defconfig successful in 0:02:33

arm32 multi_v7_defconfig qemu boot successful

arm32 allmodconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:12:31

arm32 allnoconfig successful in 0:00:22

arm32 allyesconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:17:19

arm32 debian config successful in 0:11:51

armv7hl fedora config successful in 0:07:58

armv7hl opensuse config successful in 0:08:35

arm64 defconfig successful in 0:03:56

arm64 defconfig qemu boot successful

arm64 allmodconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:14:01

arm64 allnoconfig successful in 0:00:19

arm64 allyesconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:13:03

arm64 debian config successful in 0:10:00

arm64 fedora config successful in 0:10:43

arm64 opensuse config successful in 0:13:32

mips malta_kvm_guest_defconfig successful in 0:01:28

mips malta_kvm_guest_defconfig qemu boot successful

mips malta_kvm_guest_defconfig plus CONFIG_CPU_BIG_ENDIAN=y successful in 0:01:25

mips malta_kvm_guest_defconfig plus CONFIG_CPU_BIG_ENDIAN=y qemu boot successful

powerpc ppc44x_defconfig successful in 0:00:48

powerpc ppc44x_defconfig qemu boot successful

powerpc allnoconfig successful in 0:00:16

powerpc pseries_defconfig successful in 0:01:57

powerpc pseries_defconfig qemu boot successful

powerpc powernv_defconfig successful in 0:02:16

powerpc powernv_defconfig qemu boot successful

powerpc ppc64le_defconfig successful in 0:02:11

ppc64le debian config successful in 0:08:32

ppc64le fedora config successful in 0:08:44

ppc64le opensuse config successful in 0:09:29

riscv defconfig successful in 0:00:50

riscv defconfig qemu boot successful

s390x defconfig successful in 0:03:05

s390x allmodconfig successful in 0:10:17

s390x allyesconfig successful in 0:12:07

s390x debian config successful in 0:06:00

s390x fedora config successful in 0:04:08

s390x opensuse config successful in 0:04:32

x86_64 defconfig successful in 0:01:35

x86_64 qemu boot successful

x86_64 allmodconfig successful in 0:14:39

x86_64 allyesconfig successful in 0:14:03

x86_64 allyesconfig at -O3 successful in 0:14:47

x86_64 archlinux config successful in 0:12:33

x86_64 debian config successful in 0:10:20

x86_64 fedora config successful in 0:10:22

x86_64 opensuse config successful in 0:11:56

[llvm-dev] [11.0.0 Release] Release status says:

There are currently six blocking bugs at
https://bugs.llvm.org/show_bug.cgi?id=46725
...
Once those issues are resolved, the plan is to tag rc3, after which we
can release if there are no bad surprises.

[1] https://lists.llvm.org/pipermail/llvm-dev/2020-September/144961.html

we're one of those: https://bugs.llvm.org/show_bug.cgi?id=47468 馃ぁ

[0] Bug 46725 (release-11.0.0) - [meta] 11.0.0 Release Blockers
https://bugs.llvm.org/show_bug.cgi?id=4672

[1] https://bugs.llvm.org/show_bug.cgi?id=47454
https://reviews.llvm.org/D87844
Cherry-pick # 1: commit 53d238a961d1 ("[CodeGen] Fixing inconsistent ABI mangling of vlaues in SelectionDAGBuilder")
Link: https://github.com/llvm/llvm-project/commit/53d238a961d1

[2] https://bugs.llvm.org/show_bug.cgi?id=47468
https://reviews.llvm.org/rGf7a53d82c0902147909f28a9295a9d00b4b27d38
Cherry-pick # 1: commit a0385bd7acd6 ("[llvm] Add contains(KeyType) -> bool methods to SmallPtrSet")
Link: https://github.com/llvm/llvm-project/commit/a0385bd7acd6
Cherry-pick # 2: commit f7a53d82c090 ("PR47468: Fix findPHICopyInsertPoint, so that copies aren't incorrectly inserted after an INLINEASM_BR.")
Link: https://github.com/llvm/llvm-project/commit/f7a53d82c090

[3] https://bugs.llvm.org/show_bug.cgi?id=47561
Cherry-pick #1: commit 788c7d2ec11d ("[clang][docs] Fix documentation of -O")
Link: https://github.com/llvm/llvm-project/commit/788c7d2ec11d

[4] https://bugs.llvm.org/show_bug.cgi?id=47589
Revert #1: commit b2eb43931757 ("[clang-format] Fix AlignConsecutive on PP blocks")
Link: https://github.com/llvm/llvm-project/commit/b2eb43931757

Git history log (cherry-picks plus revert):

$ git checkout b78e5de029c2 -b for-11.x/b78e5de029c2

$ git cherry-pick 53d238a961d1
automatischer Merge von llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
[for-11.x/b78e5de029c2 eda2df8998a9] [CodeGen] Fixing inconsistent ABI mangling of vlaues in SelectionDAGBuilder
 Author: Lucas Prates <[email protected]>
 Date: Thu Sep 17 18:07:35 2020 +0100
 2 files changed, 51 insertions(+), 28 deletions(-)
 create mode 100644 llvm/test/CodeGen/ARM/pr47454.ll

$ git cherry-pick a0385bd7acd6
[for-11.x/b78e5de029c2 a83d492d8149] [llvm] Add contains(KeyType) -> bool methods to SmallPtrSet
 Author: David Blaikie <[email protected]>
 Date: Fri Jul 17 10:41:35 2020 -0700
 2 files changed, 34 insertions(+), 3 deletions(-)

$ git cherry-pick f7a53d82c090
automatischer Merge von llvm/lib/CodeGen/PHIEliminationUtils.cpp
[for-11.x/b78e5de029c2 3ce96cc74156] PR47468: Fix findPHICopyInsertPoint, so that copies aren't incorrectly inserted after an INLINEASM_BR.
 Author: James Y Knight <[email protected]>
 Date: Thu Sep 17 18:10:19 2020 -0400
 2 files changed, 68 insertions(+), 20 deletions(-)
 create mode 100644 llvm/test/CodeGen/X86/callbr-asm-phi-placement.ll

$ git cherry-pick 788c7d2ec11d
automatischer Merge von clang/docs/CommandGuide/clang.rst
[for-11.x/b78e5de029c2 a03a76b44c4d] [clang][docs] Fix documentation of -O
 Author: Jessica Clarke <[email protected]>
 Date: Thu Sep 17 13:44:01 2020 +0100
 1 file changed, 1 insertion(+), 1 deletion(-)

$ git revert --no-edit b2eb43931757
automatischer Merge von clang/unittests/Format/FormatTest.cpp
automatischer Merge von clang/lib/Format/WhitespaceManager.cpp
automatischer Merge von clang/lib/Format/UnwrappedLineParser.cpp
automatischer Merge von clang/lib/Format/FormatToken.h
[for-11.x/b78e5de029c2 0d6e379cac11] Revert "[clang-format] Fix AlignConsecutive on PP blocks"
 Date: Tue Sep 22 09:57:52 2020 +0200
 5 files changed, 3 insertions(+), 59 deletions(-)

I have sent above 2 links to @zmodem and Hans has cherry-picked the 4 first commits.

[llvm-dev] [11.0.0 Release] Release Candidate 3 is here

[1] https://lists.llvm.org/pipermail/llvm-dev/2020-September/145233.html

llvmorg-11.0.0-rc3 looks good against mainline @ 805c6d3c1921, 5.4.66, and 5.8.10.

https://del.dog/raw/ikosilobun
https://del.dog/raw/yppumefugn
https://del.dog/raw/hohidoquxu

Links may eventually go invalid but I do not feel like uploading or copy and pasting them here :)

net/ethernet/marvell/mvpp2/mvpp2_main.c:580:41: warning: implicit conversion from 'unsigned long' to 'int' changes value from 18446744073709551584 to -32 [-Wconstant-conversion]

@davidbolvansky

Please check the ClangBuiltLinux issue-tracker if this was already reported.
If this is not the case please open a new issue.

This issue here is only to collect the status of the LLVM 11 release cycle and point to open so-called release-blockers (see meta-bug in [1]).

[1] https://bugs.llvm.org/show_bug.cgi?id=46725

Bug 47619 - regression with aarch64-linux: UNREACHABLE executed at ../include/llvm/Support/MachineValueType.h:756

Fixed in release/11.x Git:

commit 81eb1c1fa75c6407713b5657156d8d9149572bfe
"AArch64/GlobalISel: Reduced patch for bug 47619"

[0] https://bugs.llvm.org/show_bug.cgi?id=47619
[1] https://github.com/llvm/llvm-project/commit/81eb1c1fa75c6407713b5657156d8d9149572bfe

llvmorg-11.0.0-rc5 still looks good against 5.8.12.

ClangBuiltLinux clang version 11.0.0 (https://github.com/llvm/llvm-project 60a25202a7dd1e00067fcfce512086ebf3788537)
InstalledDir: /home/nathan/cbl/toolchains/llvm-11.0.0-rc5/bin
GNU assembler (GNU Binutils) 2.35.1
Linux 5.8.12-cbl

arm32 multi_v5_defconfig successful in 0:00:53

arm32 multi_v5_defconfig qemu boot successful

arm32 aspeed_g5_defconfig successful in 0:00:48

arm32 aspeed_g5_defconfig qemu boot successful

arm32 multi_v7_defconfig successful in 0:01:38

arm32 multi_v7_defconfig qemu boot successful

arm32 allmodconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:07:03

arm32 allnoconfig successful in 0:00:11

arm32 allyesconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:07:20

arm32 debian config successful in 0:04:52

armv7hl fedora config successful in 0:05:01

armv7hl opensuse config successful in 0:05:27

arm64 defconfig successful in 0:02:32

arm64 defconfig qemu boot successful

arm64 allmodconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:08:47

arm64 allnoconfig successful in 0:00:12

arm64 allyesconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:09:07

arm64 debian config successful in 0:06:24

arm64 fedora config successful in 0:06:45

arm64 opensuse config successful in 0:08:35

mips malta_kvm_guest_defconfig successful in 0:00:55

mips malta_kvm_guest_defconfig qemu boot successful

mips malta_kvm_guest_defconfig plus CONFIG_CPU_BIG_ENDIAN=y successful in 0:00:54

mips malta_kvm_guest_defconfig plus CONFIG_CPU_BIG_ENDIAN=y qemu boot successful

powerpc ppc44x_defconfig successful in 0:00:30

powerpc ppc44x_defconfig qemu boot successful

powerpc allnoconfig successful in 0:00:10

powerpc pseries_defconfig successful in 0:01:16

powerpc pseries_defconfig qemu boot successful

powerpc powernv_defconfig successful in 0:01:30

powerpc powernv_defconfig qemu boot successful

powerpc ppc64le_defconfig successful in 0:01:26

ppc64le debian config successful in 0:05:24

ppc64le fedora config successful in 0:05:32

ppc64le opensuse config successful in 0:06:04

riscv defconfig successful in 0:00:31

riscv defconfig qemu boot successful

s390x defconfig successful in 0:01:59

s390x allmodconfig successful in 0:06:29

s390x allyesconfig successful in 0:09:21

s390x debian config successful in 0:03:50

s390x fedora config successful in 0:02:42

s390x opensuse config successful in 0:02:55

x86_64 defconfig successful in 0:01:02

x86_64 qemu boot successful

x86_64 allmodconfig successful in 0:09:10

x86_64 allyesconfig successful in 0:09:34

x86_64 allyesconfig at -O3 successful in 0:10:01

x86_64 archlinux config successful in 0:07:58

x86_64 debian config successful in 0:06:34

x86_64 fedora config successful in 0:06:33

x86_64 opensuse config successful in 0:07:37

I will try to test mainline and 5.4 later.

Mainline (including Sami's LTO/CFI tree):

ClangBuiltLinux clang version 11.0.0 (https://github.com/llvm/llvm-project 60a25202a7dd1e00067fcfce512086ebf3788537)
InstalledDir: /home/nathan/cbl/toolchains/llvm-11.0.0-rc5/bin
GNU assembler (GNU Binutils) 2.35.1
Linux 5.9.0-rc7-cbl-00027-g60e720931556

arm32 multi_v5_defconfig successful in 0:00:50

arm32 multi_v5_defconfig qemu boot successful

arm32 aspeed_g5_defconfig successful in 0:00:48

arm32 aspeed_g5_defconfig qemu boot successful

arm32 multi_v7_defconfig successful in 0:01:38

arm32 multi_v7_defconfig qemu boot successful

arm32 allmodconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:07:29

arm32 allnoconfig successful in 0:00:17

arm32 allyesconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:07:23

arm32 debian config successful in 0:04:52

armv7hl fedora config successful in 0:05:07

armv7hl opensuse config successful in 0:05:36

arm64 defconfig successful in 0:02:40

arm64 defconfig qemu boot successful

arm64 allmodconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:09:05

arm64 allnoconfig successful in 0:00:12

arm64 allyesconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:09:21

arm64 debian config successful in 0:06:28

arm64 fedora config successful in 0:06:54

arm64 opensuse config successful in 0:08:43

mips malta_kvm_guest_defconfig successful in 0:00:55

mips malta_kvm_guest_defconfig qemu boot successful

mips malta_kvm_guest_defconfig plus CONFIG_CPU_BIG_ENDIAN=y successful in 0:00:54

mips malta_kvm_guest_defconfig plus CONFIG_CPU_BIG_ENDIAN=y qemu boot successful

powerpc ppc44x_defconfig successful in 0:00:30

powerpc ppc44x_defconfig qemu boot successful

powerpc allnoconfig successful in 0:00:10

powerpc pseries_defconfig successful in 0:01:16

powerpc pseries_defconfig qemu boot successful

powerpc powernv_defconfig successful in 0:01:29

powerpc powernv_defconfig qemu boot successful

powerpc ppc64le_defconfig successful in 0:01:26

ppc64le debian config successful in 0:05:30

ppc64le fedora config successful in 0:05:38

ppc64le opensuse config successful in 0:06:08

riscv defconfig successful in 0:00:31

riscv defconfig qemu boot successful

s390x defconfig successful in 0:01:58

s390x allmodconfig successful in 0:06:35

s390x allyesconfig successful in 0:09:32

s390x debian config successful in 0:03:49

s390x fedora config successful in 0:02:36

s390x opensuse config successful in 0:02:53

x86_64 defconfig successful in 0:01:00

x86_64 qemu boot successful

x86_64 allmodconfig successful in 0:09:11

x86_64 allyesconfig successful in 0:09:40

x86_64 allyesconfig at -O3 (minus CONFIG_VIDEO_TI_CAL) successful in 0:10:10

x86_64 archlinux config successful in 0:07:57

x86_64 debian config successful in 0:06:24

x86_64 fedora config successful in 0:06:30

x86_64 opensuse config successful in 0:07:30

arm64 defconfig (plus CONFIG_{LTO,CFI}_CLANG and CONFIG_DYNAMIC_FTRACE_WITH_REGS) successful in 0:07:36

arm64 defconfig (plus CONFIG_{LTO,CFI}_CLANG and CONFIG_DYNAMIC_FTRACE_WITH_REGS) qemu boot successful

x86_64 defconfig (plus CONFIG_{LTO,CFI}_CLANG) successful in 0:01:39

x86_64 defconfig (plus CONFIG_{LTO,CFI}_CLANG) qemu boot successful

and 5.4:

ClangBuiltLinux clang version 11.0.0 (https://github.com/llvm/llvm-project 60a25202a7dd1e00067fcfce512086ebf3788537)
InstalledDir: /home/nathan/cbl/toolchains/llvm-11.0.0-rc5/bin
GNU assembler (GNU Binutils) 2.35.1
Linux 5.4.68-cbl

arm32 multi_v5_defconfig successful in 0:00:45

arm32 multi_v5_defconfig qemu boot successful

arm32 aspeed_g5_defconfig successful in 0:00:40

arm32 aspeed_g5_defconfig qemu boot successful

arm32 multi_v7_defconfig successful in 0:01:22

arm32 multi_v7_defconfig qemu boot successful

arm32 allmodconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:06:19

arm32 allnoconfig successful in 0:00:12

arm32 allyesconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:06:26

arm32 debian config successful in 0:04:22

armv7hl fedora config successful in 0:04:22

armv7hl opensuse config successful in 0:04:46

arm64 defconfig successful in 0:02:11

arm64 defconfig qemu boot successful

arm64 allmodconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:07:16

arm64 allnoconfig successful in 0:00:13

arm64 allyesconfig (plus CONFIG_CPU_BIG_ENDIAN=n) successful in 0:07:44

arm64 debian config successful in 0:05:34

arm64 fedora config successful in 0:05:37

arm64 opensuse config successful in 0:07:12

mips malta_kvm_guest_defconfig successful in 0:00:51

mips malta_kvm_guest_defconfig qemu boot successful

mips malta_kvm_guest_defconfig plus CONFIG_CPU_BIG_ENDIAN=y successful in 0:00:49

mips malta_kvm_guest_defconfig plus CONFIG_CPU_BIG_ENDIAN=y qemu boot successful

powerpc ppc44x_defconfig successful in 0:00:29

powerpc ppc44x_defconfig qemu boot successful

powerpc allnoconfig successful in 0:00:10

powerpc pseries_defconfig successful in 0:01:08

powerpc pseries_defconfig qemu boot successful

powerpc powernv_defconfig successful in 0:01:22

powerpc powernv_defconfig qemu boot successful

powerpc ppc64le_defconfig successful in 0:01:13

ppc64le debian config successful in 0:04:56

ppc64le fedora config successful in 0:04:56

ppc64le opensuse config successful in 0:05:20

x86_64 defconfig successful in 0:00:57

x86_64 qemu boot successful

x86_64 allmodconfig (minus CONFIG_STM and CONFIG_TEST_MEMCAT_P) successful in 0:08:33

x86_64 allyesconfig successful in 0:08:41

x86_64 allyesconfig at -O3 (minus CONFIG_SENSORS_APPLESMC) successful in 0:09:01

x86_64 archlinux config (minus CONFIG_STM) successful in 0:07:33

x86_64 debian config successful in 0:06:30

x86_64 fedora config (minus CONFIG_STM and CONFIG_TEST_MEMCAT_P) successful in 0:06:29

x86_64 opensuse config (minus CONFIG_STM) successful in 0:07:16

both look good to me as well.

@nathanchance

Thanks for the update.

From where do you have the $arch debian config(s)?

I would like to see the full kernel-configs, especially I am interested in the x86_64 debian config for upcoming Linux v5.9.

OK.

There is linux-image-5.9.0-rc6-amd6 in Debian/experimental available.

In the snippet where you pointed me:
5.8.10-1 is the Debian package version (upstream-version plus debian-revision) and 5.8.0-2 is sort of a kernel-version whereas 2 stand for the current debian-kernel abi-version (Debian respects stable ABI versions) and 5.8.0 represents Linux v5.8.y and y=0 will not change even there is a higher Linux (upstream) version like 5.8.13.
Maybe use DEB_KER_VER=5.8.0-2 and DEB_PKG_VER=5.8.10-1.

[1] https://packages.debian.org/linux-image-5.9.0
[2] https://packages.debian.org/experimental/amd64/linux-image-5.9.0-rc6-amd64/download

To generate the lastest Debian-kernel config:

SALSA_URL="https://salsa.debian.org/kernel-team/linux"

wget -O debian-config.config ${SALSA_URL}/-/raw/master/debian/config/config
wget -O debian-config.kernelarch-x86 ${SALSA_URL}/-/raw/master/debian/config/kernelarch-x86/config
wget -O debian-config.amd64 ${SALSA_URL}/-/raw/master/debian/config/amd64/config

cat debian-config.config debian-config.kernelarch-x86 debian-config.amd64 > debian-config.latest

@dileks thanks for testing https://bugs.llvm.org/show_bug.cgi?id=47735 on clang-11 branch!

With the release of Linux version 5.9 final I tried a build with LLVM toolchain version 11.0.0-rc6.

I did a build with clang-cfi integrated and some assorted Clang fixes (mostly pending in Linux-next, here in CBL and elsewhere).

So far, I do not see any severe problems here on my Debian AMD64 system.
I did a lot of builds in any RC cycles starting with v5.9-rc2, but I can miss something.

I am interested in your feedback and hope to see LLVM toolchain version 11.0.0 final this week.

@nathanchance I much appreciate your report & testing (for me it is OK to wait when both finals are available).

LLVM toolchain version 11.0.0 final released.

[1] https://github.com/llvm/llvm-project/releases/tag/llvmorg-11.0.0
[2] https://lists.llvm.org/pipermail/llvm-dev/2020-October/145750.html

Update: Add Link to release announcement.

New LLVM bugs should be marked blockers for the 11.0.1 meta bug: https://bugs.llvm.org/show_bug.cgi?id=47800

LLVM toolchain version 11.0.1-rc1 released.

[1] https://github.com/llvm/llvm-project/releases/tag/llvmorg-11.0.1-rc1

going to close this now that the final v11 release is done. Let's follow up in a v12 bug?

@nickdesaulniers
OK

Was this page helpful?
0 / 5 - 0 ratings