Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
.github/ | 12-May-2024 | - | 337 | 258 | ||
autoconf-archive/ | 12-May-2024 | - | 596 | 550 | ||
bash-completion/ | 12-May-2024 | - | 345 | 333 | ||
doc/ | 12-May-2024 | - | 20,884 | 18,010 | ||
docker/ | 12-May-2024 | - | 121 | 99 | ||
include/ | 12-May-2024 | - | 16,179 | 9,583 | ||
m4/ | 12-May-2024 | - | 3 | 2 | ||
relicensing-scripts/ | 12-May-2024 | - | 465 | 416 | ||
scripts/ | 12-May-2024 | - | 39 | 21 | ||
src/ | 12-May-2024 | - | 99,377 | 55,832 | ||
tests/ | 12-May-2024 | - | 862,797 | 850,518 | ||
tools/ | 12-May-2024 | - | 10,645 | 7,836 | ||
.clang-format | D | 12-May-2024 | 779 | 28 | 27 | |
.gitignore | D | 12-May-2024 | 214 | 29 | 23 | |
.mailmap | D | 12-May-2024 | 639 | 8 | 7 | |
ABIXML-FORMAT-VERSIONS | D | 12-May-2024 | 2.7 KiB | 68 | 54 | |
AUTHORS | D | 12-May-2024 | 35 | 3 | 1 | |
BUILD.gn | D | 12-May-2024 | 891 | 29 | 25 | |
COMMIT-LOG-GUIDELINES | D | 12-May-2024 | 4.9 KiB | 130 | 97 | |
COMPILING | D | 12-May-2024 | 3 KiB | 115 | 71 | |
CONTRIBUTING | D | 12-May-2024 | 12.4 KiB | 311 | 231 | |
ChangeLog | D | 12-May-2024 | 1.9 MiB | 44,415 | 39,472 | |
LICENSE.txt | D | 12-May-2024 | 12 KiB | 220 | 182 | |
Makefile.am | D | 12-May-2024 | 2.3 KiB | 97 | 57 | |
NEWS | D | 12-May-2024 | 74 KiB | 1,459 | 1,388 | |
OAT.xml | D | 12-May-2024 | 7.7 KiB | 102 | 82 | |
README | D | 12-May-2024 | 991 | 24 | 18 | |
README-DOCKER.md | D | 12-May-2024 | 1.8 KiB | 67 | 46 | |
README.OpenSource | D | 12-May-2024 | 312 | 12 | 11 | |
README_OpenHarmony.md | D | 12-May-2024 | 1.8 KiB | 59 | 39 | |
VISIBILITY | D | 12-May-2024 | 2.5 KiB | 68 | 47 | |
abigail.m4 | D | 12-May-2024 | 4.5 KiB | 164 | 142 | |
bundle.json | D | 12-May-2024 | 865 | 35 | 34 | |
config.h | D | 12-May-2024 | 5.9 KiB | 204 | 64 | |
configure.ac | D | 12-May-2024 | 33.7 KiB | 1,080 | 920 | |
default.abignore | D | 12-May-2024 | 6.1 KiB | 177 | 149 | |
gen-changelog.py | D | 12-May-2024 | 4.5 KiB | 151 | 101 | |
install-sh | D | 12-May-2024 | 12.7 KiB | 512 | 351 | |
libabigail.pc.in | D | 12-May-2024 | 298 | 12 | 10 | |
license-change-2020.txt | D | 12-May-2024 | 1.4 KiB | 38 | 30 | |
ltmain.sh | D | 12-May-2024 | 275.8 KiB | 9,636 | 7,304 | |
release-text-template.txt | D | 12-May-2024 | 1.3 KiB | 35 | 23 | |
update-copyright.sh | D | 12-May-2024 | 424 | 18 | 13 |
README
1This is the Application Binary Interface Generic Analysis and 2Instrumentation Library. 3 4It aims at constructing, manipulating, serializing and de-serializing 5ABI-relevant artifacts. 6 7The set of artifacts that we are intersted is made of quantities like 8types, variable, functions and declarations of a given library or 9program. For a given library or program this set of quantities is 10called an ABI corpus. 11 12This library aims at (among other things) providing a way to compare 13two ABI Corpora (apparently the plural of corpus is copora, heh, 14that's cool), provide detailed information about their differences, 15and help build tools to infer interesting conclusions about these 16differences. 17 18You are welcome to contribute to this project after reading the files 19CONTRIBUTING and COMMIT-LOG-GUIDELINES files in the source tree. 20 21Communicating with the maintainers of this project -- including 22sending patches to be include to the source code -- happens via email 23at libabigail@sourceware.org. 24
README-DOCKER.md
1# Libabigail Docker 2 3Libabigail comes with two Dockerfile in [docker](docker) to build each of: 4 5 - a Fedora base image (recommended) 6 - an Ubuntu base image. 7 8These containers are built and deployed on merges to the main branch and releases. 9 10### Usage 11 12Here is how to build the containers. Note that we build so it belongs to the same 13namespace as the repository here. "ghcr.io" means "GitHub Container Registry" and 14is the [GitHub packages](https://github.com/features/packages) registry that supports 15 Docker images and other OCI artifacts. 16 17```bash 18$ docker build -f docker/Dockerfile.fedora -t ghcr.io/woodard/libabigail-fedora . 19``` 20```bash 21$ docker build -f docker/Dockerfile.ubuntu -t ghcr.io/woodard/libabigail-ubuntu-22.04 . 22``` 23 24Note that currently the fedora image is deployed to `ghcr.io/woodard/libabigail:latest`. 25 26### Shell 27 28To shell into a container (here is an example with ubuntu): 29 30```bash 31$ docker run -it ghcr.io/woodard/libabigail-ubuntu-22.04 bash 32``` 33 34Off the bat, you can find the abi executables: 35 36```bash 37# which abidiff 38/opt/abigail-env/.spack-env/view/bin/abidiff 39``` 40 41Since the ubuntu base uses spack, you can interact with spack. 42You can go to the environment in `/opt/abigail-env` and (given you 43have the source code bound to `/src`) build and test again. 44 45```bash 46$ spack install 47``` 48 49And that's it! This workflow should make it easy to install development versions of libabigail with spack. 50We will also use the "production" containers to grab libraries in: 51 52``` 53$ ls /opt/abigail-env/.spack-env/view/ 54bin include lib share 55``` 56 57Note that the fedora container does not come with spack. 58 59### Testing 60 61We provide a testing container, which will use a fedora base and add new code to 62compile, and then run `make check`. You can do this as follows on your local machine: 63 64```bash 65$ docker build -f docker/Dockerfile.test -t test . 66``` 67
README.OpenSource
1[ 2 { 3 "Name": "libabigail", 4 "License": "Apache License 2.0", 5 "License File": "LICENSE.txt", 6 "Version Number": "2.2", 7 "Owner": "zhanghaibo0@huawei.com", 8 "Upstream URL": "https://sourceware.org/libabigail/", 9 "Description": "ABI check for dynamic libraries of different versions." 10 } 11] 12
README_OpenHarmony.md
1# libabigail 2 3仓库包含第三方开源软件libabigail,libabigail是一个用于不同版本二进制库的ABI检查工具。开发者使用这个工具可以生成二进制库的ABI特征文件,并且可以比较两个版本之间的特征文件,从而可以看出同一个二进制库在两个版本之间是否发生了ABI变化。 4 5## 目录结构 6 7``` 8doc/ 文档 9include/ 头文件 10scripts/ 脚本 11src/ 源文件 12tests/ 测试目录 13tools/ 工具源码 14LICENSE.txt 证书文件 15README README说明 16``` 17 18## OpenHarmony如何使用libabigail 19 20SA独立升级的特性需要对相关的二进制库进行ABI检查,以保证二进制库的前向兼容。通过libabigail提供的工具对比基线的ABI特征文件与编译时实时生成的ABI特征文件,可以看出ABI是否发生了变化,如果是则编译报错。 21 22## OpenHarmony如何集成libabigail 23 24libabigail是作为host端的工具存在,不会随镜像发布到产品中。 25 26### 1.libabigail编译入口 27 28libabigail的编译入口在其根目录下的BUILD.gn中。 29 30```makefile 31group("libabigail-tools_host_toolchain") { 32 deps = [ 33 "//third_party/libabigail/tools:abidiff($host_toolchain)", 34 "//third_party/libabigail/tools:abidw($host_toolchain)", 35 ] 36} 37``` 38 39可以看出使用了libabigail中的abidiff和abidw这两个工具。 40 41### 2.使用libabigail 42 43SA独立升级特性提供了新的编译模板`ohos_module_package`,其中直接指定了对libabigail的依赖。 44 45```makefile 46deps += [ "//third_party/libabigail:libabigail-tools_host_toolchain" ] 47``` 48这样只要有模块使用了`ohos_module_package`模板,libabigail工具就会编译出来。 49 50## libabigail相关内容 51 52[libabigail官网](https://sourceware.org/libabigail/) 53 54## License 55 56`Apache License V2.0` 57 58 59