Sign In

v8

Package Overview
Dependencies
Maintainers
0
Versions
196
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

v8 - cargo Package Compare versions

Comparing version
149.3.0
to
149.4.0
+1
-1
.cargo_vcs_info.json
{
"git": {
"sha1": "ca9ea592f19c1aa580001aba1b7d81b645912a25",
"sha1": "dd1b4e9c743b7a11dbeb99d4d0dc55979218b905",
"dirty": true

@@ -5,0 +5,0 @@ },

+18
-26

@@ -356,30 +356,22 @@ // Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.

// Use the shared-library-safe TLS mode by default on Linux so downstream
// cdylibs can link rusty_v8 archives. Skip injection when GN_ARGS already
// sets V8_TLS_USED_IN_LIBRARY.
let needs_tls_define = target_os == "linux";
let mut tls_define_injected = false;
if let Ok(raw_gn_args) = env::var("GN_ARGS")
&& !raw_gn_args.trim().is_empty()
// Forward caller-provided GN args verbatim.
let gn_args_env = env::var("GN_ARGS").unwrap_or_default();
if !gn_args_env.trim().is_empty() {
gn_args.push(gn_args_env.clone());
}
// rusty_v8 ships a single static archive that downstream crates may link
// into a shared library (cdylib). On Linux, V8's default "local-exec" TLS
// model emits R_X86_64_TPOFF32 relocations against thread-locals such as
// `g_current_isolate_`, which lld refuses to place in a `-shared` object,
// so any cdylib that links the archive fails to link. Enabling this V8 GN
// arg routes the `V8_TLS_USED_IN_LIBRARY` define into both `internal_config`
// and the `features` config, switching V8 to the shared-library-safe TLS
// path (local-dynamic model + out-of-line accessor) uniformly across V8's
// own sources and rusty_v8's bindings.
if target_os == "linux"
&& !gn_args_env.contains("v8_monolithic_for_shared_library")
{
if raw_gn_args.contains("V8_TLS_USED_IN_LIBRARY") {
tls_define_injected = true;
gn_args.push(raw_gn_args);
} else if needs_tls_define && raw_gn_args.contains("extra_cflags=[") {
// Prepend our define into the existing extra_cflags array so we don't
// silently override the user's flags with a second assignment.
let modified = raw_gn_args.replacen(
"extra_cflags=[",
r#"extra_cflags=["-DV8_TLS_USED_IN_LIBRARY","#,
1,
);
tls_define_injected = true;
gn_args.push(modified);
} else {
gn_args.push(raw_gn_args);
}
gn_args.push("v8_monolithic_for_shared_library=true".to_string());
}
if needs_tls_define && !tls_define_injected {
gn_args.push(r#"extra_cflags=["-DV8_TLS_USED_IN_LIBRARY"]"#.to_string());
}
// cross-compilation setup

@@ -386,0 +378,0 @@ if target_arch == "aarch64" {

@@ -776,3 +776,3 @@ # This file is automatically @generated by Cargo.

name = "v8"
version = "149.3.0"
version = "149.4.0"
dependencies = [

@@ -779,0 +779,0 @@ "align-data",

@@ -15,3 +15,3 @@ # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO

name = "v8"
version = "149.3.0"
version = "149.4.0"
authors = ["the Deno authors"]

@@ -18,0 +18,0 @@ build = "build.rs"

Sorry, the diff of this file is not supported yet