Commit Graph

  • 2003b5c79f Being a callee is more important than being read Alessandro Di Federico 2018-11-27 10:53:08 +01:00
  • c5657f8116 Optimize support.c Alessandro Di Federico 2018-12-13 17:13:04 +01:00
  • af6f963d77 Improve exception handling Andrea Gussoni 2018-12-05 15:25:03 +01:00
  • 0010b6c704 Import revcc Alessandro Di Federico 2018-08-01 21:00:59 +02:00
  • a292542d06 Fix include paths order Alessandro Di Federico 2018-12-13 16:21:09 +01:00
  • 9d13ce343d OSRA: handle computations on constants Alessandro Di Federico 2018-12-04 08:59:29 +01:00
  • cb425c6a7a FCI: use previously detected fallthrough addresses Alessandro Di Federico 2018-12-04 08:34:24 +01:00
  • d4b8fe847d GCBI: use getBlockType in isTranslated Alessandro Di Federico 2018-12-04 08:32:54 +01:00
  • a43fad370f GCBI: introduce the EntryPoint BlockType Alessandro Di Federico 2018-12-04 08:32:39 +01:00
  • 4f64816ac3 GCBI::getFunctionCall: skip markers Alessandro Di Federico 2018-12-04 08:31:40 +01:00
  • ecfb842073 Force FCI during basic block harvesting Alessandro Di Federico 2018-12-04 08:30:56 +01:00
  • 0c9945c2d0 Introduce QuickMetadata::get() Alessandro Di Federico 2018-12-04 08:29:17 +01:00
  • bba5bdf4fb Use std::iterator_traits in IteratorWrapper Alessandro Di Federico 2018-12-04 08:28:41 +01:00
  • 371c38d6b8 Add nodce to the list of marker functions Alessandro Di Federico 2018-12-04 08:28:03 +01:00
  • 2669d78206 Add some dump methods Alessandro Di Federico 2018-12-04 08:27:30 +01:00
  • 787b45630d Fix assertion messages Alessandro Di Federico 2018-12-04 08:24:47 +01:00
  • 4c446a38fe Check for include guards starting with _ Alessandro Di Federico 2018-12-04 08:24:07 +01:00
  • 655f25fdff Factor out code for generating modules in tests Alessandro Di Federico 2018-12-04 08:23:38 +01:00
  • 5cc504e117 Whitespace and other minor changes Alessandro Di Federico 2018-12-04 08:22:10 +01:00
  • a1120e4caf SA: precompute CSV indices Alessandro Di Federico 2018-11-26 22:18:26 +01:00
  • e2abcbffe8 Test usage of revamb's headers/libraries Alessandro Di Federico 2018-12-05 11:32:23 +01:00
  • 7d4abadced Initial import Alessandro Di Federico 2018-12-04 22:40:06 +01:00
  • f2dd01cea2 Handle [p_filesz, p_memsz] segment portion Alessandro Di Federico 2018-11-18 15:40:24 +01:00
  • 823f277d2d Do not assert on calls targeting multiple symbols Alessandro Di Federico 2018-11-17 09:59:57 +01:00
  • 90d2df3cca Mark dynamic function calls in isolated code too Alessandro Di Federico 2018-11-16 12:29:28 +01:00
  • ffa035fc99 Detect invalid fallthrough after helper Andrea Gussoni 2018-11-29 11:55:54 +01:00
  • ce22b9c496 Fix SET interval overflow Andrea Gussoni 2018-11-28 15:32:48 +01:00
  • be7ac56f07 Purge orphan basic blocks only when harvesting Alessandro Di Federico 2018-11-26 18:27:29 +01:00
  • 451177bae9 Fix check-conventions.sh to use ! not not Pietro Fezzardi 2018-11-16 12:24:03 +01:00
  • 3663f574e8 Use new module when isolating functions Andrea Gussoni 2018-11-19 16:56:24 +01:00
  • 039896fb41 Fix OBJ and CSV variables in translate script Andrea Gussoni 2018-11-28 14:32:28 +01:00
  • e2fdee1597 Merge branch 'feature/mipsel-support' Alessandro Di Federico 2018-11-15 16:05:11 +01:00
  • e21eed118c Tag function_call targeting external symbols Alessandro Di Federico 2018-11-14 13:53:31 +01:00
  • abb47bb964 Minor changes Alessandro Di Federico 2018-11-14 12:09:43 +01:00
  • cc4dfbce4c Introduce labels, relocation and canonical values Alessandro Di Federico 2018-11-14 09:33:29 +01:00
  • 6748032643 Extend FCI interface to identify function calls Alessandro Di Federico 2018-11-14 09:27:49 +01:00
  • fc72f95f70 Ignore non-executable segments in segments_count Alessandro Di Federico 2018-11-14 09:18:52 +01:00
  • 979111aa65 Improve handling of undef in OSRA Alessandro Di Federico 2018-11-08 09:32:04 +01:00
  • 3a4d994d16 Fix disassembly (for delay slots and other stuff) Alessandro Di Federico 2018-11-08 09:31:42 +01:00
  • abce8cea14 Backport to QMD: add 64 bits ints Alessandro Di Federico 2018-11-08 09:29:07 +01:00
  • 37b4917ea5 delay slots are no longer relevant Alessandro Di Federico 2018-11-08 09:27:02 +01:00
  • 9606c8df35 QMD: add 64 bits ints Alessandro Di Federico 2018-11-08 09:26:36 +01:00
  • 3ccc0d666d Do not fail upon meeting a ToPurge basic block Alessandro Di Federico 2018-11-05 08:48:57 +01:00
  • bdd327e127 Function calls have a single link register Alessandro Di Federico 2018-11-05 08:48:49 +01:00
  • d0100ae12c OSRA: ignore undef Alessandro Di Federico 2018-11-02 11:40:18 +01:00
  • 1b171f6c1c CPUSAA: do nothing if env is unused Alessandro Di Federico 2018-11-02 11:39:34 +01:00
  • 67daef6e70 CPUStateAccessAnalysis: handle more instructions Pietro Fezzardi 2018-10-31 12:33:36 +01:00
  • c950294c1e Do use PT_DYNAMIC Alessandro Di Federico 2018-10-31 10:26:41 +01:00
  • 7fab462593 Don't fail if section headers are corrupt Alessandro Di Federico 2018-10-31 10:25:32 +01:00
  • 09b9fbba39 Drop trailing semi-colon in messageless assertions Alessandro Di Federico 2018-10-31 10:24:48 +01:00
  • bc0de2c88f Fix tests due to changes in QEMU Alessandro Di Federico 2018-10-30 14:40:26 +01:00
  • 37fb3d6e56 Introduce support for little endian MIPS Alessandro Di Federico 2018-10-30 14:39:57 +01:00
  • 509625cb30 Do not clobber helper functions' debug info Alessandro Di Federico 2018-10-30 14:36:17 +01:00
  • b9273210d0 Update to LLVM 7 Pietro Fezzardi 2018-11-05 08:55:01 +01:00
  • b34a421ec4 getResetColors: return nullptr when appropriate Alessandro Di Federico 2018-10-24 17:21:57 +02:00
  • 4c66e41352 Merge branch 'feature/rda-rewrite' Alessandro Di Federico 2018-10-16 17:43:44 +02:00
  • dee2cf0d04 Reimplement the reaching definition analyses Alessandro Di Federico 2018-10-16 16:15:07 +02:00
  • 4538d520a6 SET: fix use after free in assertion Alessandro Di Federico 2018-10-16 15:55:48 +02:00
  • 1c5bb1a84c Whitespace and other minor changes Alessandro Di Federico 2018-10-16 15:55:24 +02:00
  • 5872dc1ffc Handle top in BoundedValue::setSignedness Alessandro Di Federico 2018-10-16 15:55:05 +02:00
  • 826accaa0a OSRA: fix "It's already on the stack" message Alessandro Di Federico 2018-10-16 15:54:21 +02:00
  • f4c5942d62 Introduce the registerjt logger Alessandro Di Federico 2018-10-16 15:52:21 +02:00
  • b6ee8480da Extend MonotoneFrameworkSet Alessandro Di Federico 2018-10-16 15:49:50 +02:00
  • f305541d5e Introduce MonotoneFramework::handleEdge Alessandro Di Federico 2018-10-16 15:49:24 +02:00
  • 873dd13dd5 Introduce dumpModule Alessandro Di Federico 2018-10-16 15:44:16 +02:00
  • a704926ddc Ensure blocks are always reachable in root Alessandro Di Federico 2018-10-07 19:02:21 +02:00
  • e80b05a48e Move MonotoneFramework.h to libSupport Alessandro Di Federico 2018-10-01 19:37:26 +02:00
  • 944dcbc747 Merge branch 'feature/new-names-assert-logging-options' Alessandro Di Federico 2018-10-03 23:11:20 +02:00
  • 81c003d997 Use MDBuilder to create alias.scope Alessandro Di Federico 2018-10-01 16:04:03 +02:00
  • 9dcefc8151 Add argument to InlineAsm function Alessandro Di Federico 2018-10-01 16:03:01 +02:00
  • 8348766b4e Make stack analysis' output more deterministic Alessandro Di Federico 2018-10-01 08:36:28 +02:00
  • 648e4e5945 Fix assertion in function isolation Alessandro Di Federico 2018-09-29 12:59:05 +02:00
  • cc02713f6d Abandon argparse in favor of LLVM's CommandLine Alessandro Di Federico 2018-09-28 22:14:03 +02:00
  • 43cf36bfce Introduce revng_log and abandon DBG(...) Alessandro Di Federico 2018-09-26 21:17:39 +02:00
  • cf8d6d530e Whitespaces and other minor fixes Alessandro Di Federico 2018-09-26 21:09:03 +02:00
  • d3f042479a Declare arch_prctl prototype in support.c Alessandro Di Federico 2018-09-24 22:03:18 +02:00
  • cfba8372cf Remove extra --debug-symbols in tests invocation Alessandro Di Federico 2018-09-26 13:40:28 +02:00
  • 076aeac7f3 Move and rename all files Alessandro Di Federico 2018-09-25 15:48:40 +02:00
  • f061c6bad2 Make valgrind an optional dependency Alessandro Di Federico 2018-09-24 22:23:57 +02:00
  • 216af772f1 Update the set of enabled warnings Alessandro Di Federico 2018-09-24 22:11:41 +02:00
  • 386492e8fe Fix definition of ID for templated passes Alessandro Di Federico 2018-09-24 22:11:15 +02:00
  • fea049ad95 Drop some unused variables Alessandro Di Federico 2018-09-24 22:08:52 +02:00
  • 469b0c6543 Add noexcept to dlclose prototype Alessandro Di Federico 2018-09-24 22:08:24 +02:00
  • 15178146ee Make message optional for revng_ assertions Alessandro Di Federico 2018-09-24 22:07:46 +02:00
  • 45d58cbaca Force __builtin_assume argument to bool Alessandro Di Federico 2018-09-24 22:07:09 +02:00
  • 1515e2cd21 clang-format: don't split _Pragma argument Alessandro Di Federico 2018-09-24 22:06:43 +02:00
  • b1026bcbe6 Introduce a missing override Alessandro Di Federico 2018-09-24 22:06:11 +02:00
  • 9230bc3dc4 Ban assert(false) and non-revng_ assertions Alessandro Di Federico 2018-09-24 22:05:49 +02:00
  • 6bb7f4e8f1 Declare prototype of non-static functions Alessandro Di Federico 2018-09-24 22:03:50 +02:00
  • e74ee1431d Enforce struct/class usage coherency Alessandro Di Federico 2018-09-24 22:02:19 +02:00
  • fe249edbd7 Make some functions static Alessandro Di Federico 2018-09-24 22:02:02 +02:00
  • 0ff8f1c1ac Add virtual destructors as needed Alessandro Di Federico 2018-09-24 22:01:22 +02:00
  • 2615fba98d Remove some unreachable break statements Alessandro Di Federico 2018-09-24 22:00:19 +02:00
  • 622d6bacbb Remove some unused function arguments Alessandro Di Federico 2018-09-24 21:59:34 +02:00
  • 5a3e203e4b Switch to C++14 Alessandro Di Federico 2018-09-24 21:58:14 +02:00
  • f819962527 Switch to new assertion system globally Alessandro Di Federico 2018-09-24 21:33:25 +02:00
  • e053b215d8 Drop _ prefix in include guards Alessandro Di Federico 2018-09-24 21:10:30 +02:00
  • 8d0a16ca0c Merge branch 'feature/clang-format' Alessandro Di Federico 2018-09-21 20:25:16 +02:00
  • 047ae0d4d8 Apply clang-format globally Alessandro Di Federico 2018-09-21 20:08:45 +02:00
  • fba681bbcc s/X --> 0/X-- > 0/ Alessandro Di Federico 2018-04-23 23:16:41 +02:00