vendor: Update ruby-macho to 0.2.6.
This brings fixes for behavior expected in #1460.
This commit is contained in:
parent
b7abd33475
commit
7e09379669
2
Library/Homebrew/vendor/README.md
vendored
2
Library/Homebrew/vendor/README.md
vendored
@ -5,7 +5,7 @@ Vendored Dependencies
|
|||||||
|
|
||||||
* [plist](https://github.com/bleything/plist), version 3.1.0
|
* [plist](https://github.com/bleything/plist), version 3.1.0
|
||||||
|
|
||||||
* [ruby-macho](https://github.com/Homebrew/ruby-macho), version 0.2.5
|
* [ruby-macho](https://github.com/Homebrew/ruby-macho), version 0.2.6
|
||||||
|
|
||||||
## Licenses:
|
## Licenses:
|
||||||
|
|
||||||
|
|||||||
2
Library/Homebrew/vendor/macho/macho.rb
vendored
2
Library/Homebrew/vendor/macho/macho.rb
vendored
@ -13,5 +13,5 @@ require "#{File.dirname(__FILE__)}/macho/tools"
|
|||||||
# The primary namespace for ruby-macho.
|
# The primary namespace for ruby-macho.
|
||||||
module MachO
|
module MachO
|
||||||
# release version
|
# release version
|
||||||
VERSION = "0.2.5".freeze
|
VERSION = "0.2.6".freeze
|
||||||
end
|
end
|
||||||
|
|||||||
55
Library/Homebrew/vendor/macho/macho/fat_file.rb
vendored
55
Library/Homebrew/vendor/macho/macho/fat_file.rb
vendored
@ -34,9 +34,7 @@ module MachO
|
|||||||
|
|
||||||
@filename = filename
|
@filename = filename
|
||||||
@raw_data = File.open(@filename, "rb", &:read)
|
@raw_data = File.open(@filename, "rb", &:read)
|
||||||
@header = populate_fat_header
|
populate_fields
|
||||||
@fat_archs = populate_fat_archs
|
|
||||||
@machos = populate_machos
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Initializes a new FatFile instance from a binary string.
|
# Initializes a new FatFile instance from a binary string.
|
||||||
@ -45,9 +43,7 @@ module MachO
|
|||||||
def initialize_from_bin(bin)
|
def initialize_from_bin(bin)
|
||||||
@filename = nil
|
@filename = nil
|
||||||
@raw_data = bin
|
@raw_data = bin
|
||||||
@header = populate_fat_header
|
populate_fields
|
||||||
@fat_archs = populate_fat_archs
|
|
||||||
@machos = populate_machos
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# The file's raw fat data.
|
# The file's raw fat data.
|
||||||
@ -122,6 +118,21 @@ module MachO
|
|||||||
machos.first.filetype
|
machos.first.filetype
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Populate the instance's fields with the raw Fat Mach-O data.
|
||||||
|
# @return [void]
|
||||||
|
# @note This method is public, but should (almost) never need to be called.
|
||||||
|
def populate_fields
|
||||||
|
@header = populate_fat_header
|
||||||
|
@fat_archs = populate_fat_archs
|
||||||
|
@machos = populate_machos
|
||||||
|
end
|
||||||
|
|
||||||
|
# All load commands responsible for loading dylibs in the file's Mach-O's.
|
||||||
|
# @return [Array<MachO::DylibCommand>] an array of DylibCommands
|
||||||
|
def dylib_load_commands
|
||||||
|
machos.map(&:dylib_load_commands).flatten
|
||||||
|
end
|
||||||
|
|
||||||
# The file's dylib ID. If the file is not a dylib, returns `nil`.
|
# The file's dylib ID. If the file is not a dylib, returns `nil`.
|
||||||
# @example
|
# @example
|
||||||
# file.dylib_id # => 'libBar.dylib'
|
# file.dylib_id # => 'libBar.dylib'
|
||||||
@ -149,7 +160,7 @@ module MachO
|
|||||||
macho.change_dylib_id(new_id, options)
|
macho.change_dylib_id(new_id, options)
|
||||||
end
|
end
|
||||||
|
|
||||||
synchronize_raw_data
|
repopulate_raw_machos
|
||||||
end
|
end
|
||||||
|
|
||||||
alias dylib_id= change_dylib_id
|
alias dylib_id= change_dylib_id
|
||||||
@ -180,7 +191,7 @@ module MachO
|
|||||||
macho.change_install_name(old_name, new_name, options)
|
macho.change_install_name(old_name, new_name, options)
|
||||||
end
|
end
|
||||||
|
|
||||||
synchronize_raw_data
|
repopulate_raw_machos
|
||||||
end
|
end
|
||||||
|
|
||||||
alias change_dylib change_install_name
|
alias change_dylib change_install_name
|
||||||
@ -206,7 +217,7 @@ module MachO
|
|||||||
macho.change_rpath(old_path, new_path, options)
|
macho.change_rpath(old_path, new_path, options)
|
||||||
end
|
end
|
||||||
|
|
||||||
synchronize_raw_data
|
repopulate_raw_machos
|
||||||
end
|
end
|
||||||
|
|
||||||
# Add the given runtime path to the file's Mach-Os.
|
# Add the given runtime path to the file's Mach-Os.
|
||||||
@ -221,7 +232,7 @@ module MachO
|
|||||||
macho.add_rpath(path, options)
|
macho.add_rpath(path, options)
|
||||||
end
|
end
|
||||||
|
|
||||||
synchronize_raw_data
|
repopulate_raw_machos
|
||||||
end
|
end
|
||||||
|
|
||||||
# Delete the given runtime path from the file's Mach-Os.
|
# Delete the given runtime path from the file's Mach-Os.
|
||||||
@ -236,7 +247,7 @@ module MachO
|
|||||||
macho.delete_rpath(path, options)
|
macho.delete_rpath(path, options)
|
||||||
end
|
end
|
||||||
|
|
||||||
synchronize_raw_data
|
repopulate_raw_machos
|
||||||
end
|
end
|
||||||
|
|
||||||
# Extract a Mach-O with the given CPU type from the file.
|
# Extract a Mach-O with the given CPU type from the file.
|
||||||
@ -324,6 +335,17 @@ module MachO
|
|||||||
machos
|
machos
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Repopulate the raw Mach-O data with each internal Mach-O object.
|
||||||
|
# @return [void]
|
||||||
|
# @api private
|
||||||
|
def repopulate_raw_machos
|
||||||
|
machos.each_with_index do |macho, i|
|
||||||
|
arch = fat_archs[i]
|
||||||
|
|
||||||
|
@raw_data[arch.offset, arch.size] = macho.serialize
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Yield each Mach-O object in the file, rescuing and accumulating errors.
|
# Yield each Mach-O object in the file, rescuing and accumulating errors.
|
||||||
# @param options [Hash]
|
# @param options [Hash]
|
||||||
# @option options [Boolean] :strict (true) whether or not to fail loudly
|
# @option options [Boolean] :strict (true) whether or not to fail loudly
|
||||||
@ -351,16 +373,5 @@ module MachO
|
|||||||
# Non-strict mode: Raise first error if *all* Mach-O slices failed.
|
# Non-strict mode: Raise first error if *all* Mach-O slices failed.
|
||||||
raise errors.first if errors.size == machos.size
|
raise errors.first if errors.size == machos.size
|
||||||
end
|
end
|
||||||
|
|
||||||
# Synchronize the raw file data with each internal Mach-O object.
|
|
||||||
# @return [void]
|
|
||||||
# @api private
|
|
||||||
def synchronize_raw_data
|
|
||||||
machos.each_with_index do |macho, i|
|
|
||||||
arch = fat_archs[i]
|
|
||||||
|
|
||||||
@raw_data[arch.offset, arch.size] = macho.serialize
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -612,31 +612,7 @@ module MachO
|
|||||||
# A load command containing the address of the dynamic shared library
|
# A load command containing the address of the dynamic shared library
|
||||||
# initialization routine and an index into the module table for the module
|
# initialization routine and an index into the module table for the module
|
||||||
# that defines the routine. Corresponds to LC_ROUTINES_64.
|
# that defines the routine. Corresponds to LC_ROUTINES_64.
|
||||||
class RoutinesCommand64 < LoadCommand
|
class RoutinesCommand64 < RoutinesCommand
|
||||||
# @return [Fixnum] the address of the initialization routine
|
|
||||||
attr_reader :init_address
|
|
||||||
|
|
||||||
# @return [Fixnum] the index into the module table that the init routine is defined in
|
|
||||||
attr_reader :init_module
|
|
||||||
|
|
||||||
# @return [void]
|
|
||||||
attr_reader :reserved1
|
|
||||||
|
|
||||||
# @return [void]
|
|
||||||
attr_reader :reserved2
|
|
||||||
|
|
||||||
# @return [void]
|
|
||||||
attr_reader :reserved3
|
|
||||||
|
|
||||||
# @return [void]
|
|
||||||
attr_reader :reserved4
|
|
||||||
|
|
||||||
# @return [void]
|
|
||||||
attr_reader :reserved5
|
|
||||||
|
|
||||||
# @return [void]
|
|
||||||
attr_reader :reserved6
|
|
||||||
|
|
||||||
# @see MachOStructure::FORMAT
|
# @see MachOStructure::FORMAT
|
||||||
# @api private
|
# @api private
|
||||||
FORMAT = "L=2Q=8".freeze
|
FORMAT = "L=2Q=8".freeze
|
||||||
@ -644,20 +620,6 @@ module MachO
|
|||||||
# @see MachOStructure::SIZEOF
|
# @see MachOStructure::SIZEOF
|
||||||
# @api private
|
# @api private
|
||||||
SIZEOF = 72
|
SIZEOF = 72
|
||||||
|
|
||||||
# @api private
|
|
||||||
def initialize(view, cmd, cmdsize, init_address, init_module, reserved1,
|
|
||||||
reserved2, reserved3, reserved4, reserved5, reserved6)
|
|
||||||
super(view, cmd, cmdsize)
|
|
||||||
@init_address = init_address
|
|
||||||
@init_module = init_module
|
|
||||||
@reserved1 = reserved1
|
|
||||||
@reserved2 = reserved2
|
|
||||||
@reserved3 = reserved3
|
|
||||||
@reserved4 = reserved4
|
|
||||||
@reserved5 = reserved5
|
|
||||||
@reserved6 = reserved6
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# A load command signifying membership of a subframework containing the name
|
# A load command signifying membership of a subframework containing the name
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user