diff options
Diffstat (limited to 'vendor/libloading/src/os/unix')
-rw-r--r-- | vendor/libloading/src/os/unix/consts.rs | 7 | ||||
-rw-r--r-- | vendor/libloading/src/os/unix/mod.rs | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/vendor/libloading/src/os/unix/consts.rs b/vendor/libloading/src/os/unix/consts.rs index dbe4df972..ea7a6a102 100644 --- a/vendor/libloading/src/os/unix/consts.rs +++ b/vendor/libloading/src/os/unix/consts.rs @@ -60,6 +60,8 @@ mod posix { cfg_if! { if #[cfg(target_os = "haiku")] { pub(super) const RTLD_LAZY: c_int = 0; + } else if #[cfg(target_os = "aix")] { + pub(super) const RTLD_LAZY: c_int = 4; } else if #[cfg(any( target_os = "linux", target_os = "android", @@ -104,6 +106,7 @@ mod posix { target_os = "openbsd", target_os = "netbsd", + target_os = "aix", target_os = "solaris", target_os = "illumos", @@ -129,6 +132,8 @@ mod posix { all(target_os = "android",target_pointer_width = "32"), ))] { pub(super) const RTLD_GLOBAL: c_int = 2; + } else if #[cfg(target_os = "aix")] { + pub(super) const RTLD_GLOBAL: c_int = 0x10000; } else if #[cfg(any( target_env = "uclibc", all(target_os = "linux", target_arch = "mips"), @@ -169,6 +174,8 @@ mod posix { cfg_if! { if #[cfg(target_os = "netbsd")] { pub(super) const RTLD_LOCAL: c_int = 0x200; + } else if #[cfg(target_os = "aix")] { + pub(super) const RTLD_LOCAL: c_int = 0x80000; } else if #[cfg(any( target_os = "macos", target_os = "ios", diff --git a/vendor/libloading/src/os/unix/mod.rs b/vendor/libloading/src/os/unix/mod.rs index fd0777eab..df7efdad5 100644 --- a/vendor/libloading/src/os/unix/mod.rs +++ b/vendor/libloading/src/os/unix/mod.rs @@ -365,9 +365,7 @@ pub struct Symbol<T> { impl<T> Symbol<T> { /// Convert the loaded `Symbol` into a raw pointer. pub fn into_raw(self) -> *mut raw::c_void { - let pointer = self.pointer; - mem::forget(self); - pointer + self.pointer } } |