Skip to content
Snippets Groups Projects
  1. Oct 03, 2018
    • Alessandro Di Federico's avatar
      Abandon argparse in favor of LLVM's `CommandLine` · cc02713f
      Alessandro Di Federico authored
      This commit dismisses the `argparse` library (the only non-runtime C
      component of rev.ng) in favor of LLVM's CommandLine library, which
      offers several benefits. Among others, now command line arguments can be
      easily specified as a global variable, decentralizing their management
      and avoiding the long list of arguments in the constructor of singleton
      objects such as `CodeGenerator`.
      cc02713f
    • Alessandro Di Federico's avatar
      Introduce `revng_log` and abandon `DBG(...)` · 43cf36bf
      Alessandro Di Federico authored
      This commit introduces `revng_log`, a macro analagous to `revng_assert`,
      which basically allows to have the benefit of the `Logger` class without
      having to compute the expression to log if the logger is disabled.
      
      This commit also completely dismisses the `DBG` macro, converting all
      the old code to `Logger` + `revng_log`.
      43cf36bf
    • Alessandro Di Federico's avatar
      cf8d6d53
    • Alessandro Di Federico's avatar
      Declare `arch_prctl` prototype in `support.c` · d3f04247
      Alessandro Di Federico authored
      In `support.c`, we employ `arch_prctl` to set the value of segment
      registers. However glibc, despite providing that function, doesn't
      provide its prototype in any header file. This commit declares it,
      according to the declaration provided in the man page.
      d3f04247
    • Alessandro Di Federico's avatar
    • Alessandro Di Federico's avatar
      Move and rename all files · 076aeac7
      Alessandro Di Federico authored
      This commit moves around most files. The new directory structure is as
      follows:
      
      * `lib/$LIBRARY/`: contains a library, i.e., a set of `.cpp` files used
        by multiple libraries/tools.
      * `include/revng/$LIBRARY/`: contains the public headers associated to
        the library in `lib/$LIBRARY/`.
      * `tools/$TOOL/`: directory where all the `.cpp` files (and private
        headers) for a tool reside. Currently we have two tools: `revamb` and
        `revamb-dump`.
      
      On top of this, all file names are now in camel case.
      076aeac7
  2. Sep 29, 2018
  3. Sep 26, 2018
  4. Sep 21, 2018
  5. Sep 20, 2018
    • Andrea Gussoni's avatar
      Register and add among JT reasons `FunctionSymbol` · 500d77f4
      Andrea Gussoni authored
      The symbol handling has been extended to register whether a symbol
      represents a function or not. This information is then used to register,
      during the global data harvesting phase, all the function symbols and
      explicitly mark them through the "FunctionSymbol" `JTReason`.
      
      We use this information during the CFEP harvesting phase to integrate
      the information produced by the function boundaries detection with
      potential unidentified CFEPs.
      
      This option can be enabled with the `--use-debug-symbols`, which
      supersedes `--use-sections`.
      500d77f4
Loading