diff --git a/Library/Homebrew/os/mac/linkage_checker.rb b/Library/Homebrew/os/mac/linkage_checker.rb index e72227fc48..e014e38169 100644 --- a/Library/Homebrew/os/mac/linkage_checker.rb +++ b/Library/Homebrew/os/mac/linkage_checker.rb @@ -23,10 +23,7 @@ class LinkageChecker @keg.find do |file| next if file.symlink? || file.directory? next unless file.dylib? || file.mach_o_executable? || file.mach_o_bundle? - - # weakly loaded dylibs may not actually exist on disk, so skip them - # when checking for broken linkage - file.dynamically_linked_libraries(except: :LC_LOAD_WEAK_DYLIB).each do |dylib| + file.dynamically_linked_libraries.each do |dylib| @reverse_links[dylib] << file if dylib.start_with? "@" @variable_dylibs << dylib diff --git a/Library/Homebrew/os/mac/mach.rb b/Library/Homebrew/os/mac/mach.rb index 4113a06018..07598a23dd 100644 --- a/Library/Homebrew/os/mac/mach.rb +++ b/Library/Homebrew/os/mac/mach.rb @@ -1,7 +1,7 @@ require "vendor/macho/macho" require "os/mac/architecture_list" -module MachOShim +module MachO # @private def macho @macho ||= begin @@ -51,10 +51,8 @@ module MachOShim end end - def dynamically_linked_libraries(except: :none) - lcs = macho.dylib_load_commands.reject { |lc| lc.type == except } - - lcs.map(&:name).map(&:to_s) + def dynamically_linked_libraries + macho.linked_dylibs end def dylib_id diff --git a/Library/Homebrew/os/mac/pathname.rb b/Library/Homebrew/os/mac/pathname.rb index 5fd59e1e79..9b65d7ac02 100644 --- a/Library/Homebrew/os/mac/pathname.rb +++ b/Library/Homebrew/os/mac/pathname.rb @@ -1,5 +1,5 @@ require "os/mac/mach" class Pathname - include MachOShim + include MachO end