File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ include("auditor/symlink_translator.jl")
6
6
include (" auditor/compiler_abi.jl" )
7
7
include (" auditor/soname_matching.jl" )
8
8
include (" auditor/filesystems.jl" )
9
+ include (" auditor/extra_checks.jl" )
9
10
10
11
# AUDITOR TODO LIST:
11
12
#
@@ -82,6 +83,7 @@ function audit(prefix::Prefix, src_name::AbstractString = "";
82
83
all_ok &= check_dynamic_linkage (oh, prefix, bin_files;
83
84
platform= platform, silent= silent,
84
85
verbose= verbose, autofix= autofix)
86
+ all_ok &= check_os_abi (oh, platform, verbose = verbose)
85
87
end
86
88
end
87
89
catch e
Original file line number Diff line number Diff line change
1
+ # This file contains some extra checks that don't fall into the other
2
+ # categories, for example because they're very platform-specific.
3
+
4
+ check_os_abi (:: ObjectHandle , :: Platform , rest... ; verbose:: Bool = false , kwargs... ) = true
5
+
6
+ function check_os_abi (oh:: ELFHandle , :: FreeBSD , rest... ; verbose:: Bool = false , kwargs... )
7
+ if oh. ei. osabi != 0x09
8
+ # The dynamic loader should not have problems in this case, but the
9
+ # linker may not appreciate. Let the user know about this.
10
+ if verbose
11
+ @warn " OS/ABI is not set to FreeBSD (0x09) in the file header, this may be an issue at linking time"
12
+ end
13
+ return false
14
+ end
15
+ return true
16
+ end
You can’t perform that action at this time.
0 commit comments