From 174e38a8515af69a0782687f67d572410ee9bb6d Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Tue, 4 Jul 2023 18:13:02 +0200 Subject: [PATCH] Remove all uses of concat_idents!() --- src/arch/aarch64/rmm.rs | 16 ++++++---------- src/arch/x86/rmm.rs | 16 ++++++---------- src/lib.rs | 1 - 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/src/arch/aarch64/rmm.rs b/src/arch/aarch64/rmm.rs index 059cc1fe..5af88af9 100644 --- a/src/arch/aarch64/rmm.rs +++ b/src/arch/aarch64/rmm.rs @@ -57,18 +57,14 @@ pub struct BootloaderMemoryEntry { unsafe fn page_flags<A: Arch>(virt: VirtualAddress) -> PageFlags<A> { let virt_addr = virt.data(); - // Test for being inside a region - macro_rules! in_section { - ($n: ident) => { - virt_addr >= &concat_idents!(__, $n, _start) as *const u8 as usize - && virt_addr < &concat_idents!(__, $n, _end) as *const u8 as usize - }; - } - - if in_section!(text) { + if virt_addr >= &__text_start as *const u8 as usize + && virt_addr < &__text_end as *const u8 as usize + { // Remap text read-only, execute PageFlags::new().execute(true) - } else if in_section!(rodata) { + } else if virt_addr >= &__rodata_start as *const u8 as usize + && virt_addr < &__rodata_end as *const u8 as usize + { // Remap rodata read-only, no execute PageFlags::new() } else { diff --git a/src/arch/x86/rmm.rs b/src/arch/x86/rmm.rs index 4593c159..4c635aae 100644 --- a/src/arch/x86/rmm.rs +++ b/src/arch/x86/rmm.rs @@ -58,18 +58,14 @@ pub struct BootloaderMemoryEntry { unsafe fn page_flags<A: Arch>(virt: VirtualAddress) -> PageFlags<A> { let virt_addr = virt.data(); - // Test for being inside a region - macro_rules! in_section { - ($n: ident) => { - virt_addr >= &concat_idents!(__, $n, _start) as *const u8 as usize - && virt_addr < &concat_idents!(__, $n, _end) as *const u8 as usize - }; - } - - if in_section!(text) { + if virt_addr >= &__text_start as *const u8 as usize + && virt_addr < &__text_end as *const u8 as usize + { // Remap text read-only, execute PageFlags::new().execute(true) - } else if in_section!(rodata) { + } else if virt_addr >= &__rodata_start as *const u8 as usize + && virt_addr < &__rodata_end as *const u8 as usize + { // Remap rodata read-only, no execute PageFlags::new() } else { diff --git a/src/lib.rs b/src/lib.rs index d5d9e9ca..55c27329 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -48,7 +48,6 @@ #![feature(array_chunks)] #![feature(iter_array_chunks)] #![feature(asm_const)] // TODO: Relax requirements of most asm invocations -#![feature(concat_idents)] #![feature(core_intrinsics)] #![feature(int_roundings)] #![feature(naked_functions)] -- GitLab