This is an archive of the discontinued LLVM Phabricator instance.

[libcxx][CI] Set Arm triples to match native clang build's default
ClosedPublic

Authored by DavidSpickett on Feb 16 2022, 7:53 AM.

Details

Summary

We were using:
armv8-linux-gnueabihf
But for a native clang build the default target is:
armv8l-linux-gnueabihf

(ditto for v7)

Add the "l" to the target triples and update the one test
that is unsupported to look for the various possible names.

armv(7 or 8)(m or l, optionally)

The UNSUPPORTED does not include aarch64 because aarch64 Linux
(and others that follow Arm's AAPCS64) use quad precision for
long double where arm64 (darwin) does not:
https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#811arithmetic-types

Diff Detail

Event Timeline

DavidSpickett created this revision.Feb 16 2022, 7:53 AM
DavidSpickett requested review of this revision.Feb 16 2022, 7:53 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 16 2022, 7:53 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
rovka accepted this revision.Feb 16 2022, 11:29 PM

I haven't had a chance to test this, but it seems sensible to me.

libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
13

Should this also catch aarch64?

Explain why aarch64 is not listed in unsupported but arm64 is.

DavidSpickett edited the summary of this revision. (Show Details)Feb 17 2022, 1:35 AM
DavidSpickett added inline comments.
libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
13

Surprised me too but no. arm64 darwin they have the same size but aarch64 Linux follows the AAPCS64 standard where they are different. (I assume BSD's do this too)

This revision was not accepted when it landed; it landed in state Needs Review.Feb 22 2022, 1:39 AM
This revision was automatically updated to reflect the committed changes.

Arm specific CI stuff so landing without group approval.