Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/libc/src/unix/solarish/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 4 kB image not shown  

Quelle  x86_64.rs

  Sprache: Rust
 

use crate::prelude::*;

cfg_if! {
    if #[cfg(target_os = "solaris")] {
        use crate::unix::solarish::solaris;
    }
}

pub type greg_t = c_long;

pub type Elf64_Addr = c_ulong;
pub type Elf64_Half = c_ushort;
pub type Elf64_Off = c_ulong;
pub type Elf64_Sword = c_int;
pub type Elf64_Sxword = c_long;
pub type Elf64_Word = c_uint;
pub type Elf64_Xword = c_ulong;
pub type Elf64_Lword = c_ulong;
pub type Elf64_Phdr = __c_anonymous_Elf64_Phdr;

s! {
    pub struct __c_anonymous_fpchip_state {
        pub cw: u16,
        pub sw: u16,
        pub fctw: u8,
        pub __fx_rsvd: u8,
        pub fop: u16,
        pub rip: u64,
        pub rdp: u64,
        pub mxcsr: u32,
        pub mxcsr_mask: u32,
        pub st: [crate::upad128_t; 8],
        pub xmm: [crate::upad128_t; 16],
        pub __fx_ign: [crate::upad128_t; 6],
        pub status: u32,
        pub xstatus: u32,
    }

    pub struct __c_anonymous_Elf64_Phdr {
        pub p_type: crate::Elf64_Word,
        pub p_flags: crate::Elf64_Word,
        pub p_offset: crate::Elf64_Off,
        pub p_vaddr: crate::Elf64_Addr,
        pub p_paddr: crate::Elf64_Addr,
        pub p_filesz: crate::Elf64_Xword,
        pub p_memsz: crate::Elf64_Xword,
        pub p_align: crate::Elf64_Xword,
    }

    pub struct dl_phdr_info {
        pub dlpi_addr: crate::Elf64_Addr,
        pub dlpi_name: *const c_char,
        pub dlpi_phdr: *const crate::Elf64_Phdr,
        pub dlpi_phnum: crate::Elf64_Half,
        pub dlpi_adds: c_ulonglong,
        pub dlpi_subs: c_ulonglong,
        #[cfg(target_os = "solaris")]
        pub dlpi_tls_modid: c_ulong,
        #[cfg(target_os = "solaris")]
        pub dlpi_tls_data: *mut c_void,
    }

    pub struct fpregset_t {
        pub fp_reg_set: __c_anonymous_fp_reg_set,
    }

    pub struct mcontext_t {
        pub gregs: [crate::greg_t; 28],
        pub fpregs: fpregset_t,
    }

    pub struct ucontext_t {
        pub uc_flags: c_ulong,
        pub uc_link: *mut ucontext_t,
        pub uc_sigmask: crate::sigset_t,
        pub uc_stack: crate::stack_t,
        pub uc_mcontext: mcontext_t,
        #[cfg(target_os = "illumos")]
        pub uc_brand_data: [*mut c_void; 3],
        #[cfg(target_os = "illumos")]
        pub uc_xsave: c_long,
        #[cfg(target_os = "illumos")]
        pub uc_filler: c_long,
        #[cfg(target_os = "solaris")]
        pub uc_xrs: solaris::xrs_t,
        #[cfg(target_os = "solaris")]
        pub uc_lwpid: c_uint,
        #[cfg(target_os = "solaris")]
        pub uc_filler: [c_long; 2],
    }
}

s_no_extra_traits! {
    pub union __c_anonymous_fp_reg_set {
        pub fpchip_state: __c_anonymous_fpchip_state,
        pub f_fpregs: [[u32; 13]; 10],
    }
}

cfg_if! {
    if #[cfg(feature = "extra_traits")] {
        impl PartialEq for __c_anonymous_fp_reg_set {
            fn eq(&self, other: &__c_anonymous_fp_reg_set) -> bool {
                unsafe {
                    self.fpchip_state == other.fpchip_state
                        || self
                            .f_fpregs
                            .iter()
                            .zip(other.f_fpregs.iter())
                            .all(|(a, b)| a == b)
                }
            }
        }
        impl Eq for __c_anonymous_fp_reg_set {}
        impl hash::Hash for __c_anonymous_fp_reg_set {
            fn hash<H: hash::Hasher>(&self, state: &mut H) {
                unsafe {
                    self.f_fpregs.hash(state);
                }
            }
        }
    }
}

// sys/regset.h

pub const REG_GSBASE: c_int = 27;
pub const REG_FSBASE: c_int = 26;
pub const REG_DS: c_int = 25;
pub const REG_ES: c_int = 24;
pub const REG_GS: c_int = 23;
pub const REG_FS: c_int = 22;
pub const REG_SS: c_int = 21;
pub const REG_RSP: c_int = 20;
pub const REG_RFL: c_int = 19;
pub const REG_CS: c_int = 18;
pub const REG_RIP: c_int = 17;
pub const REG_ERR: c_int = 16;
pub const REG_TRAPNO: c_int = 15;
pub const REG_RAX: c_int = 14;
pub const REG_RCX: c_int = 13;
pub const REG_RDX: c_int = 12;
pub const REG_RBX: c_int = 11;
pub const REG_RBP: c_int = 10;
pub const REG_RSI: c_int = 9;
pub const REG_RDI: c_int = 8;
pub const REG_R8: c_int = 7;
pub const REG_R9: c_int = 6;
pub const REG_R10: c_int = 5;
pub const REG_R11: c_int = 4;
pub const REG_R12: c_int = 3;
pub const REG_R13: c_int = 2;
pub const REG_R14: c_int = 1;
pub const REG_R15: c_int = 0;

Messung V0.5 in Prozent
C=100 H=98 G=98

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet am  2026-08-27) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.