mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-31 05:26:23 +03:00
Fix remaining windows hooks
This commit is contained in:
+1
-1
@@ -26,12 +26,12 @@ install:
|
||||
- cd xargo
|
||||
- set RUSTFLAGS=-Zalways-encode-mir -Zmir-emit-validate=1
|
||||
- xargo build
|
||||
- set RUSTFLAGS=
|
||||
- cd ..
|
||||
|
||||
build: false
|
||||
|
||||
test_script:
|
||||
- set RUSTFLAGS=-g
|
||||
- set RUST_BACKTRACE=1
|
||||
- cargo build --release
|
||||
- cargo test --release
|
||||
|
||||
+4
-8
@@ -645,13 +645,11 @@ fn call_foreign_item(
|
||||
"GetProcAddress" |
|
||||
"TryEnterCriticalSection" => {
|
||||
// pretend these do not exist/nothing happened, by returning zero
|
||||
let ptr_size = self.memory.pointer_size();
|
||||
self.write_scalar(dest, Scalar::from_int(0, ptr_size), dest_ty)?;
|
||||
self.write_scalar(dest, Scalar::from_int(0, dest_layout.size), dest_ty)?;
|
||||
},
|
||||
"GetLastError" => {
|
||||
// this is c::ERROR_CALL_NOT_IMPLEMENTED
|
||||
let ptr_size = self.memory.pointer_size();
|
||||
self.write_scalar(dest, Scalar::from_int(120, ptr_size), dest_ty)?;
|
||||
self.write_scalar(dest, Scalar::from_int(120, dest_layout.size), dest_ty)?;
|
||||
},
|
||||
|
||||
// Windows TLS
|
||||
@@ -665,8 +663,7 @@ fn call_foreign_item(
|
||||
if dest_layout.size.bits() < 128 && key >= (1u128 << dest_layout.size.bits() as u128) {
|
||||
return err!(OutOfTls);
|
||||
}
|
||||
let ptr_size = self.memory.pointer_size();
|
||||
self.write_scalar(dest, Scalar::from_uint(key, ptr_size), dest_layout.ty)?;
|
||||
self.write_scalar(dest, Scalar::from_uint(key, dest_layout.size), dest_layout.ty)?;
|
||||
}
|
||||
"TlsGetValue" => {
|
||||
let key = self.value_to_scalar(args[0])?.to_bytes()?;
|
||||
@@ -677,10 +674,9 @@ fn call_foreign_item(
|
||||
let key = self.value_to_scalar(args[0])?.to_bytes()?;
|
||||
let new_ptr = self.into_ptr(args[1].value)?.unwrap_or_err()?;
|
||||
self.memory.store_tls(key, new_ptr)?;
|
||||
let ptr_size = self.memory.pointer_size();
|
||||
|
||||
// Return success (1)
|
||||
self.write_scalar(dest, Scalar::from_int(1, ptr_size), dest_ty)?;
|
||||
self.write_scalar(dest, Scalar::from_int(1, dest_layout.size), dest_ty)?;
|
||||
}
|
||||
|
||||
// We can't execute anything else
|
||||
|
||||
Reference in New Issue
Block a user