From 3eccf277e89a91d8923081fda5a424488701dea9 Mon Sep 17 00:00:00 2001 From: WANG Xuerui Date: Sat, 11 Feb 2023 14:39:57 +0800 Subject: [PATCH] Add a possible justification for the multiarch specifier change. For the record: this is DEFINITELY NOT the full reason behind the closed-door decision. But this is about as close as we community people can get in persuading the depressed ourselves, and about all I can disclose after having multiple private conversations with relevant parties, without inflicting damage to Loongson unwanted by me and all. --- docs/LoongArch-toolchain-conventions-CN.adoc | 2 ++ docs/LoongArch-toolchain-conventions-EN.adoc | 3 +++ 2 files changed, 5 insertions(+) diff --git a/docs/LoongArch-toolchain-conventions-CN.adoc b/docs/LoongArch-toolchain-conventions-CN.adoc index 371c8a6..d260389 100644 --- a/docs/LoongArch-toolchain-conventions-CN.adoc +++ b/docs/LoongArch-toolchain-conventions-CN.adoc @@ -293,6 +293,8 @@ ABI 配置的需要。若不能,则应根据下表,在默认可用指令集 本《约定》的 1.00 版本曾规定了基础 ABI 使用 64 位浮点寄存器传参时的 `` 后缀为 `f64` (意味着类似 `loongarch64-linux-gnuf64` 的 multiarch 架构标识符取值)。 +2.00 版本起将其改为空字符串,是考虑到最常见的组合适合尽量短的名字, +因此不介意文本上的不兼容变更。 为尽可能维持向后兼容,应在见到 `gnuf64` 这一目标元组环境字段取值时, 将其视为(标准化为) `gnu` 如果这样做因不会带来其他超越近处业务逻辑的外部副作用而可行。 (例如:如果维持对 `gnuf64` 的兼容性涉及必须添加符号链接或复制文件, diff --git a/docs/LoongArch-toolchain-conventions-EN.adoc b/docs/LoongArch-toolchain-conventions-EN.adoc index 328cdd7..a5c7dfb 100644 --- a/docs/LoongArch-toolchain-conventions-EN.adoc +++ b/docs/LoongArch-toolchain-conventions-EN.adoc @@ -334,6 +334,9 @@ specifier, respectively. Version 1.00 of this document mandated that a `` of `f64` shall be used for cases where the base ABI used 64-bit FPRs for parameter passing (meaning multiarch architecture specifier values resembling `loongarch64-linux-gnuf64`). +From version 2.00 onwards it was changed into the empty string; +the incompatible textual change is justified by the rationale that shorter +names are preferred for the more ubiquitous combinations. For maintaining best-effort backwards compatibility, the target tuple environment value `gnuf64` shall be treated as (canonicalized into) `gnu` if doing so would be feasible by not bringing any external side effects that goes beyond