Commit graph

33 commits

Author SHA1 Message Date
Théophile Bastian 5f7dfb6f5f Use disasm to generate next_instr_graph 2019-04-04 13:49:39 +02:00
Théophile Bastian 3d336de196 Add flag to never go back to undefined rbp
Once rbp has been set in the DWARF, if this flag is set, nothing will
remove it from the table. This mimicks gcc and allows us to check easily
our tables against theirs.
2019-04-04 11:52:47 +02:00
Théophile Bastian 4313ee91a7 Curiosities: mov %rsp, %rbp not switching to rbp tracking 2019-04-04 11:51:57 +02:00
Théophile Bastian c3050da113 Csmith checker: check rbp column 2019-04-03 18:20:03 +02:00
Théophile Bastian 5d6929f84c csmith_gen: add COMPILE_CMD option 2019-04-03 12:22:07 +02:00
Théophile Bastian 2b2d44c18e csmith/check_gen_eh_frame: verbose mode 2019-04-03 12:19:53 +02:00
Théophile Bastian 30fe23b541 Fix rbp to rsp switch
Use rsp+16, because we'll pop the saved rbp from the stack just after
2019-04-03 12:19:53 +02:00
Théophile Bastian 180e32a4b3 Generate RBP column when needed 2019-04-03 12:19:49 +02:00
Théophile Bastian fc8c9c45d6 Enhance eh_frame validity checker/differ 2019-03-31 16:26:55 +02:00
Théophile Bastian 681153b954 Script to check csmith synth validity 2019-03-29 19:26:58 +01:00
Théophile Bastian 719fa27f99 Ensure a crashing FDE still generates other FDEs 2019-03-29 19:24:51 +01:00
Théophile Bastian d7c1aaa6b5 CSmith: add script to generate tests 2019-03-18 20:50:49 +01:00
Théophile Bastian 693a48f070 Add synthesize_dwarf.sh
Update documentation and Makefile accordingly.
2019-03-18 14:27:24 +01:00
Théophile Bastian 8fa2bc5952 ml_dwarf_write: write to a separate file
Don't try to write into the ELF file directly, use objcopy.

Updated README
2019-03-18 14:20:53 +01:00
Francesco Zappa Nardelli 484b20c732 initial commit of ocaml->c wrappers. as bap linking is already complicated, two independent binaries communicate via a tmp.marshall file for now. 2018-12-30 10:10:51 -08:00
Théophile Bastian 828abdf495 Remove relocation data in dwarf_write 2018-12-23 15:36:24 +01:00
Théophile Bastian effccb087e Convert Simplest types to C-like types 2018-12-23 12:27:38 +01:00
Théophile Bastian db2f5787d3 Tentative rewrite of Dareog to write DWARF to ELF
Rewrite from Simon Ser's code from Dareog. Yet untested.
2018-12-23 11:15:46 +01:00
Théophile Bastian 465c951c0d Add libdwarfw as submodule 2018-12-07 17:16:18 +01:00
Théophile Bastian 0c42aa6bcf Ignore and remove *.plugin compiled files
Added by mistake previously — link to a built file under _build. Should
not be there and prevents compilation.
2018-12-07 17:15:20 +01:00
Théophile Bastian 5ecd56a134 Simplest: compute first and last address of sub 2018-11-20 16:55:56 +01:00
Théophile Bastian e021d781f4 Use AddrMap instead of CfaChange list 2018-11-19 18:11:20 +01:00
Théophile Bastian b395c98b78 Simplest: correctly add beg-of-block values 2018-11-19 16:09:56 +01:00
Théophile Bastian ee6ac40294 Frontend: print as readelf -wF 2018-11-19 16:09:37 +01:00
Théophile Bastian 7ffc33d7a8 Simplest: catch inconsistent subroutine in of_prog 2018-11-16 19:11:52 +01:00
Théophile Bastian b4043249f9 Simplest: fix reverting from rbp to rsp 2018-11-16 18:25:53 +01:00
Théophile Bastian 0f181e93cd Simplest: use rbp 2018-11-16 18:02:38 +01:00
Théophile Bastian 9f09dec677 Simplest: change workflow 2018-11-16 18:02:38 +01:00
Théophile Bastian aec0ab59ad Simplest: use smallest blk addr as entry point 2018-11-16 18:02:12 +01:00
Théophile Bastian b7a5caf87f Simplify evaluation of affine rsp setting expr 2018-11-15 17:23:20 +01:00
Théophile Bastian 745e0d96d9 Basic support for rsp tracking 2018-10-25 17:11:08 +02:00
Théophile Bastian 4096c4bf19 Generate CFA tracking with RIP 2018-10-23 19:22:19 +02:00
Théophile Bastian 194f3f8128 Initial commit 2018-10-12 18:45:04 +02:00