Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bap with core v0.9 #704

Merged
merged 18 commits into from Oct 3, 2017
Merged

Commits on Sep 14, 2017

  1. makes it compilable with the new core

    Most of the changes are due to the following breaking changes in the
    upstream:
    
    1. change of the monad interface, now `bind` takes a function as a
    labeled argument. This is the most annoying change, as we need to update
    our Base interface to be consistent with Core, but this will force us to
    release the 2.0 version.
    
    2. The `equal` parameter for different finders now became mandatory (to
    discourage people from using the polymorphic compare).
    
    This will fix BinaryAnalysisPlatform#648.
    ivg committed Sep 14, 2017
    Copy the full SHA
    036f53d View commit details
    Browse the repository at this point in the history
  2. completely disables inline tests

    The new inline tests from Janestreet doesn't work with the plugin
    system. It is not even our tests, but core's own tests, that give
    a runtime error.
    ivg committed Sep 14, 2017
    Copy the full SHA
    69d400a View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    547065e View commit details
    Browse the repository at this point in the history
  4. drops 4.03, adds 4.05 to the CI

    ivg committed Sep 14, 2017
    Copy the full SHA
    d0e0cf6 View commit details
    Browse the repository at this point in the history
  5. picks llvm-3.8 for the CI opam file

    I hope there is such on Travis.
    ivg committed Sep 14, 2017
    Copy the full SHA
    afc75bd View commit details
    Browse the repository at this point in the history
  6. maybe which doesn't work

    so why it works for the cxx?
    ivg committed Sep 14, 2017
    Copy the full SHA
    4775db3 View commit details
    Browse the repository at this point in the history
  7. we need to set custom_ppx to prevent ppx_deriving

    otherwise it will become a dependency, that is not really used.
    ivg committed Sep 14, 2017
    Copy the full SHA
    33cc4f0 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2017

  1. supports building without ppx_deriving

    the ppx_deriving is an optional depedency of many ppx_X packages from
    Janestreet. The optionality is specified using a predicated
    requirement. The problem is mostly in ocamlfind, that if there is no
    `-pp` option will perform a query is made to build a preprocessor
    command that doesn't include the predicates passed through the command
    line, that lead to a failure, since ppx_deriving is not installed.
    
    The workaround is simple - we need to pass the `-pp` option to the
    linking phase - kind of stupid, but it will prevent the ocamlfind driver
    from making this query.
    
    The bap_build library was also update, I've added a set of default
    predicates that are used when the set of bap dependencies is inferred.
    ivg committed Sep 15, 2017
    Copy the full SHA
    86067f1 View commit details
    Browse the repository at this point in the history
  2. pass the -pp flag to the c compler

    Now it becomes more and more weird - as we need to pass the `-pp` flag
    even when we are compiling a C file since the syntax command is still
    build even there.
    ivg committed Sep 15, 2017
    Copy the full SHA
    4ad5e00 View commit details
    Browse the repository at this point in the history
  3. cleans the ppx dependencies

    we are depending only on ppx_jane, and the dependcy is put into the
    common section. Everything else is removed.
    ivg committed Sep 15, 2017
    Copy the full SHA
    59e111c View commit details
    Browse the repository at this point in the history
  4. disables the bap_elf library

    So due to issues with [ocamlfind][1] and the new generation of the ppx derivers
    from the Janestreet we can't build the bap_elf library without a bogus
    dependecy on ppx_deriving. A trick to supress this dependency from
    jumping in was to specify a `-pp` flag, and we can't use this trick with
    a library that uses camlp4. So we can only build it, if ppx_deriving is
    installed (it is not actually used, it's needed just to keep ocamlfind
    happy).
    
    Since `ppx_deriving` is not really needed, and it usually lags behind
    the compiler development, we decided to disable this library by
    default, until we will rewrite it using `ppx_bitstrings`.
    
    [1]: https://gitlab.camlcity.org/gerd/lib-findlib/issues/19
    ivg committed Sep 15, 2017
    Copy the full SHA
    27b7aae View commit details
    Browse the repository at this point in the history
  5. updates test runner

    ivg committed Sep 15, 2017
    Copy the full SHA
    c303a4f View commit details
    Browse the repository at this point in the history
  6. sets version to numeric and disables BAP_DEBUG

    The latter probably is the cause of the "No space left on device"
    error (since BAP_DEBUG will fill the /tmp folder with lots of trash).
    
    The former will prevent the version test from passing.
    ivg committed Sep 15, 2017
    Copy the full SHA
    da2dc8c View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2017

  1. solved warnings

    Lots of warning occured because of new core_kernel version, mainly
    connected with {in/out}_channel types, that should be now
    {In/Out}_channel.t, according to Jane Street point of view
    gitoleg committed Sep 22, 2017
    Copy the full SHA
    1b5379b View commit details
    Browse the repository at this point in the history
  2. edited a travis env matrix

    so now we will have 6 tests for 4.03, 4.04 and 4.05 compilers
    with either BAP_RUN_TEST or BAP_RUN_CHECK set to true
    gitoleg committed Sep 22, 2017
    Copy the full SHA
    050e910 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2017

  1. Copy the full SHA
    31a130b View commit details
    Browse the repository at this point in the history
  2. updated testsuite

    gitoleg committed Sep 29, 2017
    Copy the full SHA
    76a501d View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2017

  1. Merge pull request #24 from gitoleg/bap-with-core-v0.9

    Bap with core v0.9
    ivg committed Oct 2, 2017
    Copy the full SHA
    8d677d1 View commit details
    Browse the repository at this point in the history