diff --git a/src/mongo/bson/bsonobjbuilder.h b/src/mongo/bson/bsonobjbuilder.h
index 38dae82..ee9b957 100644
--- a/src/mongo/bson/bsonobjbuilder.h
+++ b/src/mongo/bson/bsonobjbuilder.h
@@ -341,7 +341,7 @@ public:
         return append(fieldName, d);
     }
 
-    BSONObjBuilder& appendNumber(StringData fieldName, size_t n) {
+    BSONObjBuilder& appendNumber(StringData fieldName, uint64_t n) {
         static const size_t maxInt = (1 << 30);
         if (n < maxInt)
             append(fieldName, static_cast<int>(n));
@@ -350,6 +350,18 @@ public:
         return *this;
     }
 
+    /**
+     * Implement appendNumber for uint64_t and size_t on 32-bit platforms where
+     * these types differs. Typically for
+     * 32b: size_t ~ unsigned int; uint64_t ~ unsigned long long;
+     * 64b: size_t ~ unsigned long; uint64_t ~ unsigned long;
+     */
+    inline BSONObjBuilder& appendNumber(
+        StringData fieldName,
+        std::conditional<!std::is_same<uint64_t, size_t>::value, size_t, unsigned int>::type n) {
+        return appendNumber(fieldName, static_cast<uint64_t>(n));
+    }
+
     BSONObjBuilder& appendNumber(StringData fieldName, Decimal128 decNumber) {
         return append(fieldName, decNumber);
     }
diff --git a/src/mongo/platform/pause.h b/src/mongo/platform/pause.h
index 46df146..5003de5 100644
--- a/src/mongo/platform/pause.h
+++ b/src/mongo/platform/pause.h
@@ -55,7 +55,7 @@
 /* ori 0,0,0 is the PPC64 noop instruction */
 #define MONGO_YIELD_CORE_FOR_SMT() __asm__ volatile("ori 0,0,0" ::: "memory")
 
-#elif defined(__aarch64__)
+#elif defined(__aarch64__) || defined(__arm__)
 
 #define MONGO_YIELD_CORE_FOR_SMT() __asm__ volatile("yield" ::: "memory")