Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/Homebrew/ruby-macho
🔩 A pure-Ruby library for parsing Mach-O files.
https://github.com/Homebrew/ruby-macho
Rpath deletion.
48334c6ef0ef1b4763d99260fd7c1f67b6918285 authored over 8 years ago0a5ade46c852b3fad2b530a7b3a28019131c42b5 authored over 8 years ago
Add a MachOFile#set_ncmds method for setting the header's number of
specified load commands.
Add LoadCommand.create for creating independent load commands.
f8fed644327456b97e64aac703c5bc6515711509 authored over 8 years agoShorten early returns and raises, use non-deprecated methods.
MachOFile#sections: Use a case ...
adbd6d39972080fa7265d001ae375fac4205c89f authored over 8 years ago25d718a6122612d5159d0b3a9f94d7981121c443 authored over 8 years ago
Add LoadCommand#serialize for serializing load commands.
Add LoadCommand::SerializationContext....
5d70eee8cf154e20b23ec4076a33dd6a5c9cfc84 authored over 8 years agodb5c32800ef147bd5d4dd5ddf98a8222e6c927bd authored over 8 years ago
a7147869972dbe69f0ac40610777662b0b2b2ed7 authored over 8 years ago
348658b3e05bd55fc798e6b08cac358b9223bf52 authored over 8 years ago
Fixes a long-standing bug in null-pad calculation that caused rpaths
modifications to be misalig...
90048c5d77287a0356769767e3f08b67ee86ab11 authored over 8 years ago
bcfcb0eb643886d6473e5b9ae58ee8841f07c03f authored over 8 years ago
a291e753e7432d30777c74473b0765c1a9e981ca authored over 8 years ago
LCStr: Refactor and simplify
3d643b29ea339e3298490ab2169e89292c234f55 authored over 8 years ago
- Drop constructor argument `raw_data` as it is redundant and the data
can be obtained from th...
This amends commit a62c23ae6335d6650cb2e5d49ac9530aed7f301e where the
attribute was moved into `...
7a5f72953486e9fecaae3293858b547011fbfc55 authored over 8 years ago
Add direct two-level hints table access.
01f9b7067349f7da3b8a4dfedcbadceea6ddb873 authored over 8 years agoAdditionally, move MachOStructure.specialize_format to Utils.
Update calls to utility functions t...
663ea0af77da242c15d29373345b22b2726d9bf8 authored over 8 years ago
00803363a5ab7fa9b11f57e05dd74913adb4d46a authored over 8 years ago
Update load commands to use MachOView instead of individual arguments
for constituent data.
...
a62c23ae6335d6650cb2e5d49ac9530aed7f301e authored over 8 years agoUpdate MachOFile#filetype and FatFile#filetype to reflect the changes.
Update tests to reflec...
aeea94b9419a76ed2154e1ab1ccb0d9ae8558e82 authored over 8 years ago2d869d656cbbf64545adaac693839f104bbb7e16 authored over 8 years ago
Added various ARM, i386, PPC, and m68/88k subtypes.
CPU_SUBTYPE_ARM64_V8 has an arch(3) of "a...
1ee22dbcac24d0c7583099eac13f9312b2dd6cdf authored over 8 years agotest: Add missing '*_expected*' binaries and target to Makefile
Also recursively copy files f...
4d2a9be7513a4afa6728bc9089ea6f907a996dc2 authored over 8 years agoc6ebcb9e6fe7126ae4e986bbb360d43d0bc8d388 authored over 8 years ago
df074355a6663f67dd059e5c449219c0175627c7 authored over 8 years ago
dd32133f1329aa40229f26dfb69708905aee9446 authored over 8 years ago
PPC (general big-endian) support
323cb5ce88d011c50859987c7a5253b53ac4ec2f authored over 8 years ago
This takes advantage of Ruby 1.9.x's new String#format "<", ">",
and "=" endianness specifiers. ...
de2e53e3d9552aae590bd086cf44d2911ad12198 authored over 8 years ago
22d7f13e8cb58f340951b94af875dadccc9b4c31 authored over 8 years ago
Built on OS X 10.6.8 using Xcode 3.2.6.
19a8c8c86f27bdefb3cf9dde0668f60218e8a18b authored over 8 years ago
Refactor the Makefile to make it more flexible. Extensively use pattern
matching to avoid repeti...
test: Restructure bin folder, replace hardcoded paths with generator.
a580f4785f648b77995beb64c926c25309a29f35 authored over 8 years ago
Moves binaries to subdirectories under bin/ corresponding to their
architecture (following `man ...
Improve cputype/cpusubtype handing.
f91a2afede4e08749a1f32533e62261177fc662c authored over 8 years ago
Additionally, adds new CPU types and subtypes, as well as two
additional load commands and freez...
6d7f1294b868283a1dd615bd75fa69b6a1320509 authored over 8 years ago
09154d19bdb1bdd9908738f75ffa5fb626547e6a authored almost 9 years ago
4e2cc7c93afa275fc6ef121fc93fa7a15f4a097a authored almost 9 years ago
Optimization: Replace control-flow-by-exception with magic testing and incremental reads.
ec64d0c50fb15722a1579286b82a0e44c9732274 authored almost 9 years ago8baf114051727c6045080858d5fa0212b8150df4 authored almost 9 years ago
c788296dfa23c7aa602b3e14929f994c53eb8303 authored almost 9 years ago
Ensure that MachO.open raises all expected exceptions.
ee8906cc025ada8b4c1ba71206fdb4dcf53aaafc authored almost 9 years agoand incremental reads.
Instead of attempting to open a file with MachOFile.new and catching
a Fa...
Ensures that an ArgumentError is raised correctly when either's
constructor is supplied with a f...
Additionally, use File.file? instead of File.exist? and
tweak documentation.
Testing: Simplify running the test suite
93c4547cff45e6aa5038db99e6c450ca40c2c184 authored almost 9 years ago
Provide a script that only requires Bundler to be installed and then
automatically installs all ...
Also un-ignore `Gemfile.lock` and put it into version control as is
recommended by the Bundler d...
Previously, unimplemented methods like Tools.{change,add,delete}_rpath
errored out with a `raise...
MachOFile#set_lc_str_in_cmd: Fix Ruby 1.8.7 bug
52db1c95e68f0bcacbf33785d8e7f9949893860d authored almost 9 years agobin/*: Various enhancements
fa4030e943e1c8e91704a35113435235190506a0 authored almost 9 years ago0c8029aa0c0d98013ed912272cca7be673221fd4 authored almost 9 years ago
Indent information in different sections with two spaces. Also add size
information to sections ...
This makes it easier to run the binaries without any further adjustment
to the environment, e.g....
da352ac7ac6e83addaafff9a8aae8be21489a27b authored almost 9 years ago
A series of `next if/unless` makes it easier to understand the complex
condition(s) and reduces ...
With Ruby from `homebrew/versions/ruby187` (1.8.7-p374) on OS X 10.11.3
`2**64` unfortunately yi...
Matches the .new_from_bin and #initialize_from_bin methods
in MachOFile.
Ensures that #write! e...
9cdca3f7a012e0b7fded8b018bc3c9c073a7a250 authored almost 9 years agoError Handling: Add NotAMachOError for edge cases.
5cd06e1a5a3af759212d82986c00a7eca8d9ff8b authored almost 9 years ago
Ensure that NotAMachOError (and children) are raised correctly by
both MachOFile and FatFile und...
Include new error classes: TruncatedFileError, JavaClassFileError
under NotAMachOError. MagicErr...
2181ea63a7b40f7dc5cff3da93dda931a5c7e3ca authored almost 9 years ago
Maintenance: Replace tab indentation with two-space.
f9d6066d9afe09c11ab5003a09b433dc79f39a63 authored almost 9 years ago
Changes indentation in non-ruby (i.e., not ending in .rb)
repo files.
Maintenance: Replace tab indentation with two-space.
Closes #15.
03d72a90c29673cf0116c766b2f03f69ebc7dda9 authored almost 9 years ago
Everybody else in the Ruby world uses two-space, so we
should too.
Now that ruby-macho is under Homebrew, rubygems should reflect
its new location. This will be up...
1.8.7 Compatibility
3c6b670975b65fc63d84aa122b514d7a68eb9aad authored almost 9 years agoTesting: Make 1.8.7 build successes mandatory on Travis CI.
Testing: Modify $: ($LOAD_PATH) to ...
ec4bef911023f5fd5235ef25dfb9153974a386b9 authored almost 9 years agof7d99aa796b4046068be478df4cecf2daa220e6a authored almost 9 years ago
Testing: Add skeleton for new benchmarking tests.
288659ffa5f3b8c6ef6f2d0e4d6693fee5ece439 authored almost 9 years ago70669996162a1fcab69868cb71dc3208a255a915 authored almost 9 years ago
Additionally, until 1.8.7 is fully supported, allow its
builds to fail.
Reference #13.
e2ef8e7dbdfa4e73c685ae3d36a0130176f262c3 authored almost 9 years agoFatFile/MachOFile: avoid some code duplication
1b27858996ca4dacbd6074bccbe78d1041c4b230 authored almost 9 years ago
When parsing `FatHeader` and `FatArch` structs, use the format defined
in there and use `MachOSt...
When parsing `MachHeader` and `MachHeader64` structs, use the format
defined in there and use `M...
Add bench.rb, which will contain benchmarking methods
for both ruby-macho and otool/install_name...
9e255fb6e63868feb566c0a6fce38fbabda7b245 authored almost 9 years ago
f22e217e3734fc3543f330ea7f361e96acc3ca20 authored almost 9 years ago
21df0e61ec32252e156313f46c5dd88ad49fb7f4 authored almost 9 years ago
Always return unique list of dylibs and clarify comments
6d76d891892c94b49b93edc02d137ad2e5762c30 authored almost 9 years ago1ebf2955128d8c46565038169c227b3e0227f71f authored almost 9 years ago
d02d3c54868a7fc162d6ba8cd9cdc7a4ec61cfc3 authored almost 9 years ago
Add LC_LAZY_LOAD_DYLIB commands to both libextrahello
and libfatextrahello and test the new comm...
Now that LC_LOAD_UPWARD_DYLIB and LC_LAZY_LOAD_DYLIB are treated
as normal DylibCommands, create...
eliminate CPU_TYPE_X86 in favor of CPU_TYPE_I386
6a1ab5794ca37d6d1b99ecdd41d61dfed7a18b45 authored almost 9 years ago
`CPU_TYPE_X86` and `CPU_TYPE_I386` have the same numeric value, making
the `CPU_TYPE_X86 => "CPU...
fix 'linked_dylibs' for fat files with single arch
25fece735efb93314f1dd5a2e43625591b91402d authored almost 9 years agoconsider all relevant commands in 'linked_dylibs'
6699279b73d0af19c89035c1777bde1374efdfdf authored almost 9 years ago
Both `LC_LAZY_LOAD_DYLIB` and `LC_LOAD_UPWARD_DYLIB` are represented as
a `DylibCommand` interna...
Linked dylibs are not limited to the `LC_LOAD_DYLIB` load command. For
completeness and consiste...
If there are no duplicates, `uniq!` returns nil instead of the array it
operated on. Also use `f...
4ab54d6b1d32b28e759421e12166ad790b37fa5b authored about 9 years ago
8cb06d536f44d2477c34b119b617f02bc3936b18 authored about 9 years ago
df5310e59ce5e0f6186cfece1bc0eefbce4976d9 authored about 9 years ago