-
Notifications
You must be signed in to change notification settings - Fork 259
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
Fix ABI identifier of loongarch64 in specification/loader/runtime.adoc. #523
base: main
Are you sure you want to change the base?
Conversation
4812f9b
to
3fcc786
Compare
We cannot change this now without breaking compatibility, FYI. The original identifier was chosen due to matching Debian, IIRC, which is the pattern where it made sense on less common architectures. See https://wiki.debian.org/LoongArch and https://wiki.debian.org/Ports/loong64 How prevalent is OpenXR usage on loongarch64? Is it still in testing/development or is there actually usage in the field? Is there a runtime that uses it? (does Monado run?) I'm trying to judge the impact of making this breaking change. I do not have a loongarch64 machine (or remote access to one) to test on. Is there some way access to a machine can be arranged? What is the benefit of making this change? For the most part, the only code that needs to care about this is the loader (which is already done), and however one installs a runtime manifest, if you are installing multiple architectures of the client side of your runtime but the .so filename differs or otherwise cannot use the same soname in the respective dynamic loader search path. (This -- just specifying soname and placing runtime in dynamic loader search path -- is how the loader was intended to be used for multi-arch on Linux, and how e.g. the Monado packages on Debian are meant to work. The architecture suffixes were primarily for Android where the runtime typically cannot be placed in the default dynamic loader search path.) |
“Loongarch64” is the official architecture name, most software that uses $(uname -m) output ("loongarch64") as the architecture name, such as Linux kernel, gcc, binutilities, Python, LLVM, etc., all use "loongarch64" as the architecture judgment and setting name in code. The distribution managed by RPM package also uses "loongarch64", such as Alpine. Only some software and distributions rename this architecture name, such as debian,golang, But usually these software or distributions also rename other architectures, such as "x86_64->amd64","aarch64->arm64"。 |
Thanks for that info. This does make sense, though I wish this had been raised before this was originally merged. Can you address my other questions? (existing openxr software on the arch that would be potentially broken by this, access to dev/test hardware) |
LoongArch is a relatively new architecture, I haven't found any damage at the moment. |
An issue (number 2429) has been filed to correspond to this pull request in the internal Khronos GitLab (Khronos members only: KHR:openxr/openxr#2429 ), to facilitate working group processes. This GitHub pull request will continue to be the main site of discussion. |
Fix the ABI identifier of
loongarch64
inspecification/loader/runtime.adoc
. Similar tox86_64
andaarch64
, the ABI identifier ofloongarch64
should match the output of$(uname -m)
:OpenXR-SDK-Source:/# uname -m loongarch64