[vcpkg baseline] [vs-yasm] Build yasm instead of downloading it to work around memory corruption bugs in yasm itself.#14003
Conversation
… from source. Works around yasm/yasm#153 . Should resolve microsoft#12237 .
C:\Dev\vcpkg\buildtrees\gmp\x64-windows-static-rel\adcc6b3cc4-2b6258d695.clean\SMP\obj\Release\x64\libgmp\addaddmul_1msb0.obj : fatal error LNK1106: invalid file or disk full: cannot seek to 0x23B :(
|
/azp run |
|
No pipelines are associated with this pull request. |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…_find_acquire_program(YASM) with yasm-tool-helper
|
This seems like an issue for cross-compilation; have you considered the fallout there? |
|
@strega-nil Yes, but I don't see another way. We can't be shipping ports which fail every 2 seconds because their build tools have memory corruption bugs. |
|
hm. I don't like it but yeah, you're right. We seriously need to ship tool ports. |
# Conflicts: # toolsrc/src/vcpkg/base/files.cpp
ras0219
left a comment
There was a problem hiding this comment.
LGTM once comments are addressed
| #ifdef _WIN32 | ||
| fs::path win32_fix_path_case(const fs::path& source) | ||
| { | ||
| using fs::is_slash; |
There was a problem hiding this comment.
| using fs::is_slash; |
since the use below is qualified?
There was a problem hiding this comment.
The use below is not qualified:
if (last - first >= 3 && is_slash(first[0]) && is_slash(first[1]) && !is_slash(first[2]))
GitHub's review tool failed you.
ports/yasm-tool/portfile.cmake
Outdated
| @@ -0,0 +1,37 @@ | |||
| vcpkg_fail_port_install(MESSAGE "The yasm-tool port currently only supports Windows" ON_TARGET "Linux" "OSX" ON_ARCH "x64" "arm") | |||
There was a problem hiding this comment.
| vcpkg_fail_port_install(MESSAGE "The yasm-tool port currently only supports Windows" ON_TARGET "Linux" "OSX" ON_ARCH "x64" "arm") | |
| vcpkg_fail_port_install(MESSAGE "The yasm-tool port is only intended to be built for x86 Windows" ON_TARGET "Linux" "OSX" ON_ARCH "x64" "arm") |
| @@ -9,14 +9,15 @@ if(VCPKG_TARGET_IS_WINDOWS) | |||
| REF e140dfc8668e96d7e56cbd46467945adcc6b3cc4 #v6.2.0 | |||
There was a problem hiding this comment.
This is missing a port-version update.
There was a problem hiding this comment.
That was intentional because there are no changes in the output but...
…rk around memory corruption bugs in yasm itself. (microsoft#14003)
Works around yasm/yasm#153 .
Should resolve #12237 .