https://github.com/python/cpython/commit/261818061eb38ac42f9bc35335361c8c55f47b3b
commit: 261818061eb38ac42f9bc35335361c8c55f47b3b
branch: 3.14
author: Miss Islington (bot) <[email protected]>
committer: freakboy3742 <[email protected]>
date: 2025-07-14T04:49:36+02:00
summary:

[3.14] gh-127146: Emscripten: Fix test_open_undecodable_uri by setting 
`-sTEXTDECODER=2` (GH-136624) (#136631)

Removes the JS text decoder fallback and gets rid of the bugs due to the 
differences
in behavior on invalid utf8 strings. See 
https://github.com/emscripten-core/emscripten/issues/24690.
(cherry picked from commit 283b05052338dd735cd4927011afc3735d9c6c7c)

Co-authored-by: Hood Chatham <[email protected]>

files:
M configure
M configure.ac

diff --git a/configure b/configure
index a62f1ae7cac52d..67a40b841aa506 100755
--- a/configure
+++ b/configure
@@ -9606,6 +9606,7 @@ fi
     as_fn_append LINKFORSHARED " -sEXPORTED_RUNTIME_METHODS=FS,callMain,ENV"
     as_fn_append LINKFORSHARED " 
-sEXPORTED_FUNCTIONS=_main,_Py_Version,__PyRuntime,__PyEM_EMSCRIPTEN_COUNT_ARGS_OFFSET,_PyGILState_GetThisThreadState,__Py_DumpTraceback"
     as_fn_append LINKFORSHARED " -sSTACK_SIZE=5MB"
+        as_fn_append LINKFORSHARED " -sTEXTDECODER=2"
 
     if test "x$enable_wasm_dynamic_linking" = xyes
 then :
diff --git a/configure.ac b/configure.ac
index d644c0ca772cd5..bbd0fa8c1ae8f6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2338,6 +2338,8 @@ AS_CASE([$ac_sys_system],
     AS_VAR_APPEND([LINKFORSHARED], [" 
-sEXPORTED_RUNTIME_METHODS=FS,callMain,ENV"])
     AS_VAR_APPEND([LINKFORSHARED], [" 
-sEXPORTED_FUNCTIONS=_main,_Py_Version,__PyRuntime,__PyEM_EMSCRIPTEN_COUNT_ARGS_OFFSET,_PyGILState_GetThisThreadState,__Py_DumpTraceback"])
     AS_VAR_APPEND([LINKFORSHARED], [" -sSTACK_SIZE=5MB"])
+    dnl Avoid bugs in JS fallback string decoding path
+    AS_VAR_APPEND([LINKFORSHARED], [" -sTEXTDECODER=2"])
 
     AS_VAR_IF([enable_wasm_dynamic_linking], [yes], [
       AS_VAR_APPEND([LINKFORSHARED], [" -sMAIN_MODULE"])

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to