diff --git a/mozjs-sys/Cargo.toml b/mozjs-sys/Cargo.toml index a76589358c..376e8a7edc 100644 --- a/mozjs-sys/Cargo.toml +++ b/mozjs-sys/Cargo.toml @@ -2,7 +2,7 @@ name = "mozjs_sys" description = "System crate for the Mozilla SpiderMonkey JavaScript engine." repository.workspace = true -version = "0.128.9-2" +version = "0.128.9-3" authors = ["Mozilla"] links = "mozjs" build = "build.rs" diff --git a/mozjs-sys/etc/patches/0034-build__Add_compile_definition_for_ohos.patch b/mozjs-sys/etc/patches/0034-build__Add_compile_definition_for_ohos.patch index a5903822c9..d80b55cb1a 100644 --- a/mozjs-sys/etc/patches/0034-build__Add_compile_definition_for_ohos.patch +++ b/mozjs-sys/etc/patches/0034-build__Add_compile_definition_for_ohos.patch @@ -1,13 +1,15 @@ diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure --- a/build/moz.configure/init.configure (revision dbffebd0937c14d3c73ce9be4798da15cb2f369d) +++ b/build/moz.configure/init.configure (revision 8a1dbb7da45148151dbb0d05d969118103cfa8d0) -@@ -950,6 +950,14 @@ +@@ -950,6 +950,16 @@ set_define("ANDROID", target_is_android) +@depends(target) +def target_is_ohos(target): -+ return target.raw_os.endswith("-ohos") ++ if target.raw_os.endswith("-ohos"): ++ return True ++ return None + + +set_define("XP_OHOS", target_is_ohos) diff --git a/mozjs-sys/etc/patches/0036-Redirect_errors_to_hilog_on_OpenHarmony.patch b/mozjs-sys/etc/patches/0036-Redirect_errors_to_hilog_on_OpenHarmony.patch index f691d05dcb..7b00c98273 100644 --- a/mozjs-sys/etc/patches/0036-Redirect_errors_to_hilog_on_OpenHarmony.patch +++ b/mozjs-sys/etc/patches/0036-Redirect_errors_to_hilog_on_OpenHarmony.patch @@ -2,14 +2,16 @@ diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.confi index e0e14bf60..179de2592 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure -@@ -956,6 +956,7 @@ def target_is_ohos(target): +@@ -956,7 +956,9 @@ def target_is_ohos(target): set_define("XP_OHOS", target_is_ohos) +set_config("OHOS", target_is_ohos) ++set_define("OHOS_LOG_DOMAIN", "0xE0C4", when=target_is_ohos) @depends(target) + def target_is_openbsd(target): diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild index 471599f17..a89f0ca7a 100644 --- a/config/system-headers.mozbuild @@ -34,7 +36,7 @@ index 3cfc92533..9c487ac45 100644 #ifdef ANDROID # include -+#elif defined(OHOS) ++#elif defined(XP_OHOS) +# include #endif #ifdef MOZ_WIDGET_ANDROID @@ -46,8 +48,8 @@ index 3cfc92533..9c487ac45 100644 -#ifndef ANDROID +#ifdef ANDROID + __android_log_print(ANDROID_LOG_ERROR, "Gecko", "mozalloc_abort: %s", msg); -+#elif defined(OHOS) -+ (void) OH_LOG_Print(LOG_APP, LOG_ERROR, 0, "Gecko", ++#elif defined(XP_OHOS) ++ (void) OH_LOG_Print(LOG_APP, LOG_ERROR, OHOS_LOG_DOMAIN, "Gecko", + "mozalloc_abort: %{public}s\n", msg); +#else fputs(msg, stderr); @@ -65,7 +67,7 @@ index 0b7395177..e84d76aba 100644 #endif #ifdef ANDROID # include -+#elif defined(OHOS) ++#elif defined(XP_OHOS) +# include #endif @@ -74,8 +76,8 @@ index 0b7395177..e84d76aba 100644 MozWalkTheStackWithWriter(MOZ_ReportAssertionFailurePrintFrame, CallerPC(), /* aMaxFrames */ 0); # endif -+#elif defined(OHOS) -+ (void) OH_LOG_Print(LOG_APP, LOG_FATAL, 0, "MOZ_Assert", ++#elif defined(XP_OHOS) ++ (void) OH_LOG_Print(LOG_APP, LOG_FATAL, OHOS_LOG_DOMAIN, "MOZ_Assert", + "Assertion failure: %{public}s, at %{public}s:%{public}d\n", + aStr, aFilename, aLine); #else @@ -85,8 +87,8 @@ index 0b7395177..e84d76aba 100644 __android_log_print(ANDROID_LOG_FATAL, "MOZ_CRASH", "[%d] Hit MOZ_CRASH(%s) at %s:%d\n", MOZ_GET_PID(), aStr, aFilename, aLine); -+#elif defined(OHOS) -+ (void) OH_LOG_Print(LOG_APP, LOG_FATAL, 0, "MOZ_CRASH", ++#elif defined(XP_OHOS) ++ (void) OH_LOG_Print(LOG_APP, LOG_FATAL, OHOS_LOG_DOMAIN, "MOZ_CRASH", + "Hit MOZ_CRASH(%{public}s), at %{public}s:%{public}d\n", + aStr, aFilename, aLine); #else @@ -103,7 +105,7 @@ index 3247b993c..c7039d5f8 100644 -#ifdef ANDROID +#if defined(ANDROID) # include -+#elif defined(OHOS) ++#elif defined(XP_OHOS) +# include #endif @@ -115,8 +117,8 @@ index 3247b993c..c7039d5f8 100644 -#ifdef ANDROID +#if defined(ANDROID) __android_log_print(ANDROID_LOG_INFO, "Gecko", "%s", s.str().c_str()); -+#elif defined(OHOS) -+ (void) OH_LOG_Print(LOG_APP, LOG_INFO, 0, "Gecko", "%{public}s\n", s.str().c_str()); ++#elif defined(XP_OHOS) ++ (void) OH_LOG_Print(LOG_APP, LOG_INFO, OHOS_LOG_DOMAIN, "Gecko", "%{public}s\n", s.str().c_str()); #else fputs(s.str().c_str(), stderr); #endif @@ -128,12 +130,12 @@ index c3a2ca89e..3fea33f4b 100644 #ifdef ANDROID # include -+#elif defined(OHOS) ++#elif defined(XP_OHOS) +# include #endif -#ifndef ANDROID -+#if ! (defined(ANDROID) || defined(OHOS)) ++#if ! (defined(ANDROID) || defined(XP_OHOS)) static void vprintf_stderr_buffered(const char* aFmt, va_list aArgs) { // Avoid interleaving by writing to an on-stack buffer and then writing in one // go with fputs, as long as the output fits into the buffer. @@ -141,9 +143,9 @@ index c3a2ca89e..3fea33f4b 100644 MFBT_API void vprintf_stderr(const char* aFmt, va_list aArgs) { __android_log_vprint(ANDROID_LOG_INFO, "Gecko", aFmt, aArgs); } -+#elif defined(OHOS) ++#elif defined(XP_OHOS) +MFBT_API void vprintf_stderr(const char* aFmt, va_list aArgs) { -+ (void) OH_LOG_Print(LOG_APP, LOG_INFO, 0, "Gecko", aFmt, aArgs); ++ (void) OH_LOG_Print(LOG_APP, LOG_INFO, OHOS_LOG_DOMAIN, "Gecko", aFmt, aArgs); +} #elif defined(FUZZING_SNAPSHOT) MFBT_API void vprintf_stderr(const char* aFmt, va_list aArgs) { @@ -153,7 +155,7 @@ index c3a2ca89e..3fea33f4b 100644 MFBT_API void print_stderr(std::stringstream& aStr) { -#if defined(ANDROID) -+#if defined(ANDROID) || defined(OHOS) ++#if defined(ANDROID) || defined(XP_OHOS) // On Android logcat output is truncated to 1024 chars per line, and // we usually use std::stringstream to build up giant multi-line gobs // of output. So to avoid the truncation we find the newlines and @@ -179,7 +181,7 @@ index 52bd6abc5..781402d56 100644 -#ifdef ANDROID +#if defined(ANDROID) #include -+#elif defined(OHOS) ++#elif defined(XP_OHOS) +# include #endif @@ -188,13 +190,13 @@ index 52bd6abc5..781402d56 100644 PR_Write(fd, buf, nb); \ } \ PR_END_MACRO -+#elif defined(OHOS) ++#elif defined(XP_OHOS) +#define _PUT_LOG(fd, buf, nb) \ + PR_BEGIN_MACRO \ + if (fd == _pr_stderr) { \ + char savebyte = buf[nb]; \ + buf[nb] = '\0'; \ -+ (void) OH_LOG_Print(LOG_APP, LOG_INFO, 0, "PRLog", \ ++ (void) OH_LOG_Print(LOG_APP, LOG_INFO, OHOS_LOG_DOMAIN, "PRLog", \ + "%{public}s\n", buf); \ + buf[nb] = savebyte; \ + } else { \ @@ -208,8 +210,8 @@ index 52bd6abc5..781402d56 100644 PR_LogPrint("Aborting"); #ifdef ANDROID __android_log_write(ANDROID_LOG_ERROR, "PRLog", "Aborting"); -+#elif defined(OHOS) -+ (void) OH_LOG_Print(LOG_APP, LOG_ERROR, 0, "PRLog", "Aborting\n"); ++#elif defined(XP_OHOS) ++ (void) OH_LOG_Print(LOG_APP, LOG_ERROR, OHOS_LOG_DOMAIN, "PRLog", "Aborting\n"); #endif abort(); } @@ -217,12 +219,11 @@ index 52bd6abc5..781402d56 100644 #elif defined(ANDROID) __android_log_assert(NULL, "PRLog", "Assertion failure: %s, at %s:%d\n", s, file, ln); -+#elif defined(OHOS) -+ (void) OH_LOG_Print(LOG_APP, LOG_ERROR, 0, "PRLog", ++#elif defined(XP_OHOS) ++ (void) OH_LOG_Print(LOG_APP, LOG_ERROR, OHOS_LOG_DOMAIN, "PRLog", + "Assertion failure: %{public}s, at %{public}s:%{public}d\n",s, file, ln); #endif abort(); } -- 2.45.2 - diff --git a/mozjs-sys/mozjs/build/moz.configure/init.configure b/mozjs-sys/mozjs/build/moz.configure/init.configure index 179de25920..8b90a663f5 100644 --- a/mozjs-sys/mozjs/build/moz.configure/init.configure +++ b/mozjs-sys/mozjs/build/moz.configure/init.configure @@ -952,11 +952,14 @@ set_define("ANDROID", target_is_android) @depends(target) def target_is_ohos(target): - return target.raw_os.endswith("-ohos") + if target.raw_os.endswith("-ohos"): + return True + return None set_define("XP_OHOS", target_is_ohos) set_config("OHOS", target_is_ohos) +set_define("OHOS_LOG_DOMAIN", "0xE0C4", when=target_is_ohos) @depends(target) diff --git a/mozjs-sys/mozjs/memory/mozalloc/mozalloc_abort.cpp b/mozjs-sys/mozjs/memory/mozalloc/mozalloc_abort.cpp index 9c487ac450..76751d4950 100644 --- a/mozjs-sys/mozjs/memory/mozalloc/mozalloc_abort.cpp +++ b/mozjs-sys/mozjs/memory/mozalloc/mozalloc_abort.cpp @@ -9,7 +9,7 @@ #ifdef ANDROID # include -#elif defined(OHOS) +#elif defined(XP_OHOS) # include #endif #ifdef MOZ_WIDGET_ANDROID @@ -25,8 +25,8 @@ void mozalloc_abort(const char* const msg) { #ifdef ANDROID __android_log_print(ANDROID_LOG_ERROR, "Gecko", "mozalloc_abort: %s", msg); -#elif defined(OHOS) - (void) OH_LOG_Print(LOG_APP, LOG_ERROR, 0, "Gecko", +#elif defined(XP_OHOS) + (void) OH_LOG_Print(LOG_APP, LOG_ERROR, OHOS_LOG_DOMAIN, "Gecko", "mozalloc_abort: %{public}s\n", msg); #else fputs(msg, stderr); diff --git a/mozjs-sys/mozjs/mfbt/Assertions.h b/mozjs-sys/mozjs/mfbt/Assertions.h index e84d76abac..d3c7075c52 100644 --- a/mozjs-sys/mozjs/mfbt/Assertions.h +++ b/mozjs-sys/mozjs/mfbt/Assertions.h @@ -88,7 +88,7 @@ MOZ_END_EXTERN_C #endif #ifdef ANDROID # include -#elif defined(OHOS) +#elif defined(XP_OHOS) # include #endif @@ -122,8 +122,8 @@ MOZ_ReportAssertionFailure(const char* aStr, const char* aFilename, MozWalkTheStackWithWriter(MOZ_ReportAssertionFailurePrintFrame, CallerPC(), /* aMaxFrames */ 0); # endif -#elif defined(OHOS) - (void) OH_LOG_Print(LOG_APP, LOG_FATAL, 0, "MOZ_Assert", +#elif defined(XP_OHOS) + (void) OH_LOG_Print(LOG_APP, LOG_FATAL, OHOS_LOG_DOMAIN, "MOZ_Assert", "Assertion failure: %{public}s, at %{public}s:%{public}d\n", aStr, aFilename, aLine); #else @@ -150,8 +150,8 @@ MOZ_MAYBE_UNUSED static MOZ_COLD MOZ_NEVER_INLINE void MOZ_ReportCrash( __android_log_print(ANDROID_LOG_FATAL, "MOZ_CRASH", "[%d] Hit MOZ_CRASH(%s) at %s:%d\n", MOZ_GET_PID(), aStr, aFilename, aLine); -#elif defined(OHOS) - (void) OH_LOG_Print(LOG_APP, LOG_FATAL, 0, "MOZ_CRASH", +#elif defined(XP_OHOS) + (void) OH_LOG_Print(LOG_APP, LOG_FATAL, OHOS_LOG_DOMAIN, "MOZ_CRASH", "Hit MOZ_CRASH(%{public}s), at %{public}s:%{public}d\n", aStr, aFilename, aLine); #else diff --git a/mozjs-sys/mozjs/mfbt/DbgMacro.h b/mozjs-sys/mozjs/mfbt/DbgMacro.h index c7039d5f83..955d3e9180 100644 --- a/mozjs-sys/mozjs/mfbt/DbgMacro.h +++ b/mozjs-sys/mozjs/mfbt/DbgMacro.h @@ -20,7 +20,7 @@ class nsTSubstring; #if defined(ANDROID) # include -#elif defined(OHOS) +#elif defined(XP_OHOS) # include #endif @@ -100,8 +100,8 @@ auto&& MozDbg(const char* aFile, int aLine, const char* aExpression, s << '\n'; #if defined(ANDROID) __android_log_print(ANDROID_LOG_INFO, "Gecko", "%s", s.str().c_str()); -#elif defined(OHOS) - (void) OH_LOG_Print(LOG_APP, LOG_INFO, 0, "Gecko", "%{public}s\n", s.str().c_str()); +#elif defined(XP_OHOS) + (void) OH_LOG_Print(LOG_APP, LOG_INFO, OHOS_LOG_DOMAIN, "Gecko", "%{public}s\n", s.str().c_str()); #else fputs(s.str().c_str(), stderr); #endif diff --git a/mozjs-sys/mozjs/mozglue/misc/Debug.cpp b/mozjs-sys/mozjs/mozglue/misc/Debug.cpp index 3fea33f4b4..d2244dc0f5 100644 --- a/mozjs-sys/mozjs/mozglue/misc/Debug.cpp +++ b/mozjs-sys/mozjs/mozglue/misc/Debug.cpp @@ -18,11 +18,11 @@ #ifdef ANDROID # include -#elif defined(OHOS) +#elif defined(XP_OHOS) # include #endif -#if ! (defined(ANDROID) || defined(OHOS)) +#if ! (defined(ANDROID) || defined(XP_OHOS)) static void vprintf_stderr_buffered(const char* aFmt, va_list aArgs) { // Avoid interleaving by writing to an on-stack buffer and then writing in one // go with fputs, as long as the output fits into the buffer. @@ -68,9 +68,9 @@ MFBT_API void vprintf_stderr(const char* aFmt, va_list aArgs) { MFBT_API void vprintf_stderr(const char* aFmt, va_list aArgs) { __android_log_vprint(ANDROID_LOG_INFO, "Gecko", aFmt, aArgs); } -#elif defined(OHOS) +#elif defined(XP_OHOS) MFBT_API void vprintf_stderr(const char* aFmt, va_list aArgs) { - (void) OH_LOG_Print(LOG_APP, LOG_INFO, 0, "Gecko", aFmt, aArgs); + (void) OH_LOG_Print(LOG_APP, LOG_INFO, OHOS_LOG_DOMAIN, "Gecko", aFmt, aArgs); } #elif defined(FUZZING_SNAPSHOT) MFBT_API void vprintf_stderr(const char* aFmt, va_list aArgs) { @@ -106,7 +106,7 @@ MFBT_API void fprintf_stderr(FILE* aFile, const char* aFmt, ...) { } MFBT_API void print_stderr(std::stringstream& aStr) { -#if defined(ANDROID) || defined(OHOS) +#if defined(ANDROID) || defined(XP_OHOS) // On Android logcat output is truncated to 1024 chars per line, and // we usually use std::stringstream to build up giant multi-line gobs // of output. So to avoid the truncation we find the newlines and diff --git a/mozjs-sys/mozjs/nsprpub/pr/src/io/prlog.c b/mozjs-sys/mozjs/nsprpub/pr/src/io/prlog.c index 781402d56d..c7b835456c 100644 --- a/mozjs-sys/mozjs/nsprpub/pr/src/io/prlog.c +++ b/mozjs-sys/mozjs/nsprpub/pr/src/io/prlog.c @@ -10,7 +10,7 @@ #include #if defined(ANDROID) #include -#elif defined(OHOS) +#elif defined(XP_OHOS) # include #endif @@ -110,13 +110,13 @@ static void OutputDebugStringA(const char* msg) { PR_Write(fd, buf, nb); \ } \ PR_END_MACRO -#elif defined(OHOS) +#elif defined(XP_OHOS) #define _PUT_LOG(fd, buf, nb) \ PR_BEGIN_MACRO \ if (fd == _pr_stderr) { \ char savebyte = buf[nb]; \ buf[nb] = '\0'; \ - (void) OH_LOG_Print(LOG_APP, LOG_INFO, 0, "PRLog", \ + (void) OH_LOG_Print(LOG_APP, LOG_INFO, OHOS_LOG_DOMAIN, "PRLog", \ "%{public}s\n", buf); \ buf[nb] = savebyte; \ } else { \ @@ -566,8 +566,8 @@ PR_IMPLEMENT(void) PR_Abort(void) PR_LogPrint("Aborting"); #ifdef ANDROID __android_log_write(ANDROID_LOG_ERROR, "PRLog", "Aborting"); -#elif defined(OHOS) - (void) OH_LOG_Print(LOG_APP, LOG_ERROR, 0, "PRLog", "Aborting\n"); +#elif defined(XP_OHOS) + (void) OH_LOG_Print(LOG_APP, LOG_ERROR, OHOS_LOG_DOMAIN, "PRLog", "Aborting\n"); #endif abort(); } @@ -584,8 +584,8 @@ PR_IMPLEMENT(void) PR_Assert(const char *s, const char *file, PRIntn ln) #elif defined(ANDROID) __android_log_assert(NULL, "PRLog", "Assertion failure: %s, at %s:%d\n", s, file, ln); -#elif defined(OHOS) - (void) OH_LOG_Print(LOG_APP, LOG_ERROR, 0, "PRLog", +#elif defined(XP_OHOS) + (void) OH_LOG_Print(LOG_APP, LOG_ERROR, OHOS_LOG_DOMAIN, "PRLog", "Assertion failure: %{public}s, at %{public}s:%{public}d\n",s, file, ln); #endif abort();