10 Star 0 Fork 12

src-openEuler / dwz

 / 详情

【软件升级】openEuler 22.03 LTS版本dwz软件升级至0.14

已完成
开源软件变更管理
创建于  
2021-11-23 11:43
差异分析报告
版本变更原因 选取社区最新稳定版本 变更后版本 0.14
差异分类 差异项 差异说明 影响评估与适配方案
特性变化 新增特性/删除特性/变更特性实现 1、从gcc中拷贝dwarf2.def, dwarf2.h and dwarfnames.c文件
2、添加一个脚本 contrib/upload-release.sh,将dwz发布tarball上传到sourceware.org,使它们可用获取https://sourceware.org/ftp/dwz/releases.
3、contrib/upload-release.sh 脚本当前创建两个校验和文件:md5sum 和 sha512sum。但是sourceware.org 网站也自动添加了一个文件sha512.sum重复工作,因此在contrib/upload-release.sh中禁用sha512sum生成。
4、添加 --devel-save-temps(仅开发人员使用 $dwz --devel-save-temps -m 3 1 2
5、使用--devel-save-temps选项。在多文件模式下,所有文件首先在单文件模式下处理,然后在多文件模式下处理。单文件模式结果被写入文件,但随后被多文件结果覆盖。
6、添加iterators.h头文件,包括两个迭代器函数next_die和next_toplevel die。使用这些函数可以描述所有(顶级)DIE的操作,而无需编写递归函数。
7、修复由5f3ba3a提交 “Mark DW_OP_GNU_variable_value-referenced DIEs with die_no_multifile”导致的回归问题。
8、添加 --devel-dump-dies选项,为启用DIE及其校验和状态的转储。
9、添加 --devel-unoptimized-multifile,-DDEBUG_OP_MULTIFILE启用了功能。会跳过optimize_multifile中的优化步骤,而是将由每个部分的临时文件描述的虚拟文件复制到多文件中。(重复功能暂时保留)
10、在为dwz开发补丁时,遇到即 write_die 中的 'die->u.p2.die_new_offset != 0' 断言没有触发,因为 die->u.p1 是在“phase 1”期间使用的die->u.p2.die_new_offset中的非零值。仅使用 -DDEVEL 启用此功能。添加新函数(write_multifile, dw, optimize_multifile):调用clear_p2_field.
11、添加-lnone和-Lnone,以禁用低内存芯片限制。对-L执行相同操作。
12、添加--devel-dump-edges和--devel-verify-edges
13、添加--devel-partition-dups-opt
14、使用off_hash (die)替换die->die_offset
15、添加一个函数estimate_nr_dies,它根据.debug_info 部分的大小估计DIE 的数量。
16、添加一个函数emulate_htab来模拟hashtab.c中的哈希表的大小如何增长。
17、改进off_hash
18、从具有名为cu_version的无符号int参数的skip_attrs中分解出一个新函数 skip_attrs_1。
19、添加新函数:static int try_debug_info (DSO *dso),如果 .debug_info中的DIE估计数量超过low_mem_die_limit或 max_die_limit,使用try_debug_info来验证。
20、在finalize_multifile模式下使用实际芯片数,添加调试补丁跟踪
21、添加 --devel-die-count-method
22、添加使用 -DDEVEL 编译 $make CC="gcc -DDEVEL" $./dwz -?
23、添加dump_die调试函数
24、段错误问题
25、添加--devel-dump-dups $dwz min --devel-dump-dups
26、添加开发人员选项--devel-verify-dup
27、添加新函数static void partition_found_dups (dw_die_ref die, struct obstack *vec)
28、添加函数static void dump_dups (dw_die_ref die)
29、证明-r -M $dwz -m 3 1 2 -r -M bla
30、添加--help选项中的-v ?用法
31、用dwarf汇编器替换dw2-restrict.S
32、添加edge_freelist接口
33、添加 --devel-progress $dwz vmlinux.debug --devel-progress -lnone -Lnone
34、在struct dw_cu中添加一个lang字段,这样我们就可以很容易地测试一个编译单元是否为 C++。
35、添加优化选项 --odr/--no-odr 和--odr-mode=<basic或link>,使优化用户可访问。
36、添加一个开发人员选项--devel-stats,用于打印解析、复制和分区统计信息。
37、添加Assert die->die_collapsed_children == 0断言,默认情况下使用 --devel-verify-dups 进行测试
38、添加选项 --devel-dump-pus 以打印有关partition_dups已选择将哪些重复链复制到部分单元的信息。
39、添加命令行选项--import-optimize/--no-opt-importize以控制此优化。
40、添加仅限开发人员的选项 --devel-force
41、添加--devel-deduplication-mode={none,intra-cu,inter-cu}
42、添加宏#define read_u16(ptr, form, error_p)
43、添加宏#define skip_leb128(ptr)
44、添加 --devel-uni-lang/--devel-no-uni-lang
45、添加--devel-gen-cu/--devel-no-gen-cu
46、添加 .debug_loclists、.debug_rnglists 和 .debug_line_str。
47、添加新函数static const char * get_DW_UT_str (unsigned int ut),在版本消息错误字符串中添加.debug_line。
48、处理新的DWARF5属性
49、从gdb更新dwarf.exp汇编程序。
50、在错误消息中添加DIE偏移量,以便更快的查找错误。
51、为DW_FORM_implicit_const添加校验属性
52、添加 --devel-dump-checksum
53、添加assert (die->die_ck_state == CK_KNOWN断言 $dwz -m 3 --odr 1 2
54、添加--dwarf-5支持
55、打印--version和--help到stdout
56、添加--devel-checksum-cycle-opt--devel-progress-mem --devel-skip-producer dwz添加-5选项
57、添加 --multifile-pointer-size 和 --multifile-endian <l或L或b或B>
58、添加选项-j / --jobs
59、给-p -e参数添加待选值
60、file_result结构体中添加low_mem_p 参数
61、并行完成多文件
62、file_result结构体中添加变量ret
63、在 encode_child_exit_status 和 decode_child_exit_status 中处理 skip_multifile。这是为并行运行 write_multifile 做准备。为write_multifile 并行做准备
64、使用-e -p启用并行多文件 $dwz -m 5 3 1 2 4 -j 4 -p 8 -e l
配置文件 新增/变更/删除配置项
ABI差异 新增/变更/删除API
新增/变更/删除结构体 1、在struct dw_cu中添加一个lang字段,这样我们就可以很容易地测试一个编译单元是否为 C++。
2、file_result结构体中添加low_mem_p 参数
3、file_result结构体中添加变量ret
命令行/功能 新增/变更/删除命令
新增/变更/删除命令选项
新增/变更/删除日志输出
SPEC文件 新增/变更/删除 编译依赖、安装依赖、依赖的软件版本变更
拆分软件包方式变更

评论 (4)

shangyibin 创建了开源软件变更管理

Hi shangyibin, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at
https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md.
If you have any questions, please contact the SIG: Base-service, and any of the maintainers: @Monday, @hexiaowen, @zhujianwei001, @谢志鹏, @hanxinke, @朱春意, @BigSkySea, @chenjialong, @syyhao, @yanan-rock.

openeuler-ci-bot 添加了
 
sig/Base-service
标签

请分析两个版本之间的commit,说明清楚影响分析

shangyibin 修改了描述
shangyibin 修改了描述
shangyibin 修改了标题
shangyibin 修改了描述
shangyibin 修改了描述
shangyibin 修改了描述
shangyibin 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936
1
https://gitee.com/src-openeuler/dwz.git
git@gitee.com:src-openeuler/dwz.git
src-openeuler
dwz
dwz

搜索帮助

14c37bed 8189591 565d56ea 8189591