Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
romainthomas committed May 7, 2024
1 parent d0b0c9e commit daf0d0d
Show file tree
Hide file tree
Showing 12 changed files with 10 additions and 206 deletions.
4 changes: 2 additions & 2 deletions api/python/lief/MachO.pyi
Expand Up @@ -868,7 +868,7 @@ class ExportInfo(lief.Object):

class KIND:
ABSOLUTE: ClassVar[ExportInfo.KIND] = ...
REGULAR: ClassVar[ExportInfo.KIND] = ...
REGULAR_KIND: ClassVar[ExportInfo.KIND] = ...
THREAD_LOCAL: ClassVar[ExportInfo.KIND] = ...
__name__: str
def __init__(self, *args, **kwargs) -> None: ...
Expand Down Expand Up @@ -1377,7 +1377,7 @@ class Section(lief.Section):
MOD_INIT_FUNC_POINTERS: ClassVar[Section.TYPE] = ...
MOD_TERM_FUNC_POINTERS: ClassVar[Section.TYPE] = ...
NON_LAZY_SYMBOL_POINTERS: ClassVar[Section.TYPE] = ...
REGULAR: ClassVar[Section.TYPE] = ...
REGULAR_TYPE: ClassVar[Section.TYPE] = ...
SYMBOL_STUBS: ClassVar[Section.TYPE] = ...
S_16BYTE_LITERALS: ClassVar[Section.TYPE] = ...
S_4BYTE_LITERALS: ClassVar[Section.TYPE] = ...
Expand Down
2 changes: 1 addition & 1 deletion api/python/src/MachO/objects/pyExportInfo.cpp
Expand Up @@ -40,7 +40,7 @@ void create<ExportInfo>(nb::module_& m) {

enum_<ExportInfo::KIND>(cls, "KIND")
#define PY_ENUM(x) to_string(x), x
.value(PY_ENUM(ExportInfo::KIND::REGULAR))
.value(PY_ENUM(ExportInfo::KIND::REGULAR_KIND))
.value(PY_ENUM(ExportInfo::KIND::THREAD_LOCAL))
.value(PY_ENUM(ExportInfo::KIND::ABSOLUTE))
#undef PY_ENUM
Expand Down
2 changes: 1 addition & 1 deletion api/python/src/MachO/objects/pySection.cpp
Expand Up @@ -45,7 +45,7 @@ void create<Section>(nb::module_& m) {

enum_<Section::TYPE>(sec, "TYPE")
#define PY_ENUM(x) to_string(x), x
.value(PY_ENUM(Section::TYPE::REGULAR))
.value(PY_ENUM(Section::TYPE::REGULAR_TYPE))
.value(PY_ENUM(Section::TYPE::ZEROFILL))
.value(PY_ENUM(Section::TYPE::CSTRING_LITERALS))
.value(PY_ENUM(Section::TYPE::S_4BYTE_LITERALS))
Expand Down
2 changes: 1 addition & 1 deletion api/rust/include/LIEF/rust/MachO/Section.hpp
Expand Up @@ -40,7 +40,7 @@ class MachO_Section : public AbstractSection {
uint32_t alignment() const { return impl().alignment(); }
uint32_t relocation_offset() const { return impl().relocation_offset(); }
uint32_t numberof_relocations() const { return impl().numberof_relocations(); }
uint32_t flags() const { return impl().flags(); }
uint32_t flags() const { return to_int(impl().flags()); }
auto section_type() const { return to_int(impl().type()); }
uint32_t reserved1() const { return impl().reserved1(); }
uint32_t reserved2() const { return impl().reserved2(); }
Expand Down
3 changes: 0 additions & 3 deletions doc/sphinx/api/c/macho.rst
Expand Up @@ -7,9 +7,6 @@ MachO
.. autodoxygenfile:: LIEF/MachO/enums.h
:project: lief

.. autodoxygenfile:: LIEF/MachO/EnumToString.h
:project: lief

.. autodoxygenfile:: LIEF/MachO/Header.h
:project: lief

Expand Down
59 changes: 0 additions & 59 deletions doc/sphinx/api/cpp/macho.rst
Expand Up @@ -400,30 +400,6 @@ Enums
.. doxygenenum:: LIEF::MachO::MACHO_TYPES
:project: lief

.. doxygenenum:: LIEF::MachO::FILE_TYPES
:project: lief

.. doxygenenum:: LIEF::MachO::HEADER_FLAGS
:project: lief

.. doxygenenum:: LIEF::MachO::LOAD_COMMAND_TYPES
:project: lief

.. doxygenenum:: LIEF::MachO::MACHO_SEGMENTS_FLAGS
:project: lief

.. doxygenenum:: LIEF::MachO::MACHO_SECTION_TYPES
:project: lief

.. doxygenenum:: LIEF::MachO::MACHO_SECTION_FLAGS
:project: lief

.. doxygenenum:: LIEF::MachO::MACHO_SYMBOL_TYPES
:project: lief

.. doxygenenum:: LIEF::MachO::SYMBOL_DESCRIPTIONS
:project: lief

.. doxygenenum:: LIEF::MachO::X86_RELOCATION
:project: lief

Expand All @@ -439,44 +415,9 @@ Enums
.. doxygenenum:: LIEF::MachO::ARM64_RELOCATION
:project: lief

.. doxygenenum:: LIEF::MachO::CPU_TYPES
:project: lief

.. doxygenenum:: LIEF::MachO::CPU_SUBTYPES_X86
:project: lief

.. doxygenenum:: LIEF::MachO::RELOCATION_ORIGINS
:project: lief

.. doxygenenum:: LIEF::MachO::REBASE_TYPES
:project: lief

.. doxygenenum:: LIEF::MachO::BINDING_CLASS
:project: lief

.. doxygenenum:: LIEF::MachO::REBASE_OPCODES
:project: lief

.. doxygenenum:: LIEF::MachO::BIND_TYPES
:project: lief

.. doxygenenum:: LIEF::MachO::BIND_SPECIAL_DYLIB
:project: lief

.. doxygenenum:: LIEF::MachO::BIND_OPCODES
:project: lief

.. doxygenenum:: LIEF::MachO::EXPORT_SYMBOL_KINDS
:project: lief

.. doxygenenum:: LIEF::MachO::EXPORT_SYMBOL_FLAGS
:project: lief

.. doxygenenum:: LIEF::MachO::VM_PROTECTIONS
:project: lief

.. doxygenenum:: LIEF::MachO::SYMBOL_ORIGINS
:project: lief

.. doxygenenum:: LIEF::MachO::DYLD_CHAINED_FORMAT
:project: lief
Expand Down
134 changes: 0 additions & 134 deletions doc/sphinx/api/python/macho.rst
Expand Up @@ -498,46 +498,6 @@ Enums
*****


CPU_TYPES
~~~~~~~~~

.. autoclass:: lief.MachO.CPU_TYPES

----------


FILE_TYPES
~~~~~~~~~~

.. autoclass:: lief.MachO.FILE_TYPES

----------


HEADER_FLAGS
~~~~~~~~~~~~~

.. autoclass:: lief.MachO.HEADER_FLAGS

----------


LOAD_COMMAND_TYPES
~~~~~~~~~~~~~~~~~~

.. autoclass:: lief.MachO.LOAD_COMMAND_TYPES

----------


SECTION_TYPES
~~~~~~~~~~~~~

.. autoclass:: lief.MachO.SECTION_TYPES

----------


MACHO_TYPES
~~~~~~~~~~~

Expand Down Expand Up @@ -582,102 +542,8 @@ ARM64_RELOCATION

.. autoclass:: lief.MachO.ARM64_RELOCATION


----------

RELOCATION_ORIGINS
~~~~~~~~~~~~~~~~~~

.. autoclass:: lief.MachO.RELOCATION_ORIGINS


----------

REBASE_TYPES
~~~~~~~~~~~~

.. autoclass:: lief.MachO.REBASE_TYPES



----------

BINDING_CLASS
~~~~~~~~~~~~~

.. autoclass:: lief.MachO.BINDING_CLASS


----------

REBASE_OPCODES
~~~~~~~~~~~~~~

.. autoclass:: lief.MachO.REBASE_OPCODES


----------

BIND_TYPES
~~~~~~~~~~

.. autoclass:: lief.MachO.BIND_TYPES


----------

BIND_SPECIAL_DYLIB
~~~~~~~~~~~~~~~~~~

.. autoclass:: lief.MachO.BIND_SPECIAL_DYLIB


----------

BIND_OPCODES
~~~~~~~~~~~~

.. autoclass:: lief.MachO.BIND_OPCODES


----------

EXPORT_SYMBOL_KINDS
~~~~~~~~~~~~~~~~~~~

.. autoclass:: lief.MachO.EXPORT_SYMBOL_KINDS


----------

EXPORT_SYMBOL_FLAGS
~~~~~~~~~~~~~~~~~~~

.. autoclass:: lief.MachO.EXPORT_SYMBOL_FLAGS


----------

VM_PROTECTIONS
~~~~~~~~~~~~~~

.. autoclass:: lief.MachO.VM_PROTECTIONS


----------

SYMBOL_ORIGINS
~~~~~~~~~~~~~~

.. autoclass:: lief.MachO.SYMBOL_ORIGINS

----------

SECTION_FLAGS
~~~~~~~~~~~~~

.. autoclass:: lief.MachO.SECTION_FLAGS

DYLD_CHAINED_FORMAT
~~~~~~~~~~~~~~~~~~~

Expand Down
2 changes: 1 addition & 1 deletion include/LIEF/MachO/ExportInfo.hpp
Expand Up @@ -42,7 +42,7 @@ class LIEF_API ExportInfo : public Object {

public:
enum class KIND: uint64_t {
REGULAR = 0x00u,
REGULAR_KIND = 0x00u,
THREAD_LOCAL = 0x01u,
ABSOLUTE = 0x02u
};
Expand Down
2 changes: 1 addition & 1 deletion include/LIEF/MachO/Section.hpp
Expand Up @@ -63,7 +63,7 @@ class LIEF_API Section : public LIEF::Section {
static constexpr auto TYPE_MASK = uint32_t(0xff);

enum class TYPE: uint64_t {
REGULAR = 0x00u, ///< Regular section.
REGULAR_TYPE = 0x00u, ///< Regular section.
ZEROFILL = 0x01u, ///< Zero fill on demand section.
CSTRING_LITERALS = 0x02u, ///< Section with literal C strings.
S_4BYTE_LITERALS = 0x03u, ///< Section with 4 byte literals.
Expand Down
2 changes: 1 addition & 1 deletion src/MachO/ExportInfo.cpp
Expand Up @@ -109,7 +109,7 @@ std::ostream& operator<<(std::ostream& os, const ExportInfo& export_info) {
const char* to_string(ExportInfo::KIND e) {
#define ENTRY(X) std::pair(ExportInfo::KIND::X, #X)
STRING_MAP enums2str {
ENTRY(REGULAR),
ENTRY(REGULAR_KIND),
ENTRY(THREAD_LOCAL),
ENTRY(ABSOLUTE),
};
Expand Down
2 changes: 1 addition & 1 deletion src/MachO/Section.cpp
Expand Up @@ -298,7 +298,7 @@ const char* to_string(Section::FLAGS e) {
const char* to_string(Section::TYPE e) {
#define ENTRY(X) std::pair(Section::TYPE::X, #X)
STRING_MAP enums2str {
ENTRY(REGULAR),
ENTRY(REGULAR_TYPE),
ENTRY(ZEROFILL),
ENTRY(CSTRING_LITERALS),
ENTRY(S_4BYTE_LITERALS),
Expand Down
2 changes: 1 addition & 1 deletion tests/macho/test_builder.py
Expand Up @@ -505,7 +505,7 @@ def fake_objc(target: lief.MachO.Binary):
]
section: lief.MachO.Section
for section in objc_section:
section.type = lief.MachO.Section.TYPE.REGULAR
section.type = lief.MachO.Section.TYPE.REGULAR_TYPE
section.flags = lief.MachO.Section.FLAGS.NO_DEAD_STRIP
section.alignment = 0x3

Expand Down

0 comments on commit daf0d0d

Please sign in to comment.