-
Notifications
You must be signed in to change notification settings - Fork 49
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
Add proper armasm[64] support for MSVC toolchain #502
Conversation
I was able to address the shortcomings of my initial approach and provide a solution that works for both, The patch provided here is proven to work for:
The last job targetting arm64 is using an upcoming patch to Boost.Context |
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.
Looks good. One minor change.. Could you add yourself to the copyrights as there's enough here to qualify as significant.
armasm and armasm64, the MSVC toolchain's assemblers for arm and arm64 respectively, have completely different invocations than their ml and ml64 counterparts targetting x86 and x86-64. Here's the full output of armasm's help: ``` cmd> armasm64 -h Microsoft (R) ARM Macro Assembler Version 14.23.28106.4 for 64 bits Copyright (C) Microsoft Corporation. All rights reserved. Usage: armasm [<options>] sourcefile objectfile armasm [<options>] -o objectfile sourcefile armasm -h for help <options>: (Upper case shows allowable abbreviation) -Errors errorsfile redirect stderr diagnostics to errorsfile -I dir[;dir] add dirs to include search path -PreDefine directive pre-execute a SET{L,A,S} directive -NOWarn turn off warning messages -ignore <warning-num> don't report warning-num -Help help (this information) -via <file> read further arguments from <file> -machine <machine> set the PE machine type field -g generate debugging info -gh:SHA_256 use SHA256 for file checksum in debug info (experimental) -errorReport:<option> report internal assembler errors to Microsoft none - do not send report prompt - prompt to immediately send report queue - at next admin logon, prompt to send report (default) send - send report automatically <machine>: ARM64 ```
Updated |
|
Is the problem the negative value of the clock? |
Yay, all green now! |
Yeah, the timing test suffers from a long standing bug that makes it fail inconsistently. |
armasm and armasm64, the MSVC toolchain's assemblers for arm and arm64
respectively, have completely different invocations than their ml and
ml64 counterparts targetting x86 and x86-64.
Here's the full output of armasm's help:
This patch is incomplete, as I struggle to work with JAM and would like to request some help. I have verified this was sufficient to
compileassemble an object file with b2 targetting arm64 with this patch.Things to address:
<architecture>
but couldn't find the proper way to express the condition.os.name
generator.override
s either<ASMFLAGS>
inbuild/src/tools/msvc.jam
Line 1864 in e04b0c2