Revert "linkage_checker: check variable references with dlopen"
Trying to `dlopen` some Qt libraries causes Ruby to crash. This reverts commit 0191a275ccc3e1a9377c956751bbc1c4ba7b0cea.
This commit is contained in:
parent
b39fbc9c8c
commit
7bd5374dcc
@ -32,7 +32,6 @@ class LinkageChecker
|
|||||||
@unnecessary_deps = []
|
@unnecessary_deps = []
|
||||||
@unwanted_system_dylibs = []
|
@unwanted_system_dylibs = []
|
||||||
@version_conflict_deps = []
|
@version_conflict_deps = []
|
||||||
@broken_variable_dylibs = []
|
|
||||||
|
|
||||||
check_dylibs(rebuild_cache: rebuild_cache)
|
check_dylibs(rebuild_cache: rebuild_cache)
|
||||||
end
|
end
|
||||||
@ -47,7 +46,6 @@ class LinkageChecker
|
|||||||
display_items "Undeclared dependencies with linkage", @undeclared_deps
|
display_items "Undeclared dependencies with linkage", @undeclared_deps
|
||||||
display_items "Dependencies with no linkage", @unnecessary_deps
|
display_items "Dependencies with no linkage", @unnecessary_deps
|
||||||
display_items "Unwanted system libraries", @unwanted_system_dylibs
|
display_items "Unwanted system libraries", @unwanted_system_dylibs
|
||||||
display_items "Libraries with broken variable references", @broken_variable_dylibs
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def display_reverse_output
|
def display_reverse_output
|
||||||
@ -70,12 +68,11 @@ class LinkageChecker
|
|||||||
display_items "Broken dependencies", @broken_deps, puts_output: puts_output
|
display_items "Broken dependencies", @broken_deps, puts_output: puts_output
|
||||||
display_items "Unwanted system libraries", @unwanted_system_dylibs, puts_output: puts_output
|
display_items "Unwanted system libraries", @unwanted_system_dylibs, puts_output: puts_output
|
||||||
display_items "Conflicting libraries", @version_conflict_deps, puts_output: puts_output
|
display_items "Conflicting libraries", @version_conflict_deps, puts_output: puts_output
|
||||||
display_items "Libraries with broken variable references", @broken_variable_dylibs, puts_output: puts_output
|
|
||||||
end
|
end
|
||||||
|
|
||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def broken_library_linkage?
|
def broken_library_linkage?
|
||||||
issues = [@broken_deps, @unwanted_system_dylibs, @version_conflict_deps, @broken_variable_dylibs]
|
issues = [@broken_deps, @unwanted_system_dylibs, @version_conflict_deps]
|
||||||
[issues, unexpected_broken_dylibs, unexpected_present_dylibs].flatten.any?(&:present?)
|
[issues, unexpected_broken_dylibs, unexpected_present_dylibs].flatten.any?(&:present?)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -151,7 +148,6 @@ class LinkageChecker
|
|||||||
end
|
end
|
||||||
|
|
||||||
checked_dylibs = Set.new
|
checked_dylibs = Set.new
|
||||||
dlopened_if_needed_files = Set.new
|
|
||||||
|
|
||||||
keg_files_dylibs.each do |file, dylibs|
|
keg_files_dylibs.each do |file, dylibs|
|
||||||
dylibs.each do |dylib|
|
dylibs.each do |dylib|
|
||||||
@ -163,15 +159,6 @@ class LinkageChecker
|
|||||||
|
|
||||||
if dylib.start_with? "@"
|
if dylib.start_with? "@"
|
||||||
@variable_dylibs << dylib
|
@variable_dylibs << dylib
|
||||||
|
|
||||||
if dlopened_if_needed_files.add?(file)
|
|
||||||
file = Pathname.new(file)
|
|
||||||
next if file.binary_executable?
|
|
||||||
next if dylib_found_via_dlopen(file.dylib_id)
|
|
||||||
|
|
||||||
@broken_variable_dylibs << file.dylib_id
|
|
||||||
end
|
|
||||||
|
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user