-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM once comments are addressed
@@ -1277,6 +1267,7 @@ namespace vcpkg::Files | |||
#ifdef _WIN32 | |||
fs::path win32_fix_path_case(const fs::path& source) | |||
{ | |||
using fs::is_slash; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using fs::is_slash; |
since the use below is qualified?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is missing a port-version update.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 .