Make the platform expansions MSAN aware#271
Conversation
| if sanitize(platform) == "memory" | ||
| p = deepcopy(platform) | ||
| p["cxxstring_abi"] = "cxx11" #Clang only seems to generate cxx11 abi | ||
| return p | ||
| end |
| if sanitize(platform) == "memory" | ||
| return platform #MSAN can't use libgfortran | ||
| end |
src/Rootfs.jl
Outdated
| end | ||
|
|
||
| if sanitize(platform) == "memory" | ||
| return platform #MSAN can't use libgfortran |
There was a problem hiding this comment.
I'd say "doesn't use", rather than "can't use", it just uses a different fortran runtime library
giordano
left a comment
There was a problem hiding this comment.
Good that I asked to add tests 🙂
src/Rootfs.jl
Outdated
| end | ||
|
|
||
| if sanitize(platform) == "memory" | ||
| return platform #MSAN doesn't use libgfortran, it uses libflang |
There was a problem hiding this comment.
| return platform #MSAN doesn't use libgfortran, it uses libflang | |
| return [platform] # MSAN doesn't use libgfortran, it uses libflang |
Also, I'm not sure "libflang" is a thing. They seem to just call it flang runtime: https://github.com/llvm/llvm-project/blob/2b187effbd65ec795689f93e78c42fc9ea34b706/flang/runtime/CMakeLists.txt#L12
There was a problem hiding this comment.
That's the actual name funilly enough https://github.com/JuliaPackaging/Yggdrasil/blob/master/F/FlangClassic/FlangClassic_RTLib/build_tarballs.jl.
At least for FlangClassic which is what we use.
There was a problem hiding this comment.
Right, I was looking at the wrong flang.
There was a problem hiding this comment.
In fact the OpenBlas recipe is wrong right now, it's not just a build dep but a runtime one too
src/Rootfs.jl
Outdated
| if sanitize(platform) == "memory" | ||
| p = deepcopy(platform) | ||
| p["cxxstring_abi"] = "cxx11" #Clang only seems to generate cxx11 abi | ||
| return p |
There was a problem hiding this comment.
| return p | |
| return [p] |
|
This made it type unstable for some reason, which led to the issue above. |
How about this, so then we don't get useless builds, but still have the tags when needed