Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aspeed_g5_defconfig (arm32_v6) fails to boot with LLVM_IAS=1 #1313

Closed
nickdesaulniers opened this issue Feb 26, 2021 · 9 comments
Closed

aspeed_g5_defconfig (arm32_v6) fails to boot with LLVM_IAS=1 #1313

nickdesaulniers opened this issue Feb 26, 2021 · 9 comments
Labels
[ARCH] arm32 This bug impacts ARCH=arm [BUG] Untriaged Something isn't working [TOOL] integrated-as The issue is relevant to LLVM integrated assembler

Comments

@nickdesaulniers
Copy link
Member

$ ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make LLVM=1 LLVM_IAS=1 -j72 aspeed_g5_defconfig

Was looking to enable LLVM_IAS=1 for each of our 32b arm targets, looks like this has a boot failure.

@nickdesaulniers nickdesaulniers added [BUG] Untriaged Something isn't working [TOOL] integrated-as The issue is relevant to LLVM integrated assembler [ARCH] arm32 This bug impacts ARCH=arm labels Feb 26, 2021
@nathanchance
Copy link
Member

I cannot reproduce this with LLVM at b183cbfacd32ef7ac128ec0327c5972fd7e7f9c6 and Linux at 8b83369. I am testing with QEMU master though so maybe that could be it?

$ make -skj"$(nproc)" ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- LLVM=1 LLVM_IAS=1 O=build/arm distclean aspeed_g5_defconfig all
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]                                                                                                                                    clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]

$ ../../github/boot-utils/boot-qemu.sh -a arm32_v6 -k build/arm -t 20s
...
[    0.000000] Linux version 5.11.0-11482-g8b83369ddcb (nathan@debian-n2-xlarge-x86) (ClangBuiltLinux clang version 13.0.0 (https://github.com/llvm/llvm-project b183cbfacd32ef7ac128ec0327c5972fd7e7f9c6), LLD 13.0.0 (https://github.com/llvm/llvm-project b183cbfacd32ef7ac128ec0327c5972fd7e7f9c6)) #1 SMP Fri Feb 26 14:29:22 MST 2021
...

I tried tuxmake as well and it also booted:

$ tuxmake -a arm -k aspeed_g5_defconfig -r podman -t clang-nightly -w ccache LLVM=1 LLVM_IAS=1
...

$ (cd "${HOME}"/.cache/tuxmake/builds/2 && tar -xJf dtbs.tar.xz)

$ ../../github/boot-utils/boot-qemu.sh -a arm32_v6 -k "${HOME}"/.cache/tuxmake/builds/2/zImage -t 20s
...
[    0.000000] Linux version 5.11.0-11482-g8b83369ddcb3 (tuxmake@50ee4a87f5cd) (Debian clang version 13.0.0-++20210223111116+16ede0956cb1-1~exp1~20210223101845.3803, LLD 13.0.0) #2 SMP Fri Feb 26 21:38:13 UTC 2021
...

nickdesaulniers added a commit to ClangBuiltLinux/continuous-integration2 that referenced this issue Feb 26, 2021
arm32_v6 isn't booting with IAS:
ClangBuiltLinux/linux#1313

arm32_v7 is blocked on one last build issue:
ClangBuiltLinux/linux#1286

arm32_all{mod|yes}config is blocked on some patches that will probably
land in the 5.12 merge window:
https://www.armlinux.org.uk/developer/patches/viewpatch.php?id=9061/1
https://www.armlinux.org.uk/developer/patches/viewpatch.php?id=9062/1

I need to go chase backports back to 4.19.
@nickdesaulniers
Copy link
Member Author

$ qemu-system-arm --version
QEMU emulator version 5.2.0 (Debian 1:5.2+dfsg-3)

@nickdesaulniers
Copy link
Member Author

nickdesaulniers commented Feb 26, 2021

@danrue @terceiro what version of qemu is tuxmake using?

Edit: nevermind, I thought @nathanchance was booting using tuxmake somehow.

@nathanchance
Copy link
Member

Let me install QEMU in a Debian container and see if the issue reproduces there.

@nathanchance
Copy link
Member

Nope:

$ ./boot-qemu.sh -a arm32_v6 -k ../../../.cache/tuxmake/builds/2/zImage -t 20s
QEMU location: /usr/bin

QEMU version: QEMU emulator version 5.2.0 (Debian 1:5.2+dfsg-6)

+ timeout --foreground 20s unbuffer qemu-system-arm -initrd ...
qemu-system-arm: warning: nic ftgmac100.0 has no peer
qemu-system-arm: warning: nic ftgmac100.1 has no peer
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.11.0-11482-g8b83369ddcb3 (tuxmake@50ee4a87f5cd) (Debian clang version 13.0.0-++20210223111116+16ede0956cb1-1~exp1~20210223101845.3803, LLD 13.0.0) #2 SMP Fri Feb 26 21:38:13 UTC 2021
...

@arndb
Copy link

arndb commented Feb 28, 2021

$ make -skj"$(nproc)" ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- LLVM=1 LLVM_IAS=1 O=build/arm distclean aspeed_g5_defconfig all
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]                                                                                                                                    > ```

FWIW, the warning is fixed by https://groups.google.com/g/clang-built-linux/c/-_qULDQ2yV0/m/bW2lH8hUBQAJ
That should be unrelated to the boot failure though.

@nathanchance
Copy link
Member

I think something spooky was going on here. I have never been able to reproduce it and our CI has not shown any issues with it across four versions of clang, closing for now.

@nickdesaulniers
Copy link
Member Author

I think we still need to turn this on in CI though?

@nathanchance
Copy link
Member

You're right. I will test it locally then push it for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[ARCH] arm32 This bug impacts ARCH=arm [BUG] Untriaged Something isn't working [TOOL] integrated-as The issue is relevant to LLVM integrated assembler
Projects
None yet
Development

No branches or pull requests

3 participants