aboutsummaryrefslogtreecommitdiff
path: root/BUILDING.md
diff options
context:
space:
mode:
Diffstat (limited to 'BUILDING.md')
-rw-r--r--BUILDING.md12
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