diff options
author | Luke Channings <461449+LukeChannings@users.noreply.github.com> | 2022-10-10 03:29:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-10 07:59:31 +0530 |
commit | a2488ae79200abfcbad0f0f8b084a3ff8e183880 (patch) | |
tree | 23a0e5138e0de596834b71a65795a0ffb5ddcfa2 /test_napi/src | |
parent | 3b6b75bb46840a897a310dfd3fcbbd05618f3c5b (diff) |
fix(npm): support compiling on linux/aarch64 (#16208)
Changes introduced in #13633 have broken the ability to compile for
linux/aarch64 - specifically the use of a `i8` as a char type, which is
an `u8` on linux/aarch64.
This PR:
- Replaces instances of `i8` with the architecture-aware wrapper type
`c_char`
- Skips the use of `--export-dynamic-symbol` on linux-aarch64, because
the target environments often rely on older libc/binutils versions
Diffstat (limited to 'test_napi/src')
-rw-r--r-- | test_napi/src/async.rs | 4 | ||||
-rw-r--r-- | test_napi/src/lib.rs | 2 | ||||
-rw-r--r-- | test_napi/src/object_wrap.rs | 4 | ||||
-rw-r--r-- | test_napi/src/properties.rs | 9 |
4 files changed, 10 insertions, 9 deletions
diff --git a/test_napi/src/async.rs b/test_napi/src/async.rs index d14871a7c..53432de7c 100644 --- a/test_napi/src/async.rs +++ b/test_napi/src/async.rs @@ -3,7 +3,7 @@ use napi_sys::Status::napi_ok; use napi_sys::ValueType::napi_function; use napi_sys::*; -use std::os::raw::c_void; +use std::os::raw::{c_char, c_void}; use std::ptr; pub struct Baton { @@ -62,7 +62,7 @@ extern "C" fn test_async_work( unsafe { napi_create_string_utf8( env, - "test_async_resource\0".as_ptr() as *const i8, + "test_async_resource\0".as_ptr() as *const c_char, usize::MAX, &mut resource_name, ) diff --git a/test_napi/src/lib.rs b/test_napi/src/lib.rs index dd0c7cbed..569256a0b 100644 --- a/test_napi/src/lib.rs +++ b/test_napi/src/lib.rs @@ -42,7 +42,7 @@ macro_rules! get_callback_info { macro_rules! new_property { ($env: expr, $name: expr, $value: expr) => { napi_property_descriptor { - utf8name: $name.as_ptr() as *const i8, + utf8name: $name.as_ptr() as *const std::os::raw::c_char, name: ptr::null_mut(), method: Some($value), getter: None, diff --git a/test_napi/src/object_wrap.rs b/test_napi/src/object_wrap.rs index 3b849b2dc..a38f97c9c 100644 --- a/test_napi/src/object_wrap.rs +++ b/test_napi/src/object_wrap.rs @@ -3,7 +3,7 @@ use napi_sys::Status::napi_ok; use napi_sys::ValueType::napi_number; use napi_sys::*; -use std::os::raw::c_void; +use std::os::raw::{c_char, c_void}; use std::ptr; pub struct NapiObject { @@ -146,7 +146,7 @@ pub fn init(env: napi_env, exports: napi_value) { napi_set_named_property( env, exports, - "NapiObject\0".as_ptr() as *const i8, + "NapiObject\0".as_ptr() as *const c_char, cons, ) } == napi_ok diff --git a/test_napi/src/properties.rs b/test_napi/src/properties.rs index 89d95d6c6..b245fd61d 100644 --- a/test_napi/src/properties.rs +++ b/test_napi/src/properties.rs @@ -3,6 +3,7 @@ use napi_sys::PropertyAttributes::*; use napi_sys::Status::napi_ok; use napi_sys::*; +use std::os::raw::c_char; use std::ptr; pub fn init(env: napi_env, exports: napi_value) { @@ -15,7 +16,7 @@ pub fn init(env: napi_env, exports: napi_value) { unsafe { napi_create_string_utf8( env, - "key_v8_string".as_ptr() as *const i8, + "key_v8_string".as_ptr() as *const c_char, usize::MAX, &mut name_value, ) @@ -29,7 +30,7 @@ pub fn init(env: napi_env, exports: napi_value) { unsafe { napi_create_string_utf8( env, - "key_v8_symbol".as_ptr() as *const i8, + "key_v8_symbol".as_ptr() as *const c_char, usize::MAX, &mut symbol_description, ) @@ -42,7 +43,7 @@ pub fn init(env: napi_env, exports: napi_value) { let properties = &[ napi_property_descriptor { - utf8name: "test_property_rw\0".as_ptr() as *const i8, + utf8name: "test_property_rw\0".as_ptr() as *const c_char, name: ptr::null_mut(), method: None, getter: None, @@ -52,7 +53,7 @@ pub fn init(env: napi_env, exports: napi_value) { value: number, }, napi_property_descriptor { - utf8name: "test_property_r\0".as_ptr() as *const i8, + utf8name: "test_property_r\0".as_ptr() as *const c_char, name: ptr::null_mut(), method: None, getter: None, |