-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[Meta] Chromium building with -integrated-as on ARM #20796
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
(upstream bug is https://code.google.com/p/chromium/issues/detail?id=124610) Renato, maybe you know if anyone cares about this? |
Hi Nico, I'm interested in IAS bugs, as well as some other folks like Saleem and ARM, but I can't pursue the Chromium project myself. I hadn't seen the attached bugs to this one, but I will now. As a general rule, pre-UAL support as well as GNU extensions have less priority and might not even be implemented, with the rule of thumb being about the complexity of the patch needed to enable support. If it's just an alias or a simple match, it should be ok, but if it needs substantial support from the assembler just for that legacy/extension, than it's likely not going in. I'll review each one of the depending bugs individually, thanks for getting my attention to this. cheers, |
Cool. It's probably not a complete list; I'll add more things over time.
What's "UAL"?
Is there a standard for assemblers? I thought it's all implementation-defined. How do I know if something is a GNU extension? (The two patches I've sent so far fall into the "low complexity" bucket though, I think.) |
Unified assembly language. The ARM assembly evolved over time, and had lots of different mnemonics that behaved slightly differently. In order to simplify things, the FPU and CPU operations were renamed and made uniform and became known as UAL. GAS doesn't default to it, though it supports it. Just make sure that you add .syntax unified to the beginning of any assembly file and things should be completely compatible against any reasonably recent version of binutils and LLVM IAS. |
Hi Saleem, Thanks for answering the question, I completely missed that. Nico, about the standards for ASM, unfortunately there isn't. UAL is an attempt from ARM to create a unified assembly syntax, but there are probably as many extensions from GNU, ARM and LLVM together than there are rules. The UAL not only unified ARM and Thumb, but also deprecated some old mnemonics. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0473c/BABJIHGJ.html Most of the problems we have now on the integrated ARM assembler are due to pre-UAL and extensions syntax being used in the wild, and we have to balance implementing them or kindly requesting the users to update their syntax. The rules of thumb are:
|
Current status: -integrated-as is enabled for all but four targets (https://bugs.chromium.org/p/chromium/issues/detail?id=124610#c33) |
mentioned in issue #20800 |
mentioned in issue #20797 |
mentioned in issue #20802 |
mentioned in issue #20803 |
mentioned in issue #20801 |
mentioned in issue #20821 |
mentioned in issue #21074 |
mentioned in issue #21076 |
mentioned in issue #21794 |
mentioned in issue #23374 |
mentioned in issue #26096 |
mentioned in issue #26094 |
mentioned in issue #30406 |
This has been fixed for a while. https://crbug.com/124610 was the last holdout, and it got resolved 4 years ago or so. |
Extended Description
Chromium currently uses -fno-integrated-as since using the integrated as leads to compile errors. I'll file one bug per issue and mark this bug here blocked on all issues.
The text was updated successfully, but these errors were encountered: