|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| backends/ | | 07-Sep-2024 | - | 15,775 | 10,134 |
| config/ | | 07-Sep-2024 | - | 2,457 | 1,815 |
| debuginfod/ | | 07-Sep-2024 | - | 8,054 | 6,111 |
| doc/ | | 07-Sep-2024 | - | 3,225 | 2,703 |
| include/elfutils/ | | 07-Sep-2024 | - | 823 | 251 |
| lib/ | | 07-Sep-2024 | - | 3,943 | 2,407 |
| libasm/ | | 07-Sep-2024 | - | 4,271 | 2,095 |
| libcpu/ | | 07-Sep-2024 | - | 12,687 | 11,320 |
| libdw/ | | 07-Sep-2024 | - | 25,431 | 15,657 |
| libdwelf/ | | 07-Sep-2024 | - | 1,604 | 1,013 |
| libdwfl/ | | 07-Sep-2024 | - | 21,701 | 14,858 |
| libebl/ | | 07-Sep-2024 | - | 6,219 | 3,493 |
| libelf/ | | 07-Sep-2024 | - | 24,063 | 14,468 |
| m4/ | | 07-Sep-2024 | - | 809 | 649 |
| po/ | | 07-Sep-2024 | - | 39,085 | 31,747 |
| src/ | | 07-Sep-2024 | - | 40,856 | 31,684 |
| tests/ | | 07-Sep-2024 | - | 63,582 | 46,024 |
| .gitignore | D | 07-Sep-2024 | 274 | 33 | 32 |
| AUTHORS | D | 07-Sep-2024 | 1.5 KiB | 105 | 104 |
| AUTHORS.sh | D | 07-Sep-2024 | 358 | 13 | 4 |
| BUILD.gn | D | 07-Sep-2024 | 2 KiB | 81 | 65 |
| CONTRIBUTING | D | 07-Sep-2024 | 4.4 KiB | 107 | 79 |
| COPYING | D | 07-Sep-2024 | 34.3 KiB | 675 | 553 |
| COPYING-GPLV2 | D | 07-Sep-2024 | 17.7 KiB | 340 | 281 |
| COPYING-LGPLV3 | D | 07-Sep-2024 | 7.5 KiB | 166 | 128 |
| ChangeLog | D | 07-Sep-2024 | 29 KiB | 1,072 | 615 |
| GPG-KEY | D | 07-Sep-2024 | 7 KiB | 115 | 113 |
| Makefile.am | D | 07-Sep-2024 | 3.1 KiB | 103 | 55 |
| NEWS | D | 07-Sep-2024 | 50.7 KiB | 1,795 | 1,073 |
| NOTES | D | 07-Sep-2024 | 3 KiB | 96 | 69 |
| OAT.xml | D | 07-Sep-2024 | 5.6 KiB | 82 | 62 |
| README | D | 07-Sep-2024 | 1.1 KiB | 32 | 21 |
| README.OpenSource | D | 07-Sep-2024 | 907 | 21 | 20 |
| README_OpenHarmony.md | D | 07-Sep-2024 | 2.9 KiB | 126 | 92 |
| THANKS | D | 07-Sep-2024 | 193 | 7 | 5 |
| TODO | D | 07-Sep-2024 | 5.3 KiB | 196 | 124 |
| bundle.json | D | 07-Sep-2024 | 1.3 KiB | 45 | 44 |
| config.h | D | 07-Sep-2024 | 5.4 KiB | 192 | 44 |
| configure.ac | D | 07-Sep-2024 | 33 KiB | 866 | 756 |
| elfutils_config.gni | D | 07-Sep-2024 | 25 KiB | 510 | 502 |
README
README.OpenSource
1[
2 {
3 "Name": "elfutils",
4 "License": "LGPL V2.1",
5 "License File": "",
6 "Version Number": "0.188",
7 "Owner": "zhanghaibo0@huawei.com",
8 "Upstream URL": "https://sourceware.org/elfutils/",
9 "Description": "A collection of tools and libraries for reading, creating and modifying ELF binaries, finding and processing DWARF debug data, symbols, thread status, and stack trace of processes and core files on GNU/Linux."
10 },
11 {
12 "Name": "elfutils",
13 "License": "LGPL V3 or GPL V2",
14 "License File": "COPYING-LGPLV3",
15 "Version Number": "0.188",
16 "Owner": "zhanghaibo0@huawei.com",
17 "Upstream URL": "https://sourceware.org/elfutils/",
18 "Description": "A collection of tools and libraries for reading, creating and modifying ELF binaries, finding and processing DWARF debug data, symbols, thread status, and stack trace of processes and core files on GNU/Linux."
19 }
20]
21
README_OpenHarmony.md
1# elfutils
2
3仓库包含第三方开源软件elfutils,elfutils是一个用于读取、创建和修改ELF二进制文件,查找和处理GNU/Linux上进程和核心文件的DWARF调试数据、符号、线程状态和堆栈跟踪的工具和库的集合。libabigail软件依赖了elfutils。
4
5## 目录结构
6
7```
8backends/ 不同平台的后端实现
9doc/ 文档
10lib/ 公共库源码
11libasm/ asm相关库源码
12libcpu/ cpu相关库源码
13libdw/ dw相关库源码
14libdwelf/ dwelf相关库源码
15libdwfl/ dwfl相关库源码
16libebl/ ebl相关库源码
17libelf/ elf相关库源码
18src/ 源文件
19tests/ 测试目录
20COPYING 证书文件
21COPYING-GPLV2 证书文件
22COPYING-LGPLV3 证书文件
23README README说明
24```
25
26## OpenHarmony如何使用elfutils
27
28OpenHarmony上elfutils是用作libabigail的依赖软件,libabigail在生成ABI特征文件的时候,需要通过elfutils读取二进制库内的DWARF调试数据。
29
30## OpenHarmony如何集成elfutils
31
32libabigail的编译依赖了elfutils,elfutils被集成到libabigail工具中。
33
34### 1.elfutils的编译
35
36elfutils的编译入口在其根目录下的BUILD.gn中。简单示意如下:
37
38```makefile
39# Build libelf
40ohos_static_library("libelf_static") {
41 configs = [ ":elfutils_defaults" ]
42
43 sources = sources_libelf
44 include_dirs = [
45 "//third_party/elfutils",
46 "//third_party/elfutils/lib",
47 "//third_party/elfutils/libelf",
48 ]
49 deps = [ "//third_party/zlib:libz" ]
50
51 subsystem_name = "thirdparty"
52 part_name = "elfutils"
53}
54
55# Build libdw
56ohos_static_library("libdw_static") {
57 configs = [ ":elfutils_defaults" ]
58
59 sources = sources_backends
60 sources += sources_libcpu
61 sources += sources_libdw
62 sources += sources_libdwelf
63 sources += sources_libdwfl
64 sources += sources_libebl
65
66 include_dirs = [
67 "//third_party/elfutils",
68 "//third_party/elfutils/lib",
69 "//third_party/elfutils/libasm",
70 "//third_party/elfutils/libelf",
71 "//third_party/elfutils/libcpu",
72 "//third_party/elfutils/libdw",
73 "//third_party/elfutils/libdwelf",
74 "//third_party/elfutils/libdwfl",
75 "//third_party/elfutils/libebl",
76 ]
77 deps = [ ":libelf_static" ]
78
79 subsystem_name = "thirdparty"
80 part_name = "elfutils"
81}
82
83```
84
85### 2.使用elfutils
86
87libabigail的编译依赖了elfutils。简单示意如下:
88
89```makefile
90ohos_static_library("libabigail_static") {
91 configs = [ "//third_party/libabigail:libabigail_defaults" ]
92
93 sources = [
94 ......
95 ]
96
97 include_dirs = [
98 ......
99 ]
100
101 external_deps = [
102 "//third_party/elfutils:libdw_static",
103 ]
104
105 subsystem_name = "thirdparty"
106 part_name = "libabigail"
107}
108```
109## elfutils相关内容
110
111[elfutils官网](https://sourceware.org/elfutils/)
112
113## License
114
115- `LGPL V3.0`
116
117
118- `GPL V2.0`
119
120
121- `GPL V3.0`
122
123## 风险提示
124
125**<u>elfutils是LGPLV3和GPLV3协议类型的三方开源软件,请谨慎使用,使用时须履行相应的开源义务。</u>**
126