Documentation

Miri.Interpreter.LinuxSyscall

Pinned linux_like/syscall.rs and thread.rs::prctl. Extra varargs may be ignored, but every argument preceding a used one must be checked first.

structure Miri.Interpreter.LinuxSyscall.SyscallHooks (S D MD Ptr B I F : Type) :

Common source syscall algorithm with only the futex and accept4 effects parameterized. The normal constructor supplies their complete semantics; source assemblies missing either capability can retain the same syscall prefix and exact branch checks before returning demand-local Unsupported.

Instances For
    structure Miri.Interpreter.LinuxSyscall.PrctlHooks (S D MD Ptr B I : Type) :
    Instances For
      def Miri.Interpreter.LinuxSyscall.syscallCore {S D MD Ptr B I F : Type} (h : SyscallHooks S D MD Ptr B I F) (name : String) (abi : ABI.FnAbi MIR.TyId) (args : Array (OpTy Memory.Provenance)) (dest : MPlaceTy Memory.Provenance) :

      All five constant lookups precede the opcode read, regardless of branch.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Miri.Interpreter.LinuxSyscall.prctlCore {S D MD Ptr B I : Type} (h : PrctlHooks S D MD Ptr B I) (name : String) (abi : ABI.FnAbi MIR.TyId) (args : Array (OpTy Memory.Provenance)) (dest : MPlaceTy Memory.Provenance) :
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Miri.Interpreter.LinuxSyscall.prctl {S R F D B I : Type} (h : Hooks S R F D B I) (name : String) (abi : ABI.FnAbi MIR.TyId) (args : Array (OpTy Memory.Provenance)) (dest : MPlaceTy Memory.Provenance) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Miri.Interpreter.LinuxSyscall.syscall {S R F D B I : Type} (h : Hooks S R F D B I) (name : String) (abi : ABI.FnAbi MIR.TyId) (args : Array (OpTy Memory.Provenance)) (dest : MPlaceTy Memory.Provenance) :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Miri.Interpreter.LinuxSyscall.bindFutexArgs {S R F D B I : Type} (h : Hooks S R F D B I) :

              Install the real source type checker for futex vararg prefixes.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For