Commit Graph

  • 3c0fce0ba0 Transform calls to cpu_loop_exit to cpu_loop Alessandro Di Federico 2016-01-04 21:37:34 +01:00
  • dc23749e0e Transform cpu_loop according to our requirements Alessandro Di Federico 2016-01-04 21:36:19 +01:00
  • 810e477e2d Improve linking for libtinycode's helpers support Alessandro Di Federico 2016-01-04 21:33:45 +01:00
  • 8e3268c9c0 Handle post-helper indirect jumps Alessandro Di Federico 2016-01-04 21:29:03 +01:00
  • 581be847ce Abort on unsupported accesses to the CPU state Alessandro Di Federico 2016-01-04 21:26:43 +01:00
  • 046947da14 CorrectCPUStateUsagePass: add support to IntToPtr Alessandro Di Federico 2016-01-04 21:24:31 +01:00
  • 46cb955bfa Replace existing globals if a new name is given Alessandro Di Federico 2016-01-04 21:23:36 +01:00
  • 1ca2e57f00 Allow unsupported but dead usages of the CPU state Alessandro Di Federico 2016-01-04 21:22:40 +01:00
  • d684ea7ab1 Sync with the updated libtinycode interface Alessandro Di Federico 2016-01-04 21:20:38 +01:00
  • c9221fe8a0 Handle termination of a basic block after a call Alessandro Di Federico 2016-01-04 21:20:18 +01:00
  • f36bc6b42f Introduce tests for floaing point operations Alessandro Di Federico 2015-12-04 23:45:50 +01:00
  • 6338f3b0b8 Link with helpers and adjust their CPU state usage Alessandro Di Federico 2015-12-03 18:06:13 +01:00
  • 9fd83ea336 Implement the exit_tb PTC instruction Alessandro Di Federico 2015-12-03 18:02:52 +01:00
  • a8075fcf4f Remove code to ignore first few PTC instructions Alessandro Di Federico 2015-12-03 18:01:02 +01:00
  • 4416ef84d1 getTypeAtOffset: handle arrays of structs Alessandro Di Federico 2015-12-03 18:00:30 +01:00
  • 4e326f5799 Factorize LLVM-related helper functions Alessandro Di Federico 2015-12-03 17:59:32 +01:00
  • 9bf830c8ed Add a terminator before splitting a basic block Alessandro Di Federico 2015-12-03 17:57:23 +01:00
  • 1bddfbca1a PTC dump now properly prints constant args in hex Alessandro Di Federico 2015-12-03 17:56:14 +01:00
  • 5d130b7072 Split ptctollvmir.cpp into multiple files Alessandro Di Federico 2015-11-24 15:21:17 +01:00
  • 38b79e944b Add support to load from CPU state Alessandro Di Federico 2015-11-23 20:09:14 +01:00
  • 3f25b17091 Handle explicitly the CPU state pointer Alessandro Di Federico 2015-11-23 20:08:36 +01:00
  • 15cc08304c Zero extend before storing into CPU state Alessandro Di Federico 2015-11-23 20:07:52 +01:00
  • a091b1b675 Don't remove nodes while iterating over them Alessandro Di Federico 2015-11-23 20:07:02 +01:00
  • 3e8bed2ce8 Decouple PTC::* from InstructionTranslator Alessandro Di Federico 2015-11-23 20:06:16 +01:00
  • 37615bb6e6 Fix UAF in DebugHelper (OutputPath) Alessandro Di Federico 2015-11-23 20:04:55 +01:00
  • 1d4e3169eb Add support for indirect jumps and function calls Alessandro Di Federico 2015-11-15 12:06:17 +01:00
  • e2efe161e0 Add support for MIPS Alessandro Di Federico 2015-11-10 09:22:58 +01:00
  • 94864e49b5 Introduce support for virtual addresses Alessandro Di Federico 2015-11-10 00:05:21 +01:00
  • 91a01937cf Let support.c know about the target architecture Alessandro Di Federico 2015-11-07 14:54:00 +01:00
  • 1d56c32667 Make writes to PC explicit Alessandro Di Federico 2015-11-07 14:53:32 +01:00
  • c232c01238 Improve dump of PTC helper call instructions Alessandro Di Federico 2015-11-07 14:52:56 +01:00
  • ba950d26f2 Split CodeGenerator::translate and use CPUState from the QEMU helpers Alessandro Di Federico 2015-11-07 14:52:04 +01:00
  • 711b798be6 Refactoring Alessandro Di Federico 2015-11-07 14:37:33 +01:00
  • ee850e39bc Introduce C++ wrapper of the PTC library Alessandro Di Federico 2015-11-07 14:35:32 +01:00
  • 4a151eaa82 Fix handling of debug information Alessandro Di Federico 2015-11-07 14:33:53 +01:00
  • f6ae68516d Use llc from the given LLVM installation Alessandro Di Federico 2015-11-07 14:31:31 +01:00
  • bd898de98f Fix propagation of OutputPath and DebugPath Alessandro Di Federico 2015-11-07 14:31:08 +01:00
  • 282fa2b40b Import functional-style iterators Alessandro Di Federico 2015-11-07 14:26:17 +01:00
  • 9795191f11 Add support for 64-bit local variables Alessandro Di Federico 2015-11-07 14:58:32 +01:00
  • fd1070b708 Disable RTTI Alessandro Di Federico 2015-11-07 14:24:20 +01:00
  • c5d510f4d6 Introduce using namespace std in ptctollvmir.cpp Alessandro Di Federico 2015-10-27 17:43:12 +01:00
  • 9007943839 Refactor the Translate function Alessandro Di Federico 2015-10-27 17:19:52 +01:00
  • 15cfbee422 Make reference to QEMU install path and dlopen an absolute path Alessandro Di Federico 2015-10-27 11:56:08 +01:00
  • 9cf82f36d8 Introduce testing framework Alessandro Di Federico 2015-10-27 09:13:14 +01:00
  • 2b5823c6bc Dump useful information in case an unsupported helper is called Alessandro Di Federico 2015-10-27 08:52:40 +01:00
  • a4fdf0f1b5 Improve debug info handling Alessandro Di Federico 2015-10-27 08:51:43 +01:00
  • cb3ef7b263 Make global names case-insensitive Alessandro Di Federico 2015-10-27 08:32:33 +01:00
  • 7f9b86787c Minor refactoring of CMakeLists.txt Alessandro Di Federico 2015-10-27 08:32:00 +01:00
  • 089bfd2461 Introduce support for LLVM IR debugging information Alessandro Di Federico 2015-10-19 00:31:22 +02:00
  • 3b0588b75d Add support for PTC debug info Alessandro Di Federico 2015-10-18 14:17:04 +02:00
  • 256718cac4 Draft support for debug information (original assembly only) Alessandro Di Federico 2015-10-17 22:42:34 +02:00
  • 4b3a333493 Add support for add2 and sub2 PTC instructions Alessandro Di Federico 2015-10-17 22:41:31 +02:00
  • 15a2aba050 Introduce JumpTargetManager Alessandro Di Federico 2015-10-12 14:31:51 +02:00
  • fe6b6f8df9 Introduce explicit program counter handling Alessandro Di Federico 2015-10-12 14:30:48 +02:00
  • e22268a5ca Introduce handling of branches local to a PTC basic block Alessandro Di Federico 2015-10-12 14:29:31 +02:00
  • bba0fb78f6 Fix typos, coding style issues and add some documentation Alessandro Di Federico 2015-10-12 14:27:28 +02:00
  • a97f955a15 Fix bug in handling operands of load and store instructions Alessandro Di Federico 2015-10-12 14:23:45 +02:00
  • 6579e83bcd Introduce a wrapper to create comparison instructions (CreateICmp) Alessandro Di Federico 2015-10-12 14:22:11 +02:00
  • 0669fd625c Rename main function to root and change its return type to void Alessandro Di Federico 2015-10-12 14:19:40 +02:00
  • 8f88625e94 Add metadata with original and PTC instructions to each new instruction Alessandro Di Federico 2015-10-01 11:21:14 +02:00
  • 5ee7b1dd8a Initial import Alessandro Di Federico 2015-09-26 15:17:32 +02:00