--- js/src/vm/JSONPrinter.cpp.orig 2020-05-12 17:06:38.387691368 +0900 +++ js/src/vm/JSONPrinter.cpp 2020-05-12 17:10:20.842391283 +0900 @@ -119,7 +119,8 @@ void JSONPrinter::property(const char* n out_.printf("%" PRIu64, value); } -#if defined(XP_DARWIN) || defined(__OpenBSD__) +#if defined(XP_DARWIN) || defined(__OpenBSD__) || \ + (defined(__NetBSD__) && defined(__arm__)) void JSONPrinter::property(const char* name, size_t value) { propertyName(name); out_.printf("%zu", value); --- js/src/vm/JSONPrinter.h.orig 2020-05-12 17:06:42.908461670 +0900 +++ js/src/vm/JSONPrinter.h 2020-05-12 17:09:54.171126154 +0900 @@ -45,7 +45,8 @@ class JSONPrinter { void property(const char* name, uint32_t value); void property(const char* name, int64_t value); void property(const char* name, uint64_t value); -#if defined(XP_DARWIN) || defined(__OpenBSD__) +#if defined(XP_DARWIN) || defined(__OpenBSD__) || \ + (defined(__NetBSD__) && defined(__arm__)) // On OSX and OpenBSD, size_t is long unsigned, uint32_t is unsigned, and // uint64_t is long long unsigned. Everywhere else, size_t matches either // uint32_t or uint64_t.