-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stdlib pkgimages seems to be compiled with generic target #54464
Comments
I believe the problem is more general than stdlibs, it looks like setting # Cleanup Example precompile dir
example_dir = joinpath(first(Base.DEPOT_PATH), "compiled", "v$(Base.thisminor(Base.VERSION))"[begin:end-2], "Example")
rm(example_dir; force=true, recursive=true)
# Install Example
using Pkg
Pkg.activate(; temp=true, io=devnull)
Pkg.add("Example"; io=stdout)
# Find compile cache
pkg = Base.identify_package("Example")
cachefiles = Base.find_all_in_cache_path(pkg)
isempty(cachefiles) && error(pkg, " has not yet been precompiled for julia ", Base.VERSION, ". Reinstall the package with `Pkg.add(\"Example\"; io=stdout)` to see why")
pkgpath = Base.locate_package(pkg)
idx = findfirst(cachefiles) do cf
Base.stale_cachefile(pkgpath, cf) !== true
end
targets = Base.parse_image_targets(Base.parse_cache_header(cachefiles[idx])[7])
# Show target
@show targets With Julia v1.10.3 I get % julia example_targets.jl
targets = Base.ImageTarget[haswell; flags=0; features_en=(sse3, pclmul, ssse3, fma, cx16, sse4.1, sse4.2, movbe, popcnt, aes, xsave, avx, f16c, fsgsbase, bmi, avx2, bmi2, sahf, lzcnt)]
% JULIA_CPU_TARGET='generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1);x86-64-v4,-rdrnd,base(1)' julia example_targets.jl
targets = Base.ImageTarget[generic; flags=0; features_en=(cx16)] Moreover, shuffling the targets: % JULIA_CPU_TARGET='sandybridge,-xsaveopt,clone_all;generic;haswell,-rdrnd,base(0);x86-64-v4,-rdrnd,base(0)' julia example_targets.jl
targets = Base.ImageTarget[sandybridge; flags=0; features_en=(sse3, pclmul, ssse3, cx16, sse4.1, sse4.2, popcnt, xsave, avx, sahf)] So we always compile only for the first target of the list, whatever that is. |
That's not too surprising since stdlibs are compiled identically to normal packages. |
Making this an issue so I can add it to the milestone:
Ref #54093
The text was updated successfully, but these errors were encountered: