Skip to content

fix: 恢复 qt6-3d 的 SSE 符号架构注解 - #8

Merged
lzwind merged 1 commit into
deepin-community:develop/qt6.12from
pengfeixx:fix/sse-symbols-annotations
Oct 30, 2026
Merged

lzwind merged 1 commit into
deepin-community:develop/qt6.12from
pengfeixx:fix/sse-symbols-annotations

Conversation

@pengfeixx

Copy link
Copy Markdown

fix: restore SSE symbols arch annotations for qt6-3d

  1. Qt3D math exports architecture-specialized private API: on amd64 the
    Vector3D_SSE/Matrix4x4_SSE types produce one set of mangled symbols,
    while non-x86 builds use the generic QVector3D/QMatrix4x4 variants;
    the cleanroom amd64 regeneration dropped all arch annotations, so
    arm64/loong64/mips64el/sw64 failed at dh_makeshlibs with dozens of
    disappeared symbols
  2. Restore the 55 annotations from the Debian symbols files: 7 in
    libqt63dcore6 and 48 in libqt63drender6, using the paired
    (arch=any-amd64)/(arch=!any-amd64) style
  3. Annotate three 6.11->6.12 new symbols the Debian annotations do not
    cover yet: NodeManagers::manager<Matrix4x4_SSE,...> and the
    vector::_M_realloc_insert<...,Vector3D_SSE,...> instantiation as
    (arch=any-amd64) plus their generic counterparts, and the
    vector::insert instantiation that only the sw64 toolchain fails to
    emit as (arch=!sw64)

Log: Fix qt6-3d dh_makeshlibs failures on all non-x86 architectures by
restoring and extending the SSE math symbols architecture annotations

Influence:

  1. Rebuild qt6-3d on arm64/loong64/mips64el/sw64 and verify
    dh_makeshlibs passes
  2. Confirm amd64/i386 builds still track the SSE-specialized symbols
  3. Verify the generic QVector3D/QMatrix4x4 variants are tracked on
    non-x86 architectures

fix: 恢复 qt6-3d 的 SSE 符号架构注解

  1. Qt3D 数学库导出架构特化的私有 API:amd64 上
    Vector3D_SSE/Matrix4x4_SSE 类型产出一套符号,非 x86 构建使用
    QVector3D/QMatrix4x4 通用变体;净室 amd64 再生成时丢失了全部
    架构注解,导致 arm64/loong64/mips64el/sw64 在 dh_makeshlibs
    报数十个符号消失
  2. 从 Debian 符号文件恢复 55 条注解:libqt63dcore6 7 条、
    libqt63drender6 48 条,沿用 any-amd64/!any-amd64 成对风格
  3. 补注 Debian 注解未覆盖的三个 6.11->6.12 新符号:
    NodeManagers::manager<Matrix4x4_SSE,...> 与
    vector::_M_realloc_insert<...,Vector3D_SSE,...> 实例化标
    (arch=any-amd64) 并补通用变体;仅 sw64 工具链不导出的
    vector::insert 实例化标 (arch=!sw64)

Log: 修复 qt6-3d 在全部非 x86 架构上的 dh_makeshlibs 失败,恢复并
扩充 SSE 数学符号的架构注解

Influence:

  1. 在 arm64/loong64/mips64el/sw64 重编 qt6-3d,确认 dh_makeshlibs
    通过
  2. 确认 amd64/i386 构建仍正确跟踪 SSE 特化符号
  3. 确认非 x86 架构上 QVector3D/QMatrix4x4 通用变体被正确跟踪

PMS: TASK-396869

1. Qt3D math exports architecture-specialized private API: on amd64 the
   Vector3D_SSE/Matrix4x4_SSE types produce one set of mangled symbols,
   while non-x86 builds use the generic QVector3D/QMatrix4x4 variants;
   the cleanroom amd64 regeneration dropped all arch annotations, so
   arm64/loong64/mips64el/sw64 failed at dh_makeshlibs with dozens of
   disappeared symbols
2. Restore the 55 annotations from the Debian symbols files: 7 in
   libqt63dcore6 and 48 in libqt63drender6, using the paired
   (arch=any-amd64)/(arch=!any-amd64) style
3. Annotate three 6.11->6.12 new symbols the Debian annotations do not
   cover yet: NodeManagers::manager<Matrix4x4_SSE,...> and the
   vector::_M_realloc_insert<...,Vector3D_SSE,...> instantiation as
   (arch=any-amd64) plus their generic counterparts, and the
   vector::insert instantiation that only the sw64 toolchain fails to
   emit as (arch=!sw64)

Log: Fix qt6-3d dh_makeshlibs failures on all non-x86 architectures by
restoring and extending the SSE math symbols architecture annotations

Influence:
1. Rebuild qt6-3d on arm64/loong64/mips64el/sw64 and verify
   dh_makeshlibs passes
2. Confirm amd64/i386 builds still track the SSE-specialized symbols
3. Verify the generic QVector3D/QMatrix4x4 variants are tracked on
   non-x86 architectures

fix: 恢复 qt6-3d 的 SSE 符号架构注解

1. Qt3D 数学库导出架构特化的私有 API:amd64 上
   Vector3D_SSE/Matrix4x4_SSE 类型产出一套符号,非 x86 构建使用
   QVector3D/QMatrix4x4 通用变体;净室 amd64 再生成时丢失了全部
   架构注解,导致 arm64/loong64/mips64el/sw64 在 dh_makeshlibs
   报数十个符号消失
2. 从 Debian 符号文件恢复 55 条注解:libqt63dcore6 7 条、
   libqt63drender6 48 条,沿用 any-amd64/!any-amd64 成对风格
3. 补注 Debian 注解未覆盖的三个 6.11->6.12 新符号:
   NodeManagers::manager<Matrix4x4_SSE,...> 与
   vector::_M_realloc_insert<...,Vector3D_SSE,...> 实例化标
   (arch=any-amd64) 并补通用变体;仅 sw64 工具链不导出的
   vector::insert 实例化标 (arch=!sw64)

Log: 修复 qt6-3d 在全部非 x86 架构上的 dh_makeshlibs 失败,恢复并
扩充 SSE 数学符号的架构注解

Influence:
1. 在 arm64/loong64/mips64el/sw64 重编 qt6-3d,确认 dh_makeshlibs
   通过
2. 确认 amd64/i386 构建仍正确跟踪 SSE 特化符号
3. 确认非 x86 架构上 QVector3D/QMatrix4x4 通用变体被正确跟踪

PMS: TASK-396869
@deepin-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: lzwind
Once this PR has been reviewed and has the lgtm label, please assign xzl01 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@lzwind
lzwind merged commit 0fab9ae into deepin-community:develop/qt6.12 Oct 30, 2026
1 of 4 checks passed
@pengfeixx
pengfeixx deleted the fix/sse-symbols-annotations branch October 30, 2026 09:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants