Peter Goodman
|
da643fa3cb
|
Merge pull request #39 from rgov/mac
Fix build on macOS
|
2016-09-07 11:57:28 -04:00 |
|
Peter Goodman
|
7c60cd3860
|
Build changes
|
2016-09-07 11:35:11 -04:00 |
|
Peter Goodman
|
d755a870cf
|
Added potential support for openSUSE builds
|
2016-09-03 16:06:41 -04:00 |
|
Peter Goodman
|
c7d9122e26
|
Updated binja script for simpler cfg protobuf format. Fixed X86/Arch.cpp to record x87 ST(n) regs as 64 bits. Updated llvm version to 3.8.1. Updated bootstrap to choose the release of the installed ubuntu version (mine is now 16.04, previously 14.04).
|
2016-08-31 17:47:31 -04:00 |
|
Peter Goodman
|
1b012f75f3
|
Added tests for MOVQ. Starting implementation of FPU instructions and tests. Change how instruction lifting is done. The arch side of lifting is now separate from all bitcode concerns. remill/BC/Translator.cpp is now heavier weight in what it does.
|
2016-08-26 15:59:52 -04:00 |
|
Ryan Govostes
|
9b4759a3d2
|
Set a default SDKROOT on Darwin
|
2016-07-28 21:55:32 -07:00 |
|
Ryan Govostes
|
85f568f072
|
Fix test for existince of libxed on Darwin
|
2016-07-28 21:52:03 -07:00 |
|
Ryan Govostes
|
0e249223cb
|
Don't run install_name_tool on libxed.a
|
2016-07-28 21:40:39 -07:00 |
|
yan
|
3f815efcbd
|
Rename all references from mcsema2 to remill
|
2016-06-23 11:39:36 -04:00 |
|
Peter Goodman
|
b5247b0fb0
|
Test cases for LEA, CPUID, and ENTER.
|
2016-03-22 13:16:23 -04:00 |
|
Peter Goodman
|
414766d692
|
Change how temp file is created. Bump to clang+llvm 3.8.
|
2016-03-10 23:07:22 -05:00 |
|
Peter Goodman
|
2fec611914
|
Bumping XED version.
|
2016-02-08 14:54:13 -05:00 |
|
Peter Goodman
|
ecb1f39266
|
Added Interrupt structure to State structure for x86. It's not an ideal way of configuring interrupts, but it currently seems like the only way to handle conditional interrupts, e.g. via BOUND or INTO. I might need something similar for SYSCALL vs. SYSENTER. Split the build script out into a build script and a build system. Made it so that the IDA script splits interrupts off into their own blocks. This is so that we can restart interrupts by jumping back to the blocks associated with the address of the instruction. Moving the tools stuff out into its own repo as it complicates things to have it in the source.
|
2016-01-27 14:25:52 -05:00 |
|
Peter Goodman
|
09bf511d1a
|
Switch back to 3.7.1 for mac because there is no 3.8.0 llvm pre-release for mac.
|
2016-01-25 21:56:30 -05:00 |
|
Peter Goodman
|
1aa12026a8
|
Adding the beginning of a CGC replayer tool.
|
2016-01-25 21:25:05 -05:00 |
|
Peter Goodman
|
80adf5e085
|
Compiling is working on Linux.
|
2016-01-17 20:47:23 -05:00 |
|
Peter Goodman
|
1688d1edfe
|
Build script and test cases working on Linux.
|
2016-01-16 23:45:41 -05:00 |
|
Peter Goodman
|
a57cc64822
|
OMG I really screwed things up temporarily but don't ask.
|
2016-01-15 12:12:49 -05:00 |
|
Peter Goodman
|
ac95d5c649
|
Added scripts/check.sh to run the clang static analyzer on the code (I think). Added an untested implementation of SHR.
|
2015-12-28 18:39:58 -05:00 |
|
Peter Goodman
|
5b955b358d
|
Implemented inline deferral optimization. Enabled the optimization on the test case builds. Modified cmake to explicitly include LLVM; hopefully that works on macs.
|
2015-12-17 19:11:02 -05:00 |
|
Peter Goodman
|
c6ba5aed98
|
Refactored arch naming, bitcode loading/storing. Changed --arch to --source_arch and --target_arch, though the latter isn't yet used. Changes Test.S to subtract the TestInfo structure address from the other code addresses to try to guarantee that the result can fit into a .long (I think). Fixed semantics where one if the DEC isels was incorrectly named as using INC. Changed to symbol/function name resolution works. Instead of always checking for FLAGS_os==mac, I now use the DataLayout::getGlobalPrefix. Hopefully this will be more generic.
|
2015-12-05 23:50:01 -05:00 |
|
Peter Goodman
|
cf7dfa0869
|
Working on making a testing setup>
|
2015-12-04 17:32:00 -05:00 |
|
Peter Goodman
|
323d7211c7
|
Minor fix to protobuf version. Added gtest.
|
2015-12-02 23:51:10 -05:00 |
|
Peter Goodman
|
b3e05a628b
|
Adding error propagation when building semantics files.
|
2015-11-29 15:37:33 -05:00 |
|
Peter Goodman
|
27427475ff
|
This might make it fail faster
|
2015-11-29 15:14:52 -05:00 |
|
Peter Goodman
|
4eae13154f
|
New bootstrap script
|
2015-11-29 13:18:47 -05:00 |
|
Ryan Stortz
|
42e6d1e258
|
Saving work adding OS X support.
I think the llvm+clang download has rtti off but this project requires
it to be on. We might need to build llvm and clang each time. :(
|
2015-11-29 13:07:17 -05:00 |
|
Ryan Stortz
|
4c8f433750
|
Saving work adding OS X support.
I think the llvm+clang download has rtti off but this project requires
it to be on. We might need to build llvm and clang each time. :(
|
2015-11-28 20:40:43 -05:00 |
|
Peter Goodman
|
8cdbbf97e9
|
Added a few more semantics, some comments, some optimizations. One important thing is marking all methods as naked so that no stack frame prologues/epilogues are created. This fits nicely with the must-tail-call between everything and the use of the fast calling convention.
|
2015-11-17 18:08:38 -05:00 |
|
Peter Goodman
|
8d7cb99f8f
|
Bringing things in the direction of using 'memory' intrinsics. I'm still not super pleased with some of the APIs but its a reasonable start and things seem to be working (I think).
|
2015-11-14 01:30:01 -05:00 |
|
Peter Goodman
|
602c927559
|
IDA script generally finds all functions now. Now lifted bitcode files can optimize without the optimizer figuring out that unreachable blocks are unoptimizable. Currently optimized bitcode looks a bit strange due to the absence of implementations for some key things.
|
2015-11-09 00:26:32 -05:00 |
|
Peter Goodman
|
26d338f506
|
Some fixes suggested by Artem to make things more portable and less bug prone.
|
2015-10-25 22:07:53 -04:00 |
|
Peter Goodman
|
254d56c11c
|
First implementations of some instruction semantics.
|
2015-10-24 19:05:22 -04:00 |
|
Peter Goodman
|
2c253d9aba
|
Ugggh
|
2015-10-22 11:30:49 -04:00 |
|