1ABI-DUMPER(1) User Commands ABI-DUMPER(1)
2
3
4
6 ABI Dumper (abi-dumper.pl) Dump ABI of an ELF object containing DWARF
7 debug info
8
10 ABI Dumper is a tool for dumping ABI information of an ELF object con‐
11 taining DWARF debug info.
12
13 The tool is intended to be used with ABI Compliance Checker tool for
14 tracking ABI changes of a C/C++ library or kernel module.
15
16 This tool is free software: you can redistribute it and/or modify it
17 under the terms of the GNU LGPL or GNU GPL.
18
20 abi-dumper.pl [options] [object]
21
23 abi-dumper.pl libTest.so -o ABI.dump abi-dumper.pl Module.ko.debug -o
24 ABI.dump
25
27 -h|-help Print this help.
28
29 -v|-version Print version information.
30
31 -dumpversion Print the tool version (1.1) and don't do anything else.
32
34 -o|-output PATH Path to the output ABI dump file. Default: ./ABI.dump
35
36 -sort Sort data in ABI dump.
37
38 -stdout Print ABI dump to stdout.
39
40 -loud Print all warnings.
41
42 -vnum NUM Set version of the library to NUM.
43
44 -extra-info DIR Dump extra analysis info to DIR.
45
46 -bin-only Do not dump information about inline functions, pure virtual
47 functions and non-exported global data.
48
49 -all-types Dump unused data types.
50
51 -all-symbols Dump symbols not exported by the object.
52
53 -symbols-list PATH Specify a file with a list of symbols that should be
54 dumped.
55
56 -skip-cxx Do not dump stdc++ and gnu c++ symbols.
57
58 -all Equal to: -all-types -all-symbols.
59
60 -dump-static Dump static (local) symbols.
61
62 -compare OLD.dump NEW.dump Show added/removed symbols between two ABI
63 dumps.
64
65 -alt PATH Path to the alternate debug info (Fedora). It is detected
66 automatically from gnu_debugaltlink section of the input object if not
67 specified.
68
69 -dir Show full paths of source files.
70
71 -vt-dumper PATH Path to the vtable-dumper executable if it is installed
72 to non-default location (not in PATH).
73
74 -public-headers PATH Path to directory with public header files or to
75 file with the list of header files. This option allows to filter out
76 private symbols from the ABI dump.
77
78 -ignore-tags PATH Path to ignore.tags file to help ctags tool to read
79 symbols in header files.
80
81 -ctags-def DEF Add -D DEF option to the ctags call. This option may be
82 specified multiple times.
83
84 -reimplement-std Do nothing.
85
86 -mixed-headers This option should be specified if you are using -pub‐
87 lic-headers option and the names of public headers intersect with the
88 internal headers.
89
90 -kernel-export Dump symbols exported by the Linux kernel and modules,
91 i.e. symbols declared in the ksymtab section of the object and system
92 calls.
93
94 -search-debuginfo DIR Search for debug-info files referenced from
95 gnu_debuglink section of the object in DIR.
96
97 -keep-registers-and-offsets Dump used registers and stack offsets even
98 if incompatible build options detected.
99
100 -all-units Extract ABI info after reading all compilation units from
101 the debug info. This may require a lot of extra RAM memory. By default
102 all compilation units are processed separately.
103
104 -quiet Do not warn about incompatible build options.
105
106 -debug Enable debug messages.
107
109 -use-tu-dump Use g++ -fdump-translation-unit instead of ctags to list
110 symbols in headers. This may be useful if all functions are declared
111 via macros in headers and ctags can't recognize them.
112
113 -include-preamble PATHS Specify header files (separated by semicolon)
114 that should be included before others to compile without errors.
115
116 -include-paths DIRS Specify include directories (separated by semi‐
117 colon) that should be passed to the compiler by -I option in order to
118 compile headers without errors. If this option is not set then the tool
119 will try to generate include paths automatically.
120
121 -cache-headers DIR Cache headers analysis results to reuse later.
122
123 -lambda Enable support for lambda and checking of lexical blocks.
124 Define it if your C++ library API functions use lambda expressions.
125
126 -ld-library-path PATHS Specify paths to add to LD_LIBRARY_PATH variable
127 before executing vtable-dumper (separated by colon).
128
129 By default lexical blocks are not analyzed to improve perfor‐
130 mance.
131
132
133
134ABI Dumper 1.1 24 July 2019 ABI-DUMPER(1)