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

Move common types from config library to a separate library and use them across entire RetDec source base #686

Closed
PeterMatula opened this issue Dec 16, 2019 · 0 comments

Comments

@PeterMatula
Copy link
Collaborator

There are some common types (address, endian, file type, basic block, functions, etc.) that are used over and over again and several RetDec components declare their own types.

  • Take these types from config library and put them to some common library that could be used everywhere.
  • Take out (de)serialization implementation from these types and put it to a separate library.
@PeterMatula PeterMatula added this to the RetDec v4 milestone Dec 16, 2019
@PeterMatula PeterMatula self-assigned this Dec 16, 2019
PeterMatula added a commit that referenced this issue Dec 17, 2019
* bin2llvmir/config: allow to set config as an existing object.

* add retdec library and retdectool executable

* bin2llvmir/global: remove unused passes and related analyses

These make refactorization more difficult. If needed in the future, just search for them in GIT history.

* bin2llvmirtool: remove unused command line options

* Create a new library named common containing addresses and ranges

This library will contain all the object common to several RetDec components.

* common/address: remove dangerous AddressRange ctor

* common/address: use Range to get AddressRange.

* common: unify AddressRangeContainer with common RangeContainer.

* create new serialization/deserialization library

* progress

* config: remove AddressRangeJson

* config: move container (de)serialization methods to serdes lib

* config: remove Segments representation

It was not really used.

* config: move architecture module to common

* config: move FileFormat module to common

* config: move FileType to common.

* common: add basic block representation

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* fix function fill

* fix decoder

* fix compilation

* fix includes

* rtti-finder: use vtable representation from the common library

* fix

* CHANGELOG.md: fix #686, fix #646, add entries for them.

* serdes/std.h: fix std data types (de)serialization.

* tests/common/address_tests: state AddressRange type for inserts and removes.

This prevents some compilation errors on some macOS environments.

* tests/common/address_tests: state AddressRange type for inserts and removes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant