about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix the 011111 group of store instructions wrt r0Aymeric Vincent2018-03-151-2/+3
|/ | | | | | | | | | The 011111 group of store instructions is split in two sets: one in which r0 has value 0, and another where r0 mustn't be used. A "typographical inversion" interverted the two sets, leading to a semantics error when r0 is used with the subset which expects a hardcoded 0 value. Found by @commial, thanks!
* Merge pull request #698 from serpilliere/release_v0.0.1Camille Mougey2018-03-121-0/+10
|\ | | | | Add changelog
| * Add changelogFabrice Desclaux2018-03-121-0/+10
| |
* | Merge pull request #627 from WilliamBruneau/fix_dse_strategiesCamille Mougey2018-03-121-9/+27
|\ \ | | | | | | Fix dse strategies
| * | Add handle_correct_destination()William Bruneau2018-03-121-13/+17
| | |
| * | Fix according to @p-l- commentWilliam Bruneau2018-03-121-2/+2
| | |
| * | Compute branches using the previous addressWilliam Bruneau2018-03-121-2/+9
| | | | | | | | | | | | | | | | | | 'destination' is the address that we could have reached instead of the current address. Therefore the new branch that can be reach with the new solution is 'previous_addr -> destination'.
| * | Do not use current address to compute path for the new solutionWilliam Bruneau2018-03-121-1/+4
| | | | | | | | | | | | | | | | | | | | | When using path coverage strategy we do not want to include the current address in the path that will be reached by the new solution. Indeed, 'destination' is the address that we could have reached instead of the current address using the new solution.
| * | Reinitialize _history when restoring snapshotWilliam Bruneau2018-03-121-0/+4
|/ / | | | | | | | | | | Each time we restore a snapshot we want to restore _history. If not done, each time we use restore_snapshot() we continue appending the new _history to the old one.
* | Merge pull request #697 from a-vincent/ppc-fix-negCamille Mougey2018-03-091-1/+1
|\ \ | | | | | | Fix NEG: write to the destination register
| * | Fix NEG: write to the destination registerAymeric Vincent2018-03-091-1/+1
|/ / | | | | | | From @commial, thanks.
* | Merge pull request #694 from a-vincent/ppc-fix-semantics-b-blCamille Mougey2018-03-091-10/+11
|\ \ | | | | | | B and BL have variants with a useless CR field. Handle them.
| * | B and BL have variants with a useless CR field. Handle them.Aymeric Vincent2018-03-081-10/+11
| |/
* | Merge pull request #693 from a-vincent/ppc-fix-getdstflowCamille Mougey2018-03-091-2/+2
|\ \ | | | | | | Fix getdstflow(): some branches currently have a useless CR field
| * | Fix branches which currently have a useless CR fieldAymeric Vincent2018-03-091-2/+2
| |/
* | Merge pull request #692 from a-vincent/ignore-bi-on-nonconditional-branchCamille Mougey2018-03-081-3/+1
|\ \ | |/ |/| Allow any condition on non-conditional branches
| * Allow any condition on non-conditional branchesAymeric Vincent2018-03-081-3/+1
|/
* Merge pull request #691 from commial/fix/start-ppcserpilliere2018-03-054-28/+61
|\ | | | | Fix/start ppc
| * Linux fake: __libc_start_main implementation for PPCAjax2018-03-052-9/+40
| | | | | | | | See glibc: 'sysdeps/unix/sysv/linux/powerpc/libc-start.c' for details
| * Sandbox: on Linux env import, also set the ABORT_ADDRAjax2018-03-052-19/+21
|/
* Merge pull request #690 from serpilliere/integrate_ppcCamille Mougey2018-03-0510-3/+46
|\ | | | | Integrate ppc
| * LLVM: fix rot 0Fabrice Desclaux2018-03-051-1/+3
| |
| * Test: add ppc32b testsFabrice Desclaux2018-03-042-0/+5
| |
| * Jitter/python: support little endianFabrice Desclaux2018-03-043-2/+21
| |
| * PPC32: integrationFabrice Desclaux2018-03-044-0/+17
|/
* Merge pull request #689 from a-vincent/fix-ppc-branchserpilliere2018-03-021-3/+3
|\ | | | | Fix semantics of conditional jumps
| * Fix semantics of conditional jumpsAymeric Vincent2018-03-021-3/+3
|/ | | | Spotted by @serpilliere
* Merge pull request #688 from a-vincent/arch_ppcserpilliere2018-03-0217-4/+2494
|\ | | | | Add support for PowerPC 32bit big-endian processors: "ppc32b"
| * Add support for PowerPC 32bit big-endian processors: "ppc32b"Aymeric Vincent2018-02-2617-4/+2494
|/
* Merge pull request #687 from a-vincent/fix-finish-addrCamille Mougey2018-02-221-3/+3
|\ | | | | Fix finish addr
| * Set CALL_FINISH_ADDR to 0x13371acc to be 4 bytes alignedAymeric Vincent2018-02-221-1/+1
| |
| * Rename CALL_FINNISH_ADDR to CALL_FINISH_ADDRAymeric Vincent2018-02-221-3/+3
| |
* | Merge pull request #684 from a-vincent/fix-lib-alignmentserpilliere2018-02-161-2/+2
|\ \ | | | | | | Align the arbitrary addresses of fake library functions to multiples …
| * | Align the arbitrary addresses of fake library functions to multiples of 4Aymeric Vincent2018-02-161-2/+2
| |/ | | | | | | | | | | | | | | Most processors can execute code only at aligned addresses, and some enforce this in their instruction set, e.g. powerpc. Without this patch, the addresses generated in the PLT will be truncated by the calling instruction and will thus not hit the breakpoint intended to catch them.
* | Merge pull request #685 from a-vincent/fix-preload_elf-endiannessserpilliere2018-02-161-2/+7
|\ \ | |/ |/| Enforce correct endianness of PLT entries
| * Enforce correct endianness of PLT entriesAymeric Vincent2018-02-161-2/+7
|/ | | | | If given by the ELF file, use its endianness to set the PLT entries accordingly.
* Merge pull request #683 from commial/refactor/remove-default-exprmem-sizeserpilliere2018-02-1512-61/+64
|\ | | | | Refactor/remove default exprmem size
| * Remove the default size of ExprMem expressionsAjax2018-02-1512-60/+63
| |
| * Complete the #676 by removing the default value in ExprId.__new__Ajax2018-02-151-1/+1
| |
* | Merge pull request #680 from commial/fix-simplificationsserpilliere2018-02-152-4/+27
|\ \ | | | | | | Fix a few simplifications
| * | 'simp_propag': avoid computing shifts when the size is tooAjax2018-02-152-3/+22
| | | | | | | | | | | | big (potential Python overflow)
| * | simp_compose: ensure the '/' is not rounded to 0, but really equals toAjax2018-02-152-1/+5
| |/
* | Merge pull request #681 from commial/fix/import-z3-on-demandserpilliere2018-02-151-1/+11
|\ \ | | | | | | Translator: import 'z3' only when it is really needed
| * | Translator: import 'z3' only when it is really neededAjax2018-02-151-1/+11
| |/ | | | | | | | | Avoid importing a pretty big module, and the side effects of z3, such as declaring the stack as unlimited
* | Merge pull request #682 from a-vincent/add_missing_prototypesCamille Mougey2018-02-151-0/+2
|\ \ | |/ |/| Add prototypes for x86_bsr() and x86_bsf()
| * Add prototypes for x86_bsr() and x86_bsf()Aymeric Vincent2018-02-151-0/+2
|/
* Merge pull request #679 from commial/refactor-expr-compserpilliere2018-02-147-77/+257
|\ | | | | Refactor expr simplifications tests
| * Lower the size of too long test to let z3 run in a human timeAjax2018-02-141-8/+9
| |
| * Remove int '**' int test to let z3 always translate exprs ('**' was notAjax2018-02-141-8/+1
| | | | | | | | really used in Miasm)
| * Update rot simplification, to avoid overflow casesAjax2018-02-142-21/+59
| |