| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
hyperhold调整 Co-Authored-By: Agent Signed-off-by: libo429 <libo429@h-partners.com> | 28 天前 | |
!2946 merge feat/taihe-optimize-rom into master feat: 添加编译体积优化选项以减小storage_service ROM占用 Created-by: yang-li86 Commit-by: yang-li86 Merged-by: openharmony_ci Description: ### 相关的Issue #2333 ### 原因(目的、解决的问题等) storage_service 的 storage_manager 和 storage_daemon 主产物仅使用 -O2(性能优化)编译选项,缺少体积优化选项,而 JS/NAPI kits 层库已使用 -Oz、-flto、-ffunction-sections 等体积优化选项。编译优化级别不一致导致 storage_service ROM 占用偏高。 ### 描述(做了什么,变更了什么) 为以下 7 个编译产物添加体积优化 cflags 和 ldflags,统一与 kits 层优化级别: **cflags 变更(所有产物):** - -O2 → -Oz(最大化体积优化) - 新增 -ffunction-sections -fdata-sections(独立分段,配合 gc-sections) - 新增 -fvisibility=hidden(隐藏非导出符号) - 新增 -flto(链接时优化,跨模块消除死代码) - 新增 -fno-unwind-tables(去除展开表,减少5-10%体积) **ldflags 变增:** - storage_manager:新增 -flto -Wl,--gc-sections -Wl,-O1 -Wl,-z,max-page-size=4096 -Wl,-z,separate-code - storage_daemon:新增 -flto(已有其他链接选项) - storage_common_utils / sdc / sa_proxy / acl:新增 -flto -Wl,--gc-sections -Wl,-O1 **修改的文件:** 1. services/storage_manager/BUILD.gn — storage_manager cflags + ldflags 2. services/storage_daemon/BUILD.gn — storage_daemon, sdc, storage_common_utils cflags + ldflags 3. services/storage_daemon/crypto/BUILD.gn — libsdcrypto cflags 4. interfaces/innerkits/storage_manager/native/BUILD.gn — sa_proxy cflags + ldflags 5. interfaces/innerkits/acl/native/BUILD.gn — acl cflags + ldflags ### 验证结果(新增、改动、可能影响的功能) - [x] BUILD.gn 语法正确,cflags/ldflags 位置符合 GN 规范 - [x] 需编译验证:./build.sh --product-name rk3568 --build-target storage_manager --ccache - [x] 需编译验证:./build.sh --product-name rk3568 --build-target storage_daemon --ccache - [x] 需体积对比验证:size out/rk3568/ 对比优化前后 - [x] 需功能验证:运行 storage_daemon_unit_test 和 storage_manager_unit_test - [x] 需板侧验证:SA 注册和 IPC 正常工作 可能影响: - -fno-unwind-tables 影响崩溃日志栈回溯可读性(DFX需评估) - -Oz 比 -O2 可能产生约5-10%性能差异(对存储管理非实时路径影响极小) - -fvisibility=hidden 需确认 SA 注册和 IPC 代理导出正常(IDL框架自动处理) ### 是否已执行mini system用例 [ ] 不涉及。本次仅修改编译选项,不影响功能逻辑,需编译和板侧验证 See merge request: openharmony/filemanagement_storage_service!2946 | 7 小时前 | |
!2946 merge feat/taihe-optimize-rom into master feat: 添加编译体积优化选项以减小storage_service ROM占用 Created-by: yang-li86 Commit-by: yang-li86 Merged-by: openharmony_ci Description: ### 相关的Issue #2333 ### 原因(目的、解决的问题等) storage_service 的 storage_manager 和 storage_daemon 主产物仅使用 -O2(性能优化)编译选项,缺少体积优化选项,而 JS/NAPI kits 层库已使用 -Oz、-flto、-ffunction-sections 等体积优化选项。编译优化级别不一致导致 storage_service ROM 占用偏高。 ### 描述(做了什么,变更了什么) 为以下 7 个编译产物添加体积优化 cflags 和 ldflags,统一与 kits 层优化级别: **cflags 变更(所有产物):** - -O2 → -Oz(最大化体积优化) - 新增 -ffunction-sections -fdata-sections(独立分段,配合 gc-sections) - 新增 -fvisibility=hidden(隐藏非导出符号) - 新增 -flto(链接时优化,跨模块消除死代码) - 新增 -fno-unwind-tables(去除展开表,减少5-10%体积) **ldflags 变增:** - storage_manager:新增 -flto -Wl,--gc-sections -Wl,-O1 -Wl,-z,max-page-size=4096 -Wl,-z,separate-code - storage_daemon:新增 -flto(已有其他链接选项) - storage_common_utils / sdc / sa_proxy / acl:新增 -flto -Wl,--gc-sections -Wl,-O1 **修改的文件:** 1. services/storage_manager/BUILD.gn — storage_manager cflags + ldflags 2. services/storage_daemon/BUILD.gn — storage_daemon, sdc, storage_common_utils cflags + ldflags 3. services/storage_daemon/crypto/BUILD.gn — libsdcrypto cflags 4. interfaces/innerkits/storage_manager/native/BUILD.gn — sa_proxy cflags + ldflags 5. interfaces/innerkits/acl/native/BUILD.gn — acl cflags + ldflags ### 验证结果(新增、改动、可能影响的功能) - [x] BUILD.gn 语法正确,cflags/ldflags 位置符合 GN 规范 - [x] 需编译验证:./build.sh --product-name rk3568 --build-target storage_manager --ccache - [x] 需编译验证:./build.sh --product-name rk3568 --build-target storage_daemon --ccache - [x] 需体积对比验证:size out/rk3568/ 对比优化前后 - [x] 需功能验证:运行 storage_daemon_unit_test 和 storage_manager_unit_test - [x] 需板侧验证:SA 注册和 IPC 正常工作 可能影响: - -fno-unwind-tables 影响崩溃日志栈回溯可读性(DFX需评估) - -Oz 比 -O2 可能产生约5-10%性能差异(对存储管理非实时路径影响极小) - -fvisibility=hidden 需确认 SA 注册和 IPC 代理导出正常(IDL框架自动处理) ### 是否已执行mini system用例 [ ] 不涉及。本次仅修改编译选项,不影响功能逻辑,需编译和板侧验证 See merge request: openharmony/filemanagement_storage_service!2946 | 7 小时前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 28 天前 | ||
| 7 小时前 | ||
| 7 小时前 |