Skip to content

[Bug]: __attribute__((preserve_all)) crashes on aarch64 #1988

@licy183

Description

@licy183

Description

Compiling the following source and clang will crash with Unsupported calling convention..

Source:

// test.c
__attribute__((preserve_all)) float bar(float a);

float run(float foo) {
    return bar(foo);
}

Repro:

r26/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android34-clang -c test.c -O2

Crash log:

fatal error: error in backend: Unsupported calling convention.
clang-17: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Android (10552028, +pgo, +bolt, +lto, -mlgo, based on r487747d) clang version 17.0.2 (https://android.googlesource.com/toolchain/llvm-project d9f89f4d16663d5012e5c09495f3b30ece3d2362)
Target: aarch64-unknown-linux-android24
Thread model: posix
InstalledDir: /home/builder/lib/android-ndk-r26b/toolchains/llvm/prebuilt/linux-x86_64/bin
clang-17: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-17: note: diagnostic msg: /tmp/main-538331.c
clang-17: note: diagnostic msg: /tmp/main-538331.sh
clang-17: note: diagnostic msg:

********************

Upstream bug

llvm/llvm-project#58145

Commit to cherry-pick

llvm/llvm-project@d75e70d

Affected versions

r26

Canary version

No response

Host OS

Linux

Host OS version

Ubuntu 22.04

Affected ABIs

arm64-v8a

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Prebuilts submitted

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions