diff options
author | Adam Langley <agl@google.com> | 2016-08-24 17:34:18 -0700 |
---|---|---|
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | 2016-08-26 17:45:49 +0000 |
commit | 008f081c6304f79b2506d4a035a3b4bf72ee01b4 (patch) | |
tree | be3b5899801d25d5840504f30eda7863dff021fe /BUILDING.md | |
parent | 81f433540ef5f34769e0febd429be065dff886fa (diff) | |
download | boringssl-008f081c6304f79b2506d4a035a3b4bf72ee01b4.zip boringssl-008f081c6304f79b2506d4a035a3b4bf72ee01b4.tar.gz boringssl-008f081c6304f79b2506d4a035a3b4bf72ee01b4.tar.bz2 |
Allow .arch directives with Clang.
Some, very recent, versions of Clang now support `.arch`. Allow them to
see these directives with BORINGSSL_CLANG_SUPPORTS_DOT_ARCH.
BUG=39
Change-Id: I122ab4b3d5f14502ffe0c6e006950dc64abf0201
Reviewed-on: https://boringssl-review.googlesource.com/10600
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: Adam Langley <agl@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Diffstat (limited to 'BUILDING.md')
-rw-r--r-- | BUILDING.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/BUILDING.md b/BUILDING.md index 5631ded..522bee1 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -134,6 +134,18 @@ to enabling the corresponding ARM feature. Note that if a feature is enabled in this way, but not actually supported at run-time, BoringSSL will likely crash. +## Assembling ARMv8 with Clang + +In order to support the ARMv8 crypto instructions, Clang requires that the +architecture be `armv8-a+crypto`. However, setting that as a general build flag +would allow the compiler to assume that crypto instructions are *always* +supported, even without testing for them. + +It's possible to set the architecture in an assembly file using the `.arch` +directive, but only very recent versions of Clang support this. If +`BORINGSSL_CLANG_SUPPORTS_DOT_ARCH` is defined then `.arch` directives will be +used with Clang, otherwise you may need to craft acceptable assembler flags. + # Running tests There are two sets of tests: the C/C++ tests and the blackbox tests. For former |