Commit Graph

2229 Commits

Author SHA1 Message Date
Your Name
03fc41f42e aarch32-syntax: Remove references to x86 2024-11-21 11:36:13 -05:00
Your Name
41a6665684 aarch32-syntax: Also test set-reg 2024-11-21 11:36:13 -05:00
Your Name
54e587a2a3 macaw-aarch32-syntax: Syntactic sugar for for AArch32 CFGs 2024-11-21 11:36:13 -05:00
Langston Barrett
d7470c1d6c
Merge pull request #446 from GaloisInc/lb/translate-cli
macaw-dump: A CLI for printing internal data structures
2024-11-13 16:43:24 -05:00
Your Name
cff4945385 riscv-symbolic: Split 32-bit and 64-bit dump CLIs 2024-11-13 10:11:59 -05:00
Your Name
ba19e989ec Revert "ppc-symbolic: Separate Dump CLIs for 32- and 64-bit"
This reverts commit 002e2e3aea.

PPC64 requires a `LoadedBinary`, which is actually a bit of a pain to
get ahold of in `Dump64.hs`. We should fix this, but perhaps later...
2024-11-12 16:19:30 -05:00
Your Name
8dc67ff803 riscv-symbolic: dump CLI 2024-11-12 16:01:38 -05:00
Your Name
002e2e3aea ppc-symbolic: Separate Dump CLIs for 32- and 64-bit
The `macaw-dump` library controls the CLI of the `macaw-*-dump` tools,
which is great for sharing code, but makes it difficult to e.g.,
select either 32-bit or 64-bit PPC from a single executable at the
command-line. Instead, just make separate executables.
2024-11-12 15:42:46 -05:00
Your Name
fb4a8d361a More haddock fixes 2024-11-12 15:37:24 -05:00
Your Name
1c777a0385 dump: Add note that symbols are expected to be UTF-8 2024-11-12 15:09:57 -05:00
Your Name
fa69fcfa77 x86: dump executable 2024-11-12 15:09:43 -05:00
Your Name
9e02ae73d6 dump: Stop supressing a warning, use MonoLocalBinds 2024-11-12 14:23:18 -05:00
Your Name
1cbe6e00b8 Add headers when printing Crucible CFGs too 2024-11-12 14:21:37 -05:00
Your Name
d4f6105e90 Haddock fixes 2024-11-12 14:13:51 -05:00
Your Name
3ff61dc8cc dump: Simplify GHC warning configuration in Cabal file
Remove conditionals concerning compiler versions that we don't support
2024-11-12 14:06:19 -05:00
David Holland
f65a72da4d
Merge pull request #450 from GaloisInc/449-git-urls
Change git:// url to https:// in macaw-refinement.cabal
2024-11-04 13:48:29 -05:00
David Holland
de4cbc3868 Change git:// url to https:// in macaw-refinement.cabal.
Closes #449.
2024-11-01 23:27:45 -04:00
Langston Barrett
73adafd3ae dump: Fix compilation with GHC 9.4 2024-10-16 11:45:43 -04:00
Your Name
e081826c9a dump: Add subcommand to dump PLT stubs 2024-10-10 11:09:19 -04:00
Your Name
76e499906b dump: Implementation for PPC 2024-10-09 12:20:50 -04:00
Your Name
05b5a284fc dump: CLI via optparse-applicative 2024-10-09 12:05:00 -04:00
Langston Barrett
7c3bd2fa93 macaw-dump: A CLI for printing internal data structures
A simple library and tiny wrappers for different architectures, intended
for debugging purposes. The only current capability is to run code
discovery on a set of symbols in a binary (or all of them if none are
specified), and pretty-print the resulting Macaw or Crucible CFGs.
2024-10-09 10:44:36 -04:00
Langston Barrett
30b4579945
ppc-symbolic: Indexes for registers (#445) 2024-09-26 16:25:04 -04:00
Your Name
206a864868 aarch32-symbolic: Remove accidentally-included -ddump-simpl 2024-09-25 15:42:53 -04:00
Your Name
9861e07eda aarch32-symbolic: Haddock typo 2024-09-25 15:42:53 -04:00
Your Name
dc7e3467c0 aarch32-symbolic: Add SIMD register Indexes 2024-09-25 15:42:53 -04:00
Your Name
175fad0e53 aarch32-symbolic: Simplify register Index definitions 2024-09-25 15:42:53 -04:00
Your Name
264101f61a aarch32-symbolic: Factor register-related definitions into a separate module 2024-09-25 15:42:53 -04:00
Langston Barrett
ce64ab7f5b
Merge pull request #443 from GaloisInc/lb/x86-regs
x86-symbolic: `Index` definitions for remaining registers
2024-09-24 15:49:47 -04:00
Your Name
dfaa7cbf68 x86-symbolic: Add mm* aliases for st* registers 2024-09-24 15:17:09 -04:00
Your Name
f4f1e1fe43 x86-symbolic: Indexes for the remaining registers 2024-09-24 14:28:28 -04:00
Your Name
896d35cba9 x86-symbolic: Remove terse register names from top-level exports
These names are so short that they might conflict with local names in
files that import this module. Instead, export them from `Regs` and
encourage qualified use of that module.
2024-09-24 13:50:39 -04:00
Your Name
a022c2bf18 x86-symbolic: Split out registers into their own module 2024-09-24 13:39:50 -04:00
Your Name
79cf6eb04d x86-symbolic: Add Index definitions, type aliases for X87 status regs 2024-09-24 13:23:29 -04:00
Your Name
5f28a031c3 x86-symbolic: Simplify register Index definitions, add flags registers 2024-09-24 13:15:26 -04:00
Your Name
d470abe976 symbolic: Remove support for stack-spilled arguments
Many ABIs impose some kind of alignment constraints on the stack
pointer. For example, both the AArch32 and x86_64 SysV ABIs specify
that the end of the spilled argument list is aligned to 2*w where w
is the number of bytes in a word. Since macaw-symbolic has no notion
of the ABI in use, its ABI-agnostic code could only ever satisfy such
alignment constraints accidentally. Clients wishing to spill arguments
to the stack should do so with ABI-specific functionality.
2024-09-24 10:09:55 -04:00
Langston Barrett
0d00be34a9
Merge pull request #439 from GaloisInc/lb/arm-abi
aarch32-symbolic: Setting up an ABI-compatible stack
2024-09-23 17:36:52 -04:00
Your Name
e9f939a245 {aarch32-,}symbolic: Additional commentary 2024-09-23 16:30:55 -04:00
Your Name
94195b485c symbolic: Sort imports 2024-09-23 15:50:44 -04:00
Your Name
c43be551df aarch32-symbolic: Reuse upstream implementation of alignStackPointer 2024-09-23 15:49:12 -04:00
Your Name
dcc87334c7 x86-symbolic: Reuse upstream implementation of alignStackPointer 2024-09-23 15:49:03 -04:00
Your Name
33af2814d9 symbolic-aarch32: Use ABI-compatible stack setup code in test harness 2024-09-23 13:16:43 -04:00
Your Name
3cdbb2c962 symbolic: Fix off-by-one error in stack setup code 2024-09-23 13:16:43 -04:00
Your Name
e741905b21 symbolic-aarch32: Use upstream code for stack-spilled arguments 2024-09-20 17:41:20 -04:00
Your Name
2398322a2c symbolic: Upstream stack spilled argument code from x86-symbolic
...so that it can also be used by AArch32.
2024-09-20 17:29:10 -04:00
Your Name
14f3124575 aarch32-symbolic: Setting up an ABI-compatible stack 2024-09-20 16:01:02 -04:00
Langston Barrett
edbcee3494
aarch32-symbolic: Named Indexes into ArchRegContext AArch32 (#438)
... like the ones for x86_64. These will help in development of a
concrete syntax for macaw-symbolic-aarch32, and can be helpful when
setting up or interpreting the results from symbolic execution.
2024-09-20 15:59:52 -04:00
Langston Barrett
31dcc1e3ea
x86-symbolic: Establish SysV stack alignment (#437)
Fixes #436.
2024-09-20 10:29:06 -04:00
Langston Barrett
4e4a047d45
Merge pull request #433 from GaloisInc/lb/stack-abi
x86-symbolic: Setting up a SysV-compatible stack
2024-09-17 16:42:19 -04:00
Langston Barrett
e1886a8892 symbolic: Address review comments 2024-09-11 20:19:43 -04:00