-
Notifications
You must be signed in to change notification settings - Fork 263
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
[BUG] NDK r23 gives confusing error message for -fno-integrated-as
#1569
Comments
yeah, we have some docs here about how to fix assembler: https://android.googlesource.com/platform/ndk/+/master/docs/ClangMigration.md#assembler-issues the does it work if you move all the |
-fno-integrated-as
-fno-integrated-as
wait... it's just occurred to me that you're talking about r23, which still has gas, not r24, which is the first release that doesn't. so for r23, you've probably just got a misconfigured build that's calling the wrong as. (but for r24 you'll need code that can actually build with LLVM.) |
r23 still has gas, but not with the filename that Clang expects. r22 has:
r23 only has # 4, but I think we also need # 3 for |
Instead to force everyone to change their asm file to make them llvm compatible, isn't better to make llvm as compatible with gas? |
Just for the record, compiling pixman with r21 & r22 with |
There are inconsistencies and syntax relaxations for gas that ARM (among other vendors) have said that they won't support in any new compilers/assemblers. If the syntax being used is UAL (unified assembly language), then we can work with ARM to add the missing support. In that particular case, LLVM is correct in telling you that the instruction you're using isn't valid, and gas is merely transforming it into something equivalent. According to this link, "Rd cannot be the same as Rm." |
At first look it doesn't seem to be an ASM language problem, but llvm as is missing some features:
Attached the entire output in case you need it : out.txt |
Just for the record, I'm seeing those messages when I'm compiling |
I think the problems with
It can be fixed using
But
There are a few open |
FWIW: ART uses ART uses |
well, given that ART only builds with clang, we could just delete that code :-) |
Just putting back |
Yeah, I think that is it. The actual path that gets used for
🤮 |
https://android-review.googlesource.com/c/platform/ndk/+/1817218 fixes the problem. Sorry about that. In our effort to make sure we were I forked the missing altmacro support discussion into a new bug. |
The changelog update so we don't forget to cherry-pick it: https://android-review.googlesource.com/c/platform/ndk/+/1817316 |
In particular, link to our migration advice. This commit is based on 3e47e46, with the Changelog-r24.md part removed so it can be cherry-picked to aosp/ndk-release-r23. Bug: http://b/200995199 Bug: android/ndk#1569 Test: N/A Change-Id: I61c3107bd389c2da1a5641babdef6f56ca487b1f (cherry picked from commit 3236d6773fe6ed59f4b44c58c0a5a2fd0e28f86a)
In particular, link to our migration advice. This commit is based on 3e47e46, with the Changelog-r24.md part removed so it can be cherry-picked to aosp/ndk-release-r23. Bug: http://b/200995199 Bug: android/ndk#1569 Test: N/A Change-Id: I61c3107bd389c2da1a5641babdef6f56ca487b1f (cherry picked from commit 3236d6773fe6ed59f4b44c58c0a5a2fd0e28f86a)
The change can't be done in this branch since GAS is fully gone in r24, but the changelog is being updated here to reduce merge conflicts. Test: None Bug: android/ndk#1569 Change-Id: I7de8ffe8880ed05f89d46302f253b5d1d89677c6 (cherry picked from commit 175b1c2)
The
Fixing so they instead point towards |
I uploaded a fix making the |
And of course the test passes because it's being run on the same machine (-‸ლ) |
I think detecting this issue would have required building the NDK and the tests on different machines. Alternately, maybe we could have a test that walks the NDK install directory and verifies that all symlinks are relative. |
gah, i make this mistake all the time when a configure script or whatever creates an absolute symlink. why do they even do that?! looking at you, pcre2... :-) |
Bug: android/ndk#1569 Test: checkbuild.py Test: verify that all symlinks are relative Change-Id: I65073f8043029e39ee0667cf880375a3869ae1e0 (cherry picked from commit 15fd1e3)
Bug: android/ndk#1569 Test: checkbuild.py Test: verify that all symlinks are relative Test: Use -fno-integrated-as manually Change-Id: I977734b3681b341f86cf72a95a19a798682fb93c
For those who are facing the same issue as @Grimler91 - (seeing
|
Should be fixed in r23 build 8486889. |
Bug: android/ndk#1569 Test: n/a Change-Id: I633f07d281707997749ebbd99885dbc5026c293a (cherry picked from commit 3aa8b12e5ec47d5958b62ae05522057d8ed3e680) Merged-In: I633f07d281707997749ebbd99885dbc5026c293a
The validation happens immediately after the NDK is built. When the Windows NDK is cross-compiled from Linux, the scan verifies that there are no symlinks. Bug: android/ndk#1569 Test: checkbuild.py Change-Id: Idea7ef7b1652e4bef16482f4886332335f8fb758 (cherry picked from commit 8076ea3e61531961ced9a43298be446f779c7340) Merged-In: Idea7ef7b1652e4bef16482f4886332335f8fb758
Description
Steps to reproduce:
.c
file$ cat test.c
:Without
-fno-integrated-as
it compiles just fine.I need to pass
-fno-integrated-as
to workaround pixman issues: https://gitlab.freedesktop.org/pixman/pixman/-/issues/45The text was updated successfully, but these errors were encountered: