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

Feature MemStruct #284

Merged
merged 44 commits into from Jan 18, 2016
Merged

Feature MemStruct #284

merged 44 commits into from Jan 18, 2016

Commits on Jan 18, 2016

  1. Copy the full SHA
    6e63511 View commit details
    Browse the repository at this point in the history
  2. MemStruct: auto-allocation feature

    MemStruct can be automatically allocated if a None addr is passed to the
    constructor and mem.allocator has been set to an allocation function.
    
    miasm2.os_dep.common.heap API has been extended to directly support a
    VmMngr as an argument.
    
    NOTE: heap.alloc and heap.vm_alloc could be merged, but allowing the
    first argument to be either a jitter or a vm is misleading, and changing
    the old API would have broken some code.
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    a03c4cb View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    e53ac5b View commit details
    Browse the repository at this point in the history
  4. MemStruct: method reorganization

    Moved methods from _MetaMemStruct to MemStruct for more clarity
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    a089dad View commit details
    Browse the repository at this point in the history
  5. MemStruct: module and MemFields documentation

    + minor fixes/refactors
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    496b4f1 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    c018386 View commit details
    Browse the repository at this point in the history
  7. MemStruct: pylint

    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    3ad5c5b View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    9f82487 View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    d4b88ab View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    7192718 View commit details
    Browse the repository at this point in the history
  11. Copy the full SHA
    82fa0e4 View commit details
    Browse the repository at this point in the history
  12. Copy the full SHA
    8bd16ba View commit details
    Browse the repository at this point in the history
  13. Copy the full SHA
    81076e0 View commit details
    Browse the repository at this point in the history
  14. Copy the full SHA
    5df71c3 View commit details
    Browse the repository at this point in the history
  15. Copy the full SHA
    4fee0e7 View commit details
    Browse the repository at this point in the history
  16. MemStruct: hash form fix

    (thx @commial)
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    7efd9c6 View commit details
    Browse the repository at this point in the history
  17. Copy the full SHA
    955595f View commit details
    Browse the repository at this point in the history
  18. Copy the full SHA
    392a8ee View commit details
    Browse the repository at this point in the history
  19. MemStruct: MemField -> Type

    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    52b01f2 View commit details
    Browse the repository at this point in the history
  20. MemStruct: Big refactoring, Mem* -> Pinned*

    This commit is the first phase of the Type refactor. The PinnedType
    class has been separated from the more specific PinnedStruct class.
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    ddb0142 View commit details
    Browse the repository at this point in the history
  21. Copy the full SHA
    8c5c79e View commit details
    Browse the repository at this point in the history
  22. MemStruct: big refactor in process

    Doc is currently incoherent, impl will also be completed
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    d19f4c1 View commit details
    Browse the repository at this point in the history
  23. Copy the full SHA
    0682ca8 View commit details
    Browse the repository at this point in the history
  24. MemStruct: Array/PinnedArray homogeneity

    Array access logic has moved to Array, Pinned(Sized)Array just contains
    the logic to interface with memory
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    2b77be6 View commit details
    Browse the repository at this point in the history
  25. MemStruct: Str type

    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    f214293 View commit details
    Browse the repository at this point in the history
  26. Copy the full SHA
    3c8d433 View commit details
    Browse the repository at this point in the history
  27. Copy the full SHA
    31650c3 View commit details
    Browse the repository at this point in the history
  28. Copy the full SHA
    b3b0b03 View commit details
    Browse the repository at this point in the history
  29. Copy the full SHA
    ba2df16 View commit details
    Browse the repository at this point in the history
  30. Copy the full SHA
    d87a0f8 View commit details
    Browse the repository at this point in the history
  31. MemStruct/Types: Array idx fix + MemStr.from_str feature

    MemStr.from_str allows to allocate and set a string automatically if
    ALLOCATOR is set. This avoids allocating a buffer and filling it later.
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    762362f View commit details
    Browse the repository at this point in the history
  32. Copy the full SHA
    bd85479 View commit details
    Browse the repository at this point in the history
  33. Copy the full SHA
    a0b1777 View commit details
    Browse the repository at this point in the history
  34. Copy the full SHA
    43053bc View commit details
    Browse the repository at this point in the history
  35. Copy the full SHA
    7bc3464 View commit details
    Browse the repository at this point in the history
  36. Copy the full SHA
    76a25bd View commit details
    Browse the repository at this point in the history
  37. Copy the full SHA
    36cae74 View commit details
    Browse the repository at this point in the history
  38. Copy the full SHA
    e9ab0bd View commit details
    Browse the repository at this point in the history
  39. Types: adding the ("field", SomeMemType) syntax

    Shorthand for ("field", SomeMemStruct.get_type()) in a Struct or
    MemStruct fields definition.
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    0379f8e View commit details
    Browse the repository at this point in the history
  40. Types: Support anonymous Struct/Union/BitField

    See the test addition for an example. A Struct, Union, or BitField field
    with no name will be considered anonymous: all its fields will be added
    to the parent Struct/Union/BitField. This implements this kind of C
    declaration:
    
    struct foo {
        int a;
        union {
            int bar;
            struct {
                short baz;
                short foz;
            };
        };
    }
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    03b3a84 View commit details
    Browse the repository at this point in the history
  41. Copy the full SHA
    f5f920c View commit details
    Browse the repository at this point in the history
  42. Types: typo, MemStruct.get_offset should be a classmethod

    Also added tests and MemArray.get_offset
    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    e6ec6f9 View commit details
    Browse the repository at this point in the history
  43. Types: Void type repr

    fmonjalet committed Jan 18, 2016
    Copy the full SHA
    f001fa5 View commit details
    Browse the repository at this point in the history
  44. Copy the full SHA
    b421c50 View commit details
    Browse the repository at this point in the history