Node_Escargot_Release_230725_77ce7764 74/296274/3
authorDaeyeon Jeong <daeyeon.jeong@samsung.com>
Mon, 24 Jul 2023 23:28:51 +0000 (08:28 +0900)
committerDaeyeon Jeong <daeyeon.jeong@samsung.com>
Tue, 25 Jul 2023 00:13:53 +0000 (09:13 +0900)
Change-Id: I389fd75a8bdec70320d956513e04f004799a00e2
Signed-off-by: Daeyeon Jeong <daeyeon.jeong@samsung.com>
13 files changed:
deps/escargot/src/api/EscargotPublic.h
deps/escargot/third_party/wasm/wabt/src/interp/interp-wasm-c-api.cc.rej [deleted file]
deps/node/src/module_wrap.cc
deps/node/src/node_crypto.cc
deps/node/src/node_messaging.cc
packaging/lwnode.spec
src/api-environment.cc
src/api-handles.cc
src/api/utils/logger/flags.cc
src/api/utils/logger/logger-impl.cc
tools/check_tidy.py
tools/patch/01-escargot-gcc13-build-error.patch [new file with mode: 0644]
tools/release.sh

index ed07cb26fe1c93ca1d3c7470928195bf948e0b5f..ad97fdafa97f271919148ac5b312a70ddf08d4c9 100644 (file)
@@ -30,7 +30,7 @@
 
 #include <cstdlib>
 #include <cstddef>
-#include <cstdint> // HOTFIX(daeyeon) suppress build errors on gcc-13
+#include <cstdint>
 #include <cstring>
 #include <string>
 #include <vector>
