From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by mx.groups.io with SMTP id smtpd.web11.4713.1647673583300880867 for ; Sat, 19 Mar 2022 00:06:23 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=O5akncXY; spf=pass (domain: gmail.com, ip: 209.85.215.170, mailfrom: ayushdevel1325@gmail.com) Received: by mail-pg1-f170.google.com with SMTP id o23so6596130pgk.13 for ; Sat, 19 Mar 2022 00:06:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9TPnB9Bfumv1mPm+jmGckZSq99UE/2DYDnYyzkUfcrc=; b=O5akncXYouZoAvjRTUgPCHhWB8nNp7f88nbUHkxWfejJj47n0rKIakZr+3VHz+9MJ7 25DyKluAYLsmd3kU0Fjyqfyp+4neoVcAcHhMRLmgD8tGwZWpCtJRp9rGSjEudBj3xQy1 CXACwGkqYTUWcCtaCQwRQ6DDeOESO6rZdjOLCFy9vopqPfmY1jS4iyzsI5acsm+3nZJ9 dXeLkGzK+g6/4aElefCrVQxArmFHTofjjWhMRKFyvBY9dL0dlcoEMNrO8NlREQy623NO TAgzMocEle3oljuHgY50PyLKOrqcfwUKrGVnsPzpuy67MmvmrpjZZNfX92PiDj0E3YQ5 WgRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9TPnB9Bfumv1mPm+jmGckZSq99UE/2DYDnYyzkUfcrc=; b=0U1B1ukVB747r15jB6nkeRizrQZc+mF0vF2IzHZevAM2qheJGqqWNvZy9rpoBD0HcX LlduEb7tHsQGRC2hTnZG4fSIQZNYgw+UzX9G2fmDoTBaaiom+ACBL9vMbisbWdGY5iXH 043fDwLaixawqRDiuRo0l8fqg5kErcZmvnmsgXeZVrF1kCJLgA4wKzhLBJ30aKnsHAvn PVVVMnFxdDDwSVDkpPIE+bfntgEdVc2Sj8SfihLdkzJztBLinuUEjzgfo/e8keui1AQw fFXPRmEvzA3bDoot+8T0r9XzNH/9DZSWDM6+KPFR5YyjYCrlc7GUi3SsmV1pjMwP15Uf K02w== X-Gm-Message-State: AOAM530E3YuUusr5yUrtUlbOk7aMc16ryGw1xry7nBKOJ3JNchj182Lq VnALL0b29oQpyKV7YM6e3NWU8cYRwzJ2Aw== X-Google-Smtp-Source: ABdhPJziFbxbiqA9tbI/8xzh6ZGBdGsf6IQOYBc6wDPhMp7hO94Ild5tYHHDZFgzs2yCXHtOZru4+w== X-Received: by 2002:a05:6a00:10cb:b0:4f7:942:6a22 with SMTP id d11-20020a056a0010cb00b004f709426a22mr14288640pfu.84.1647673582480; Sat, 19 Mar 2022 00:06:22 -0700 (PDT) Return-Path: Received: from toolbox.iitism.net ([103.15.228.66]) by smtp.gmail.com with ESMTPSA id u4-20020a056a00158400b004fa0263cf5dsm12300538pfk.130.2022.03.19.00.06.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Mar 2022 00:06:22 -0700 (PDT) From: "Ayush Singh" To: devel@edk2.groups.io Cc: Jiewen Yao Subject: [PATCH v1 3/3] RustPkg/Test/TestRustLangApp: Fix building Date: Sat, 19 Mar 2022 12:35:53 +0530 Message-Id: <20220319070553.25770-4-ayushdevel1325@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220319070553.25770-1-ayushdevel1325@gmail.com> References: <20220319070553.25770-1-ayushdevel1325@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Removed defination of _fltused from RustPkg/Library/UefiRustIntrinsicLib since compiler_builtins now provides one Cc: Jiewen Yao Signed-off-by: Ayush Singh --- RustPkg/Library/UefiRustIntrinsicLib/src/lib.rs | 8 -- RustPkg/Test/TestRustLangApp/.cargo/config.toml | 3 + RustPkg/Test/TestRustLangApp/src/main.rs | 95 +++++++++----------- 3 files changed, 43 insertions(+), 63 deletions(-) diff --git a/RustPkg/Library/UefiRustIntrinsicLib/src/lib.rs b/RustPkg/Libr= ary/UefiRustIntrinsicLib/src/lib.rs index c2341e9a65af..2bfdc524a11c 100644 --- a/RustPkg/Library/UefiRustIntrinsicLib/src/lib.rs +++ b/RustPkg/Library/UefiRustIntrinsicLib/src/lib.rs @@ -12,15 +12,7 @@ // See the License for the specific language governing permissions and=0D // limitations under the License.=0D =0D -=0D #![cfg_attr(not(test), no_std)]=0D -=0D #![allow(unused)]=0D =0D -#[used]=0D -#[no_mangle]=0D -pub static _fltused : i32 =3D 0;=0D -=0D extern crate uefi_rust_panic_lib;=0D -=0D -=0D diff --git a/RustPkg/Test/TestRustLangApp/.cargo/config.toml b/RustPkg/Test= /TestRustLangApp/.cargo/config.toml new file mode 100644 index 000000000000..422bf9d2ab4e --- /dev/null +++ b/RustPkg/Test/TestRustLangApp/.cargo/config.toml @@ -0,0 +1,3 @@ +[unstable] +build-std =3D ["core", "compiler_builtins", "alloc"] +build-std-features =3D ["compiler-builtins-mem"] diff --git a/RustPkg/Test/TestRustLangApp/src/main.rs b/RustPkg/Test/TestRu= stLangApp/src/main.rs index 9dcea4fa5c4e..72bb12e16adf 100644 --- a/RustPkg/Test/TestRustLangApp/src/main.rs +++ b/RustPkg/Test/TestRustLangApp/src/main.rs @@ -13,120 +13,105 @@ // limitations under the License.=0D =0D #![crate_type =3D "staticlib"]=0D -=0D #![feature(alloc_layout_extra)]=0D #![feature(allocator_api)]=0D #![feature(alloc_error_handler)]=0D -#![feature(core_panic_info)]=0D -#![feature(asm)]=0D -=0D #![cfg_attr(not(test), no_std)]=0D #![no_main]=0D -=0D #![allow(unused)]=0D =0D mod mem;=0D =0D extern crate test_rust_lang_lib;=0D +extern crate uefi_rust_allocation_lib;=0D extern crate uefi_rust_intrinsic_lib;=0D extern crate uefi_rust_panic_lib;=0D -extern crate uefi_rust_allocation_lib;=0D =0D use r_efi::efi;=0D -use r_efi::efi::{Status};=0D +use r_efi::efi::Status;=0D =0D -use core::panic::PanicInfo;=0D use core::ffi::c_void;=0D +use core::panic::PanicInfo;=0D =0D use core::mem::size_of;=0D use core::mem::transmute;=0D =0D use core::slice::from_raw_parts;=0D =0D -=0D -static mut ST : *mut efi::SystemTable =3D core::ptr::null_mut();=0D -static mut BS : *mut efi::BootServices =3D core::ptr::null_mut();=0D +static mut ST: *mut efi::SystemTable =3D core::ptr::null_mut();=0D +static mut BS: *mut efi::BootServices =3D core::ptr::null_mut();=0D =0D extern crate alloc;=0D =0D -use alloc::vec::Vec;=0D use alloc::boxed::Box;=0D -=0D +use alloc::vec::Vec;=0D =0D #[no_mangle]=0D #[export_name =3D "AllocatePool"]=0D -extern fn AllocatePool (size: usize) -> *mut c_void=0D -{=0D - let mut address : *mut c_void =3D core::ptr::null_mut();=0D - =0D - let status =3D unsafe { ((*BS).allocate_pool) (=0D - efi::MemoryType::BootServicesData,=0D - size,=0D - &mut address as *mut *mut c_void=0D - ) } ;=0D - if status !=3D Status::SUCCESS {=0D +extern "C" fn AllocatePool(size: usize) -> *mut c_void {=0D + let mut address: *mut c_void =3D core::ptr::null_mut();=0D +=0D + let status =3D unsafe {=0D + ((*BS).allocate_pool)(=0D + efi::MemoryType::BootServicesData,=0D + size,=0D + &mut address as *mut *mut c_void,=0D + )=0D + };=0D + if status !=3D Status::SUCCESS {=0D return core::ptr::null_mut();=0D - }=0D - address as *mut c_void=0D + }=0D + address as *mut c_void=0D }=0D =0D -=0D -=0D #[no_mangle]=0D #[export_name =3D "AllocateZeroPool"]=0D -extern fn AllocateZeroPool (size: usize) -> *mut c_void=0D -{=0D - let buffer =3D AllocatePool (size);=0D +extern "C" fn AllocateZeroPool(size: usize) -> *mut c_void {=0D + let buffer =3D AllocatePool(size);=0D if buffer =3D=3D core::ptr::null_mut() {=0D - return core::ptr::null_mut();=0D + return core::ptr::null_mut();=0D }=0D =0D - unsafe {core::ptr::write_bytes (buffer, 0, size);}=0D + unsafe {=0D + core::ptr::write_bytes(buffer, 0, size);=0D + }=0D =0D buffer as *mut c_void=0D }=0D =0D -=0D -=0D #[no_mangle]=0D #[export_name =3D "FreePool"]=0D -extern fn FreePool (buffer: *mut c_void)=0D -{=0D +extern "C" fn FreePool(buffer: *mut c_void) {=0D unsafe {=0D - ((*BS).free_pool) (buffer as *mut c_void);=0D + ((*BS).free_pool)(buffer as *mut c_void);=0D }=0D }=0D #[no_mangle]=0D #[export_name =3D "ExternInit"]=0D -extern fn ExternInit(data: *mut usize)=0D -{=0D -}=0D -=0D +extern "C" fn ExternInit(data: *mut usize) {}=0D =0D #[no_mangle]=0D -pub extern fn efi_main(handle: efi::Handle, system_table: *mut efi::System= Table) -> Status=0D -{=0D +pub extern "C" fn efi_main(handle: efi::Handle, system_table: *mut efi::Sy= stemTable) -> Status {=0D uefi_rust_allocation_lib::init(system_table);=0D =0D unsafe {=0D - ST =3D system_table;=0D - BS =3D (*ST).boot_services;=0D + ST =3D system_table;=0D + BS =3D (*ST).boot_services;=0D }=0D =0D // L"Hello World!/r/n"=0D - let string_name =3D & mut [=0D - 0x48u16, 0x65u16, 0x6cu16, 0x6cu16, 0x6fu16, 0x20u16,=0D - 0x57u16, 0x6fu16, 0x72u16, 0x6cu16, 0x64u16, 0x21u16,=0D - 0x0Au16, 0x0Du16, 0x00u16=0D - ];=0D + let string_name =3D &mut [=0D + 0x48u16, 0x65u16, 0x6cu16, 0x6cu16, 0x6fu16, 0x20u16, 0x57u16, 0x6= fu16, 0x72u16, 0x6cu16,=0D + 0x64u16, 0x21u16, 0x0Au16, 0x0Du16, 0x00u16,=0D + ];=0D unsafe {=0D - ((*((*ST).con_out)).output_string) (=0D - unsafe {(*ST).con_out},=0D - string_name.as_ptr() as *mut efi::Char16,=0D - );=0D + ((*((*ST).con_out)).output_string)(=0D + unsafe { (*ST).con_out },=0D + string_name.as_ptr() as *mut efi::Char16,=0D + );=0D }=0D =0D - test_rust_lang_lib::test_integer_overflow (0x10000, 0xFFFFFFFF, 0xFFFF= FFFF);=0D + test_rust_lang_lib::test_integer_overflow(0x10000, 0xFFFFFFFF, 0xFFFFF= FFF);=0D =0D Status::SUCCESS=0D }=0D --=20 2.35.1