已关闭
[fix] h6 #28
JankinEE创建于 24 天前关闭于 10 天前
[fix] h6 #28
已关闭
当前Pull Request已关闭, 关闭人@JankinEE
24 天前 关联了issue:[aarch64] v2.7-h5补丁两处缺陷修复:桩内异常无法unwind(call风格跳板)及IsEqual对无operator==类型编译失败(h4逻辑回归)
24 天前 关联了issue:[aarch64] v2.7-h5补丁两处缺陷修复:桩内异常无法unwind(call风格跳板)及IsEqual对无operator==类型编译失败(h4逻辑回归)
24 天前 修改标题为 “[fix] v2.7-h5补丁修复:br x16寄存器跳转支持异常unwind及IsEqual类型比较恢复(修复#2)”,原标题为“[fix] 新增v2.7-h6补丁:br x16寄存器跳转支持异常unwind及IsEqual类型比较恢复(修复#2)”
24 天前 修改标题为 “[fix] v2.7-h5补丁修复:br x16寄存器跳转支持异常unwind及IsEqual类型比较恢复(修复#2)”,原标题为“[fix] 新增v2.7-h6补丁:br x16寄存器跳转支持异常unwind及IsEqual类型比较恢复(修复#2)”
24 天前 修改了pull request 的描述
24 天前 修改了pull request 的描述
10 天前 修改标题为 “[fix] 新增v2.7-h6补丁:br x16寄存器跳转支持异常unwind及IsEqual类型比较恢复,清理历史补丁文件(修复#2)”,原标题为“[fix] v2.7-h5补丁修复:br x16寄存器跳转支持异常unwind及IsEqual类型比较恢复(修复#2)”
10 天前 修改标题为 “[fix] 新增v2.7-h6补丁:br x16寄存器跳转支持异常unwind及IsEqual类型比较恢复,清理历史补丁文件(修复#2)”,原标题为“[fix] v2.7-h5补丁修复:br x16寄存器跳转支持异常unwind及IsEqual类型比较恢复(修复#2)”
10 天前 修改了pull request 的描述
10 天前 关闭了 pull request
10 天前 重新打开了 pull request
10 天前 修改标题为 “[fix] h6”,原标题为“[fix] 新增v2.7-h6补丁:br x16寄存器跳转支持异常unwind及IsEqual类型比较恢复,清理历史补丁文件(修复#2)”
10 天前 修改标题为 “[fix] h6”,原标题为“[fix] 新增v2.7-h6补丁:br x16寄存器跳转支持异常unwind及IsEqual类型比较恢复,清理历史补丁文件(修复#2)”
10 天前 关闭了 pull request
修复 #2
基于
v2.7.x-h6分支:新增mockcpp-2.7-h6.patch(对 h5 补丁的两处修复),并清理被取代的历史补丁与源码包副本,分支仅保留Readme.opensource(三方软件合规元数据)与本补丁。修复内容(详见 issue #2)
br x16:不压栈、不改动 x30/sp,异常沿正常编译帧 unwind 回被测代码 catch 分支,与 x86 行为等价,覆写由 32 字节减至 20 字节。if constexpr (std::is_class<T>::value || std::is_union<T>::value)分支,无 operator++ 的自定义类型(如returnValue(结构体))实例化 IsEqual<type_traits>。文件清理
删除
mockcpp-2.7.patch、mockcpp-2.7_py3.patch、mockcpp-2.7-h5.patch(被 h6 取代的历史版本)及mockcpp-2.7.tar.gz、mockcpp-2.7.zip(源码包副本,历史分支与既有 release 中仍可获取);源码包权威来源为上游/OBS 镜像,消费方(如 hcomm)不从本分支取源码包。验证
-falign-functions=32(跳板覆写 20 字节,避免越过函数边界)。期望
合入后发布 v2.7-h6 release(资产:
mockcpp-2.7-h6.patch)。消费方 hcomm 的适配 PR:https://gitcode.com/cann/hcomm/pull/5664 (其仓内临时兼容补丁在本修复发布后将移除)。