From 608c3fa133c199ae271d00385ff86f56300ecb57 Mon Sep 17 00:00:00 2001 From: Rylie Pavlik Date: Tue, 12 Mar 2024 18:03:52 -0500 Subject: [PATCH 1/3] Handle armv6 as armv5te --- src/common/platform_utils.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/platform_utils.hpp b/src/common/platform_utils.hpp index 35369a147..50194051d 100644 --- a/src/common/platform_utils.hpp +++ b/src/common/platform_utils.hpp @@ -47,7 +47,7 @@ #define XR_ARCH_ABI "aarch64" #elif (defined(__ARM_ARCH) && __ARM_ARCH >= 7 && (defined(__ARM_PCS_VFP) || defined(__ANDROID__))) || defined(_M_ARM) #define XR_ARCH_ABI "armv7a-vfp" -#elif defined(__ARM_ARCH_5TE__) +#elif defined(__ARM_ARCH_5TE__) || (defined(__ARM_ARCH) && __ARM_ARCH > 5) #define XR_ARCH_ABI "armv5te" #elif defined(__mips64) #define XR_ARCH_ABI "mips64" From c1dfe4ea53abd5c139bf865580303ba53d8d198d Mon Sep 17 00:00:00 2001 From: Rylie Pavlik Date: Tue, 12 Mar 2024 18:08:11 -0500 Subject: [PATCH 2/3] Add note to loader doc about Raspberry Pi OS --- specification/loader/runtime.adoc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/specification/loader/runtime.adoc b/specification/loader/runtime.adoc index 552256934..1ba608d19 100644 --- a/specification/loader/runtime.adoc +++ b/specification/loader/runtime.adoc @@ -319,7 +319,7 @@ architectures and ABIs is used. |`armv5te` | - | `armel` + | `armel` (See <>.) | 32-bit ARMv5TE architecture or compatible, little endian |`mips64` @@ -386,6 +386,11 @@ While the Android ABI called `armeabi-v7a` does not use VFP PCS as the __system__ ABI, a definition in `openxr_platform_defines.h` enables the VFP PCS calling convention for all OpenXR API calls and function pointers. +[[armhf-rpios-note]] +Note: Raspberry Pi OS differs in its architecture definitions from upstream +Debian by redefining `armhf` as ARMv6, rather than ARMv7. +Therefore, on that operating system, `armhf` maps to ID `armv5te`. + [[runtime-enumeration]] ==== Runtime Enumeration From a5d6cfcece427ea4428f5f7751713740010243e0 Mon Sep 17 00:00:00 2001 From: Rylie Pavlik Date: Thu, 14 Mar 2024 16:13:54 -0500 Subject: [PATCH 3/3] Changelog fragment --- changes/sdk/pr.464.gh.OpenXR-SDK-Source.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 changes/sdk/pr.464.gh.OpenXR-SDK-Source.md diff --git a/changes/sdk/pr.464.gh.OpenXR-SDK-Source.md b/changes/sdk/pr.464.gh.OpenXR-SDK-Source.md new file mode 100644 index 000000000..51dffb721 --- /dev/null +++ b/changes/sdk/pr.464.gh.OpenXR-SDK-Source.md @@ -0,0 +1,4 @@ +--- +- issue.463.gh.OpenXR-SDK-Source +--- +- loader: Fix build issue for ARMv6 architectures, and note architecture naming quirk of Raspberry Pi OS in the architecture table in the loader documentation.