--- a/third_party/libwebrtc/webrtc/system_wrappers/cpu_features_linux_gn/moz.build
+++ b/third_party/libwebrtc/webrtc/system_wrappers/cpu_features_linux_gn/moz.build
@@ -31,10 +31,6 @@ LOCAL_INCLUDES += [
     "/third_party/libwebrtc/webrtc/"
 ]
 
-UNIFIED_SOURCES += [
-    "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
-]
-
 if not CONFIG["MOZ_DEBUG"]:
 
     DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "0"
@@ -53,20 +49,36 @@ if CONFIG["CPU_ARCH"] == "aarch64":
     DEFINES["WEBRTC_ARCH_ARM64"] = True
     DEFINES["WEBRTC_HAS_NEON"] = True
 
-if CONFIG["CPU_ARCH"] == "arm":
-
-    CFLAGS += [
-        "-mfpu=neon"
+    UNIFIED_SOURCES += [
+        "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
     ]
 
+if CONFIG["CPU_ARCH"] == "arm":
+
     DEFINES["WEBRTC_ARCH_ARM"] = True
     DEFINES["WEBRTC_ARCH_ARM_V7"] = True
     DEFINES["WEBRTC_HAS_NEON"] = True
 
+if CONFIG["CPU_ARCH"] == "ppc64":
+
+    UNIFIED_SOURCES += [
+        "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
+    ]
+
 if CONFIG["CPU_ARCH"] == "x86":
 
     CFLAGS += [
         "-msse2"
     ]
 
+    UNIFIED_SOURCES += [
+        "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
+    ]
+
+if CONFIG["CPU_ARCH"] == "x86_64":
+
+    UNIFIED_SOURCES += [
+        "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
+    ]
+
 Library("cpu_features_linux_gn")
--- a/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn
+++ b/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn
@@ -187,7 +187,7 @@ if (is_android && !build_with_mozilla) {
   }
 }
 
-if (is_linux) {
+if (is_linux && target_cpu != "arm") {
   rtc_static_library("cpu_features_linux") {
     sources = [
       "source/cpu_features_linux.c",
