gollvm: fix libffi compiler config to be compatible with cmake v18+

The existing libffi cmake rules treat libffi assembly source
code as C files, since they are built using the C compiler. With the
advent of cmake version 18, this is no longer a viable strategy;
assembly files have to be identified as ASM (even though they are
still built using the C compiler).

Fixes golang/go#42049.

Change-Id: I5b1b8a2c62c510883daa526420ce6617d47f4c34
Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/264633
Trust: Than McIntosh <thanm@google.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
diff --git a/cmake/modules/LibffiUtils.cmake b/cmake/modules/LibffiUtils.cmake
index d4266fc..b3fa697 100644
--- a/cmake/modules/LibffiUtils.cmake
+++ b/cmake/modules/LibffiUtils.cmake
@@ -56,7 +56,7 @@
     list(APPEND asm_srcs "${libffi_srcroot}/src/x86/unix64.S")
     list(APPEND asm_srcs "${libffi_srcroot}/src/x86/win64.S")
   endif()
-  set_source_files_properties(${asm_srcs} PROPERTIES LANGUAGE C)
+  set_source_files_properties(${asm_srcs} PROPERTIES LANGUAGE ASM)
 
   # Set target based on arch.
   if(HAVE_64BIT AND ${llarch} STREQUAL "aarch64")