-
Notifications
You must be signed in to change notification settings - Fork 13.2k
[RFE]: Missing altmacro support in integrated assembler #19292
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
Comments
assigned to @compnerd |
Documentation derived from the GAS documentation: 7.4 .altmacro Enable alternate macro mode, enabling: LOCAL name [ , … ] ’string’ You can delimit strings with matching angle brackets. single-character string escape |
I was able to hack something together which is able to properly process the "extended test case". However, that is more to figure out how to implement it. It seems that the problem with formalising the support requires splitting out the expression parser. We need to be able to switch the token stream from the lexer to a pre-tokenised stream. |
.altmacro wip The second is the actual beginnings of an altmacro parser support which is sufficient to get the basic test shown here to pass. Im posting this here at the request of functorfun over IRC. |
Status on this? |
There is a new patch currently on review which is designed to fix this issue. |
Any chance of reviving the patch? |
Hi Ismail, Have you seen Jim's comment that the docs are vague? I honestly don't understand myself what altmacro does, and that snippet helps nothing. His suggestion was to start a thread in the mailing list, trying to gather as much information as possible (examples, other docs, threads) that will support the case for implementing the feature in the exact way it's being proposed. Not that it's wrong, I have no way of asserting that, but we just need to know what exactly it is before reviewing code. cheers, |
One FreeBSD source file (skein implementation) cannot be assembled with the integrated assembler, due to the lack of .altmacro (and some other issues). Source is here: https://svnweb.freebsd.org/base/head/sys/crypto/skein/amd64/skein_block_asm.s?view=markup |
support for all alternate macro mode ('.altmacro') documented features but 'LOCAL' was recently introduced to llvm by Michael Zuckerman (this one introduces the ability to evaluate compound absolute expressions: https://reviews.llvm.org/rL301797, for example). |
This was created for a bug that has been fixed, but the description is too broad. I'm closing it, and if someone needs something else to do with macros, they should create a new, specific bug. |
mentioned in issue #21794 |
mentioned in issue #22065 |
mentioned in issue #24719 |
mentioned in issue #32752 |
mentioned in issue #4440 |
mentioned in issue #9620 |
Extended Description
Hi,
While compiling coreboot, AMD's AGESA vendor assembler code blows up with the following macro expansion:
src/vendorcode/amd/agesa/f14/gcccar.inc:38:1: error: unknown directive
.altmacro
^
:4:5: error: invalid instruction mnemonic 'local'
LOCAL SetupStack
The text was updated successfully, but these errors were encountered: