mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-06 17:16:12 +00:00
09246b31f2
MozReview-Commit-ID: 1bPUuRQF2lQ
276 lines
9.4 KiB
Plaintext
276 lines
9.4 KiB
Plaintext
Metadata-Version: 1.1
|
|
Name: macholib
|
|
Version: 1.7
|
|
Summary: Mach-O header analysis and editing
|
|
Home-page: http://bitbucket.org/ronaldoussoren/macholib
|
|
Author: Ronald Oussoren
|
|
Author-email: ronaldoussoren@mac.com
|
|
License: MIT
|
|
Download-URL: http://pypi.python.org/pypi/macholib
|
|
Description: macholib can be used to analyze and edit Mach-O headers, the executable
|
|
format used by Mac OS X.
|
|
|
|
It's typically used as a dependency analysis tool, and also to rewrite dylib
|
|
references in Mach-O headers to be @executable_path relative.
|
|
|
|
Though this tool targets a platform specific file format, it is pure python
|
|
code that is platform and endian independent.
|
|
|
|
|
|
Release history
|
|
===============
|
|
|
|
macholib 1.7
|
|
------------
|
|
|
|
* Added support for ARM64, LC_ENCRYPTION_INFO_64 and LC_LINKER_OPTION
|
|
|
|
Patch by Matthias Ringwald.
|
|
|
|
* Load commands now have a "describe" method that returns more information
|
|
about the command.
|
|
|
|
Patch by David Dorsey.
|
|
|
|
* The MAGIC value in the header was always represented in the native
|
|
byte order, instead of as the value read from the binary.
|
|
|
|
Patch by David Dorsey.
|
|
|
|
* Added various new constants to "macholib.mach_o".
|
|
|
|
Patch by David Dorsey.
|
|
|
|
macholib 1.6.1
|
|
--------------
|
|
|
|
* ?
|
|
|
|
macholib 1.6
|
|
------------
|
|
|
|
* Add support for '@loader_path' link command in
|
|
macholib.dyld:
|
|
|
|
- Added function ``macholib.dyld.dyld_loader_search``
|
|
|
|
- This function is used by ``macholib.dyld.dyld_find``,
|
|
and that function now has an new (optional) argument
|
|
with the path to the loader.
|
|
|
|
* Also add support for '@loader_path' to macholib.MachoGraph,
|
|
using the newly added '@loader_path' support in the
|
|
dyld module.
|
|
|
|
Due to this suppport the *macho_standalone* tool can
|
|
now rewrite binaries that contain an '@loader_path' load
|
|
command.
|
|
|
|
|
|
macholib 1.5.2
|
|
--------------
|
|
|
|
* Issue #93: Show the name of the affected file in the exception message
|
|
for Mach-O headers that are too large to relocate.
|
|
|
|
|
|
macholib 1.5.1
|
|
--------------
|
|
|
|
* There were no 'classifiers' in the package metadata due to
|
|
a bug in setup.py.
|
|
|
|
macholib 1.5
|
|
--------------
|
|
|
|
macholib 1.5 is a minor feature release
|
|
|
|
* No longer use 2to3 to provide Python 3 support
|
|
|
|
As a side-effect of this macholib no longer supports
|
|
Python 2.5 and earlier.
|
|
|
|
* Adds suppport for some new macho load commands
|
|
|
|
* Fix for py3k problem in macho_standalone.py
|
|
|
|
Patch by Guanqun Lu.
|
|
|
|
* Fix for some issues in macho_dump.py
|
|
|
|
Patch by Nam Nguyen
|
|
|
|
* Issue #10: Fix for LC_DATA_IN_CODE linker commands, without
|
|
this fix py2app cannot build application bundles when
|
|
the source binaries have been compiled with Xcode 4.5.
|
|
|
|
* Issue #6: Fix for LC_ENCRYPTION_INFO linker commands
|
|
|
|
* Use the mach header information to print the cpu type of a
|
|
binary, instead of trying to deduce that from pointer width
|
|
and endianness.
|
|
|
|
Changed the code because of issue #6, in which a user tries to
|
|
dump a iOS binary which results in bogus output in the previous
|
|
releases.
|
|
|
|
* The mapping ``macholib.macho_dump.ARCH_MAP`` is undocumented
|
|
and no longer used by macholib itself. It will be removed
|
|
in the next release.
|
|
|
|
|
|
* The command-line tools ``macho_find``, ``macho_dump`` and
|
|
``macho_standalone`` are deprecated. Use "python -mmacholib"
|
|
instead. That is::
|
|
|
|
$ python -mmacholib dump /usr/bin/grep
|
|
|
|
$ python -mmacholib find ~
|
|
|
|
$ python -mmacholib standalone myapp.app
|
|
|
|
This makes it clearer which version of the tools are used.
|
|
|
|
macholib 1.4.3
|
|
--------------
|
|
|
|
macholib 1.4.3 is a minor feature release
|
|
|
|
* Added strings for 'x86_64' and 'ppc64' to
|
|
macholib.mach_o.CPU_TYPE_NAMES.
|
|
|
|
* macho_find and macho_dump were broken in the 1.4.2 release
|
|
|
|
* added 'macholib.util.NOT_SYSTEM_FILES', a list of
|
|
files that aren't system path's even though they are
|
|
located in system locations.
|
|
|
|
Needed to work around a bug in PySide (see issue #32 in the
|
|
py2app tracker)
|
|
|
|
|
|
|
|
macholib 1.4.2
|
|
--------------
|
|
|
|
macholib 1.4.2 is a minor bugfix release
|
|
|
|
* The support for new load commands that was added in 1.4.1
|
|
contained a typo that caused problems on OSX 10.7 (Lion).
|
|
|
|
macholib 1.4.1
|
|
--------------
|
|
|
|
macholib 1.4.1 is a minor feature release
|
|
|
|
Features:
|
|
|
|
- Add support for a number of new MachO load commands that were added
|
|
during the lifetime of OSX 10.6: ``LC_LOAD_UPWARD_DYLIB``,
|
|
``LC_VERSION_MIN_MACOSX``, ``LC_VERSION_MIN_IPHONEOS`` and
|
|
``LC_FUNCTION_STARTS``.
|
|
|
|
macholib 1.4
|
|
-------------
|
|
|
|
macholib 1.4 is a feature release
|
|
|
|
Features:
|
|
|
|
- Documentation is now generated using `sphinx <http://pypi.python.org/pypi/sphinx>`_
|
|
and can be viewed at <http://packages.python.org/macholib>.
|
|
|
|
- The repository has moved to bitbucket
|
|
|
|
- There now is a testsuite
|
|
|
|
- Private functionality inside modules was renamed to
|
|
a name starting with an underscore.
|
|
|
|
.. note:: if this change affects your code you are relying on undefined
|
|
implementation features, please stop using private functions.
|
|
|
|
- The basic packable types in ``macholib.ptypes`` were renamed to better
|
|
represent the corresponding C type. The table below lists the old
|
|
an new names (the old names are still available, but are deprecated and
|
|
will be removed in a future release).
|
|
|
|
+--------------+--------------+
|
|
| **Old name** | **New name** |
|
|
+==============+==============+
|
|
| p_byte | p_int8 |
|
|
+--------------+--------------+
|
|
| p_ubyte | p_uint8 |
|
|
+--------------+--------------+
|
|
| p_short | p_int16 |
|
|
+--------------+--------------+
|
|
| p_ushort | p_uint16 |
|
|
+--------------+--------------+
|
|
| p_int | p_int32 |
|
|
+--------------+--------------+
|
|
| p_uint | p_uint32 |
|
|
+--------------+--------------+
|
|
| p_long | p_int32 |
|
|
+--------------+--------------+
|
|
| p_ulong | p_uint32 |
|
|
+--------------+--------------+
|
|
| p_longlong | p_int64 |
|
|
+--------------+--------------+
|
|
| p_ulonglong | p_uint64 |
|
|
+--------------+--------------+
|
|
|
|
``Macholib.ptypes.p_ptr`` is no longer present as it had an unclear
|
|
definition and isn't actually used in the codebase.
|
|
|
|
|
|
Bug fixes:
|
|
|
|
- The semantics of ``dyld.dyld_default_search`` were changed a bit,
|
|
it now first searches the framework path (if appropriate) and then
|
|
the linker path, irrespective of the value of the ``DYLD_FALLBACK*``
|
|
environment variables.
|
|
|
|
Previous versions would change the search order when those variables
|
|
was set, which is odd and doesn't correspond with the documented
|
|
behaviour of the system dyld.
|
|
|
|
- It is once again possible to install using python2.5
|
|
|
|
- The source distribution includes all files, this was broken
|
|
due to the switch to mercurial (which confused setuptools)
|
|
|
|
macholib 1.3
|
|
------------
|
|
|
|
macholib 1.3 is a feature release.
|
|
|
|
Features:
|
|
|
|
- Experimental Python 3.x support
|
|
|
|
This version contains lightly tested support for Python 3.
|
|
|
|
macholib 1.2.2
|
|
--------------
|
|
|
|
macholib 1.2.2 is a bugfix release.
|
|
|
|
Bug fixes:
|
|
|
|
- Macholib should work better with 64-bit code
|
|
(patch by Marc-Antoine Parent)
|
|
|
|
Keywords: Mach-O,,dyld
|
|
Platform: any
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Programming Language :: Python
|
|
Classifier: Programming Language :: Python :: 2
|
|
Classifier: Programming Language :: Python :: 2.7
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.3
|
|
Classifier: Programming Language :: Python :: 3.4
|
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
Classifier: Topic :: Software Development :: Build Tools
|