ILP32 support with Aarch64

Hi i am compiling code for Aarch64 but i want to use 32 bit pointer ilp32 feature.
What should be the --target value?

I am using clang-17 . i tried aarch64-arm-none-gnu_ilp32.
IT gives backend support error.

clang --target=aarch64-arm-none-gnu_ilp32 -c sample.c

Please help if someone knows correct use of ilp32 with aarch64

AFAIK Clang only supports ilp32 for AArch64 only on some Apple platforms (iOS and watchOS come to mind) see ⚙ D61939 AArch64: add support for arm64_32 (ILP32) triple and -arch option. for details.

There is no way that I know of in ELF to get ILP32 support.

I thought in ⚙ D94143 [AArch64] Add support for the GNU ILP32 ABI support added for other platforms also

I wasn’t aware of that, thanks for pointing it out. It looks like support has been added to the backend for Rust, but it looks like support isn’t in the clang frontend to have it supported in C++.

ILP32 is only supported in LLVM’s backend, but not in clang. See ⚙ D104931 [AArch64] Wire up ILP32 ABI support in Clang which is stalled waiting for reviews.

Thanks. After applying this path manually in llvm project. I build toolchain again, and now it’s working with --target=aarch64-arm-none-gnu_ilp32.

Also want to know why review is stalled? And if in near future planning to submit?

Any plan to support AArch64 ILP32 for LLD/ELF part?