From c596e8d40791aa339c559c238a66fb2110dbbf45 Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Fri, 19 Jul 2024 16:28:41 -0400 Subject: [PATCH] Mention PowerPC support in docs/ One step towards #33. --- docs/src/architecture/core.md | 2 +- docs/src/architecture/loader.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/architecture/core.md b/docs/src/architecture/core.md index 65ead87..f91bf7d 100644 --- a/docs/src/architecture/core.md +++ b/docs/src/architecture/core.md @@ -12,7 +12,7 @@ In a symbolic execution pipeline, these overrides are packed into the `FunctionA These ABI types are memory-model and arch independent structures defining how to pass values between functions. They consist of functions defining how to retrieve arguments, as well as how to retrieve the return result, and return address. -For testing, the ABIs used assume LLVM and Linux, supporting AArch32 and X86_64. +For testing, the ABIs used assume LLVM and Linux, supporting AArch32, X86_64, and PowerPC (32-bit and 64-bit). ## BuildFunctionABI and BuildSyscallABI These types wrap around functions that construct ABI types, based on memory. The loader passes these along to its continuation, as part of its arch/memory specific data. diff --git a/docs/src/architecture/loader.md b/docs/src/architecture/loader.md index 6914904..c621a74 100644 --- a/docs/src/architecture/loader.md +++ b/docs/src/architecture/loader.md @@ -1,5 +1,5 @@ # Loader -The loader module handles the loading of binaries from a given path. Concretely, this entails reading the file contents to determine the architecture, so that architecture specific definitions like the ABI (Linux is assumed) can be loaded. The core of this is performed by `withBinary`, which supports Arm32 and x86_64, assuming Linux with LLVM's memory model. This function is continuation based, and passes architecture specific values on to the continuation. +The loader module handles the loading of binaries from a given path. Concretely, this entails reading the file contents to determine the architecture, so that architecture specific definitions like the ABI (Linux is assumed) can be loaded. The core of this is performed by `withBinary`, which supports Arm32, x86_64, and PowerPC (32- and 64-bit), assuming Linux with LLVM's memory model. This function is continuation based, and passes architecture specific values on to the continuation. The Loader is currently partially dependent on a solver backend. This is due to several components of the supported ABIs being LLVM-dependent and needing constraints over the symbolic backend.