• Stars
    star
    110
  • Rank 306,889 (Top 7 %)
  • Language
    C
  • License
    GNU Lesser Genera...
  • Created about 11 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A tool to list content of virtual tables in a shared library

Vtable Dumper

Vtable-Dumper β€” a tool to list content of virtual tables in a C++ shared library.

Contents

  1. About
  2. Install
  3. Usage

About

The tool is intended for developers of software libraries and maintainers of Linux distributions who are interested in ensuring backward binary compatibility.

The tool is developed by Andrey Ponomarenko.

Install

sudo make install prefix=/usr
Requires
  • libelf
  • libdl
  • libstdc++

Usage

vtable-dumper SHLIB
Example
vtable-dumper /usr/lib64/libstdc++.so.6
Note

Make sure that all dependencies of a target library can be found by ldd. Otherwise dlopen() may fail. Add paths to these libraries to LD_LIBRARY_PATH in this case.

Options
Option Desc
-mangled Show mangled symbol names
-demangled Show de-mangled symbol names
-help Display this help message
-dumpversion Print the tool version
Sample output
Vtable for QIconEnginePlugin
_ZTV17QIconEnginePlugin: 22 entries
0     (int (*)(...)) 0
8     (int (*)(...)) (& _ZTI17QIconEnginePlugin)
16    (int (*)(...)) QIconEnginePlugin::metaObject() const
24    (int (*)(...)) QIconEnginePlugin::qt_metacast(char const*)
32    (int (*)(...)) QIconEnginePlugin::qt_metacall(QMetaObject::Call, int, void**)
40    (int (*)(...)) QIconEnginePlugin::~QIconEnginePlugin()
48    (int (*)(...)) QIconEnginePlugin::~QIconEnginePlugin()
56    (int (*)(...)) QObject::event(QEvent*)
64    (int (*)(...)) QObject::eventFilter(QObject*, QEvent*)
72    (int (*)(...)) QObject::timerEvent(QTimerEvent*)
80    (int (*)(...)) QObject::childEvent(QChildEvent*)
88    (int (*)(...)) QObject::customEvent(QEvent*)
96    (int (*)(...)) QObject::connectNotify(char const*)
104   (int (*)(...)) QObject::disconnectNotify(char const*)
112   (int (*)(...)) __cxa_pure_virtual
120   (int (*)(...)) __cxa_pure_virtual
128   (int (*)(...)) -0x00000000000010
136   (int (*)(...)) (& _ZTI17QIconEnginePlugin)
144   (int (*)(...)) _ZThn16_N17QIconEnginePluginD1Ev
152   (int (*)(...)) _ZThn16_N17QIconEnginePluginD0Ev
160   (int (*)(...)) __cxa_pure_virtual
168   (int (*)(...)) __cxa_pure_virtual

More Repositories

1

abi-compliance-checker

A tool for checking backward API/ABI compatibility of a C/C++ library
Perl
594
star
2

japi-compliance-checker

A tool for checking backward API/ABI compatibility of a Java library
Perl
358
star
3

pkgdiff

A tool for visualizing changes in Linux software packages
Perl
200
star
4

abi-tracker

A tool to visualize ABI changes timeline of a C/C++ software library
Perl
186
star
5

abi-dumper

Dump ABI of an ELF object containing DWARF debug info
Perl
167
star
6

api-sanity-checker

An automatic generator of basic unit tests for a C/C++ library
Perl
85
star
7

japi-tracker

A tool to visualize API changes timeline of a Java library
Perl
52
star
8

abi-monitor

A tool to monitor and build new versions of a software library
Perl
27
star
9

pkg-abidiff

Verify backward compatibility of Linux packages (RPM or DEB)
Python
21
star
10

upstream-tracker

A project to monitor and verify compatibility of upstream ABI changes in C/C++ libraries
Shell
15
star
11

abi-reports

JSON-format reports of the ABI Tracker project
Python
11
star
12

installer

Install/remove tools and their dependencies
Perl
9
star
13

kernel-abi-tracker

A tool to monitor and analyze ABI changes in new versions of the Linux kernel
Shell
8
star
14

japi-monitor

A tool to monitor new versions of a Java library
Perl
8
star
15

distdiff

A tool for visualizing changes in Linux distributions
Perl
7
star
16

upstream-tracker-4j

A project to monitor and verify compatibility of upstream API changes in Java libraries
Perl
7
star
17

installer-4j

Install/remove Java tools and their dependencies
Perl
4
star
18

api-reports-4j

JSON-format reports of the Java API Tracker project
4
star
19

articles

Related articles
1
star