abi-dumper for Mac
ABI Dumper — a tool to dump ABI of an ELF object containing DWARF debug info.
abi-dumper — overview
ABI Dumper 1.4
ABI Dumper — a tool to dump ABI of an ELF object containing DWARF debug info.
Contents
About Install Usage Filter public ABI Check for ABI changes
About
The tool is intended to be used with ABI Compliance Checker tool for tracking ABI changes of a C/C++ library or kernel module: https://github.com/lvc/abi-compliance-checker
The tool is developed by Andrey Ponomarenko.
Install
sudo make install prefix=/usr
Requires
Perl 5 Elfutils (eu-readelf) GNU Binutils Universal Ctags (https://github.com/universal-ctags/ctags) Vtable Dumper >= 1.1 (https://github.com/lvc/vtable-dumper) ABI Compliance Checker >= 2.2 (https://github.com/lvc/abi-compliance-checker) GCC C++
Usage
Input objects should be compiled with -g -Og -fno-eliminate-unused-debug-types additional options to contain DWARF debug info.
abi-dumper libTest.so -o ABI.dump abi-dumper Module.ko.debug
Examples
abi-dumper lib/libssh.so.3 abi-dumper drm/nouveau/nouveau.ko.debug
Docker
You can try Docker image if the tool is not packaged for your Linux distribution (example for Harfbuzz):
FROM ebraminio/abi-dumper RUN apt update && apt install -y ragel cpanminus && git clone https://github.com/harfbuzz/harfbuzz && cd harfbuzz && CFLAGS="-Og -g" CXXFLAGS="-Og -g" ./autogen.sh && make && cd .. && abi-dumper find . -name 'libharfbuzz.so.0.' && cpanm JSON && perl -le 'use JSON; print to_json(do shift, {canonical => 1, pretty => 1});' ./ABI.dump > ABI.json
Adv. usage
For advanced usage, see output of --help option.
Filter public ABI
abi-dumper libTest.so -public-headers PATH
PATH — path to the install tree of a library.
Check for ABI changes
abi-dumper libTest.so.0 -o ABIv0.dump abi-dumper libTest.so.1 -o ABIv1.dump abi-compliance-checker -l libTest -old ABIv0.dump -new ABIv1.dump
Details
转储包含 DWARF 调试信息的 ELF 对象的 ABI
How to install abi-dumper
- Open Terminal (press ⌘ + Space and type “Terminal”).
- If Homebrew is not installed yet, run the command below first.
- Run this command:
Latest 10 releases
Last updated 2020-11-20; current version 1.2, with the latest 3 releases listed.
| Version | Released | Type | Size | macOS | Windows | Linux |
|---|---|---|---|---|---|---|
| 1.2 | 2020-11-20 | Stable | — | — | — | — |
| 1.1 | 2017-08-30 | Stable | — | — | — | — |
| 1.0 | 2017-06-17 | Stable | — | — | — | — |
Data from GitHub Releases; stable releases first, each group sorted newest first.
Prebuilt bottle platforms
Official Homebrew bottles cover:
- all
⚠️ No prebuilt bottle for Intel Macs; Intel users need brew install --build-from-source to build from source.
Compared with similar apps
Only public metadata is compared, with no subjective recommendation; see the compare pages for field-by-field comparisons.
| App | Version | License | Architecture | 30-day installs |
|---|---|---|---|---|
| abi-dumper | 1.2 | LGPL-2.1-or-later | CLI | 1 |
| dwarf | 0.4.0 | GPL-2.0-or-later | CLI | 2 |
| ccfits | 2.7 | CFITSIO | CLI | 1 |
| libabigail | 3.0 | Apache-2.0 WITH LLVM-exception | CLI | 0 |
Similar apps: Command-line Tools
dwarf
-- a little and powerful object file manipulation tool and hex editor.ccfits
CCfits is an object-oriented interface to the cfitsio library, aimed primarily at researchers…libabigail
libabigail is a set of command-line tools built around analyzing and checking the ABI…chrpath
chrpath is a small command-line utility for handling the rpath of ELF binaries.openssl@4
Cryptography and SSL/TLS Toolkitxz
General-purpose data compression with high compression ratioCategories: Command-line Tools