diff --git a/deps/escargot/third_party/wasm/wabt/src/interp/interp-wasm-c-api.cc.rej b/deps/escargot/third_party/wasm/wabt/src/interp/interp-wasm-c-api.cc.rej
deleted file mode 100644 (file)
index 5cbe5d2..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
---- src/interp/interp-wasm-c-api.cc
-+++ src/interp/interp-wasm-c-api.cc
-@@ -626,6 +626,11 @@ own wasm_store_t* wasm_store_new(wasm_engine_t* engine) {
-   return new wasm_store_t(s_features);
- }
-+void wasm_store_gc(wasm_store_t* store) {
-+  assert(store);
-+  store->I.Collect();
-+}
-+
- // wasm_module
- own wasm_module_t* wasm_module_new(wasm_store_t* store,
-@@ -760,6 +765,20 @@ void wasm_instance_exports(const wasm_instance_t* instance,
-   }
- }
-+uint32_t wasm_instance_func_index(const wasm_instance_t* instance,
-+                                const wasm_func_t* func) {
-+  auto&& funcs = instance->As<Instance>()->funcs();
-+
-+  assert(funcs.size() < wasm_limits_max_default);
-+  for (size_t i = 0; i < funcs.size(); ++i) {
-+    if (funcs[i] == func->I.ref()) {
-+      return i;
-+    }
-+  }
-+
-+  return wasm_limits_max_default;
-+}
-+
- // wasm_functype
- own wasm_functype_t* wasm_functype_new(own wasm_valtype_vec_t* params,
-@@ -1170,6 +1189,16 @@ void wasm_val_vec_delete(own wasm_val_vec_t* vec) {
-     }                                                                   \
-     delete[] vec->data;                                                 \
-     vec->size = 0;                                                      \
-+  }                                                                     \
-+  void wasm_##name##_vec_delete_with_size(wasm_##name##_vec_t* vec,     \
-+                                          size_t size) {                \
-+    assert(size <= vec->size);                                          \
-+    TRACE0();                                                           \
-+    for (size_t i = 0; i < size; ++i) {                                 \
-+      delete vec->data[i];                                              \
-+    }                                                                   \
-+    delete[] vec->data;                                                 \
-+    vec->size = 0;                                                      \
-   }
- WASM_IMPL_VEC_OWN(frame);
index f778b089dc4009912361342077793e7918286de3..ec2e1b379b2fec1d746e42da7b302fbe8d425b9e 100644 (file)
@@ -558,8 +558,9 @@ static MaybeLocal<Promise> ImportModuleDynamically(
                     ->Uint32Value(context)
                     .ToChecked();
   if (type == ScriptType::kScript) {
-    contextify::ContextifyScript* wrap = env->id_to_script_map.find(id)->second;
-    object = wrap->object();
+    auto it = env->id_to_function_map.find(id);
+    CHECK_NE(it, env->id_to_function_map.end());
+    object = it->second->object();
   } else if (type == ScriptType::kModule) {
     ModuleWrap* wrap = ModuleWrap::GetFromID(env, id);
     object = wrap->object();
index ed886abd749661a90e488b24152b2998fb38a4f8..dae3372889ff26446e33fc92d59f44be88892c89 100644 (file)
@@ -4579,11 +4579,11 @@ static unsigned int GetBytesOfRS(const ManagedEVPPKey& pkey) {
   int bits, base_id = EVP_PKEY_base_id(pkey.get());
 
   if (base_id == EVP_PKEY_DSA) {
-    DSA* dsa_key = EVP_PKEY_get0_DSA(pkey.get());
+    const DSA* dsa_key = EVP_PKEY_get0_DSA(pkey.get());
     // Both r and s are computed mod q, so their width is limited by that of q.
     bits = BN_num_bits(DSA_get0_q(dsa_key));
   } else if (base_id == EVP_PKEY_EC) {
-    EC_KEY* ec_key = EVP_PKEY_get0_EC_KEY(pkey.get());
+    const EC_KEY* ec_key = EVP_PKEY_get0_EC_KEY(pkey.get());
     const EC_GROUP* ec_group = EC_KEY_get0_group(ec_key);
     bits = EC_GROUP_order_bits(ec_group);
   } else {
index 17ca38b76c784ea0e88e6ee6972a1d90f5c55720..2bfd489b55b5dc57eca0d6f24c3d6f4376197201 100644 (file)
@@ -327,7 +327,7 @@ class SerializerDelegate : public ValueSerializer::Delegate {
       std::vector<BaseObjectPtr<BaseObject>> nested_transferables;
       if (!host_objects_[i]->NestedTransferables().To(&nested_transferables))
         return Nothing<bool>();
-      for (auto nested_transferable : nested_transferables) {
+      for (auto& nested_transferable : nested_transferables) {
         if (std::find(host_objects_.begin(),
                       host_objects_.end(),
                       nested_transferable) == host_objects_.end()) {
index 26abeb42053391fc127ad7cdf68f8660ab6a91c5..b9c1d62ff75aa8881031c321401695a89b03aeb3 100644 (file)
@@ -37,14 +37,24 @@ BuildRequires: pkgconfig(glib-2.0)
 BuildRequires: nghttp2-devel
 BuildRequires: pkgconfig(libcares)
 
-%if (0%{?tizen_version_major} >= 6)
+%if (0%{?tizen_version_major} >= 8)
+BuildRequires: pkgconfig(openssl3)
+%endif
+
+%if (0%{?tizen_version_major} == 7 || 0%{?tizen_version_major} == 6)
 BuildRequires: pkgconfig(openssl1.1)
-%else
-  %if (0%{?tizen_version_major} == 5) && (0%{?tizen_version_minor} == 5)
+%endif
+
+%if (0%{?tizen_version_major} == 5)
+%if (0%{?tizen_version_minor} >= 5)
 BuildRequires: pkgconfig(openssl1.1)
-  %else
+%else
+BuildRequires: pkgconfig(openssl)
+%endif
+%endif
+
+%if (0%{?tizen_version_major} < 5)
 BuildRequires: pkgconfig(openssl)
-  %endif
 %endif
 
 %if 0%{?asan} == 1
index f26ce597be60ef3dc0990aa55a223255e4487e17..3d70b801f6ae919d683372bfaf7496be9e529c34 100644 (file)
@@ -777,8 +777,8 @@ MaybeLocal<v8::Object> v8::RegExp::Exec(Local<Context> context,
         }
 
         auto vector = ValueVectorRef::create();
-        for (auto tokens : result.m_matchResults) {
-          for (auto token : tokens) {
+        for (auto& tokens : result.m_matchResults) {
+          for (auto& token : tokens) {
             auto match = subject->substring(token.m_start, token.m_end);
             vector->pushBack(match);
           }
index 4beacb362481b55a6be4832d70d236cd18eaa951..494d7a694fcde0cfca17e1d90c78c9678397ac72 100644 (file)
@@ -49,10 +49,10 @@ void* HandleScope::operator new[](size_t) {
   std::abort();
 }
 void HandleScope::operator delete(void*, size_t) {
-  std::abort();
+  LWNODE_UNIMPLEMENT;
 }
 void HandleScope::operator delete[](void*, size_t) {
-  std::abort();
+  LWNODE_UNIMPLEMENT;
 }
 
 int HandleScope::NumberOfHandles(Isolate* isolate) {
index eb78abf47f0fd0186b62880ee8abc08f3a37be07..b9005883c0015427c62e8dc4276bdf09cb20a1df 100644 (file)
@@ -96,7 +96,7 @@ void Flags::add(const std::string& userOption) {
     std::string optionValues = userOption.substr(userOption.find_first_of('=') +
                                                  1);  // +1 for skipping '='
     auto tokens = strSplit(optionValues, ',');
-    for (auto token : tokens) {
+    for (auto& token : tokens) {
       flag->addValue(token);
     }
   }
index f6a80ddd1b60a6c702f0c311077a7a8c9cfafcb2..dbfff2c32ab92c0fe596c832e724bb405aed6c50 100644 (file)
@@ -167,7 +167,7 @@ Logger& Logger::flush() {
 
 void StdOut::flush(std::stringstream& stream,
                    std::shared_ptr<Output::Config> config) {
-  fprintf(stdout, "%s", stream.str().c_str());
+  fprintf(stderr, "%s", stream.str().c_str());
 }
 
 // --- Option ---
index 398062f955f3c686a026b758681b2441ab8a9622..61ad258afb1fe58c785fe70829c154cbd8030937 100755 (executable)
@@ -16,8 +16,6 @@
 
 # note: this uses `black` for formatting.
 
-from __future__ import print_function
-
 import os
 import subprocess
 import sys
@@ -96,7 +94,9 @@ def check_tidy(src_dir, update, base, stats):
 
             with open(file, "r") as f:
                 original = f.readlines()
-            formatted = subprocess.check_output([clang_format, "-style=file", file])
+            formatted = subprocess.check_output(
+                [clang_format, "-style=file", file], encoding="utf-8"
+            )
 
             if update:
                 with open(file, "w") as f:
diff --git a/tools/patch/01-escargot-gcc13-build-error.patch b/tools/patch/01-escargot-gcc13-build-error.patch
new file mode 100644 (file)
index 0000000..c919076
--- /dev/null
@@ -0,0 +1,12 @@
+diff --git raw/src/api/EscargotPublic.h fix/src/api/EscargotPublic.h
+index 3a8362a9..6fc888d1 100644
+--- raw/src/api/EscargotPublic.h
++++ fix/src/api/EscargotPublic.h
+@@ -30,6 +30,7 @@
+ #include <cstdlib>
+ #include <cstddef>
++#include <cstdint>
+ #include <cstring>
+ #include <string>
+ #include <vector>
index a5e9296d8b6ed33097da0c666f636565573a0050..74ec517eca115941c03a281618d09eeb7171abe8 100755 (executable)
@@ -23,6 +23,10 @@ git submodule update --init
 pushd deps/escargot
 git submodule update --init third_party
 
+# Patch update code for escargot
+find ../../tools/patch -type f -name "*escargot*.patch" \
+  -exec patch -p1 --forward -r /dev/null -i {} \;
+
 # Patch update code for wasm
 pushd third_party/wasm/wabt
 patch -p0 --forward -r /dev/null -i ../../../tools/test/wasm-js/wabt_patch