From c1c2cbd4f8cb09518529151276b1c7c5a07f061f Mon Sep 17 00:00:00 2001
From: JeremyRand <jeremyrand@airmail.cc>
Date: Mon, 2 Mar 2020 00:39:12 +0000
Subject: [PATCH] Disable Clang integrated assembler for NEON

This fixes assembler errors when building for non-NEON armv7 GNU/Linux
targets with Clang.
---
 gfx/ycbcr/moz.build     | 4 ++++
 media/libjpeg/moz.build | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/gfx/ycbcr/moz.build b/gfx/ycbcr/moz.build
index c643fbaf..35e758e 100644
--- a/gfx/ycbcr/moz.build
+++ b/gfx/ycbcr/moz.build
@@ -60,6 +60,10 @@ if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
     SOURCES += [
         'yuv_convert_arm.cpp',
     ]
+    # Clang's integrated assembler breaks NEON.
+    ASFLAGS += ['-fno-integrated-as']
+    CFLAGS += ['-fno-integrated-as']
+    CXXFLAGS += ['-fno-integrated-as']
 
 LOCAL_INCLUDES += ['/media/libyuv/libyuv/include']
 
diff --git a/media/libjpeg/moz.build b/media/libjpeg/moz.build
index f3e4bf4..d3519d8 100644
--- a/media/libjpeg/moz.build
+++ b/media/libjpeg/moz.build
@@ -84,6 +84,8 @@ if CONFIG['LIBJPEG_TURBO_ASFLAGS']:
             'simd/arm/jsimd.c',
             'simd/arm/jsimd_neon.S',
         ]
+        # Clang's integrated assembler breaks NEON.
+        ASFLAGS += ['-fno-integrated-as']
     elif CONFIG['CPU_ARCH'] == 'aarch64':
         SOURCES += [
             'simd/arm64/jsimd.c',
-- 
2.1.4

