/* Print debugging information to stderr */ int debug; /* Dump DIE contents */ int dump_dies; /* Print debugging information about die_map changes */ int dump_die_map; /* Print out type strings (i.e. type_map) */ int dump_types; /* Print out expanded type strings used for symbol versions */ int dump_versions; /* Support kABI stability features */ int stable; /* Write a symtypes file */ int symtypes; staticconstchar *symtypes_file;
staticvoid usage(void)
{
fputs("Usage: gendwarfksyms [options] elf-object-file ... < symbol-list\n\n" "Options:\n" " -d, --debug Print debugging information\n" " --dump-dies Dump DWARF DIE contents\n" " --dump-die-map Print debugging information about die_map changes\n" " --dump-types Dump type strings\n" " --dump-versions Dump expanded type strings used for symbol versions\n" " -s, --stable Support kABI stability features\n" " -T, --symtypes file Write a symtypes file\n" " -h, --help Print this message\n" "\n",
stderr);
}
/* * Look for exported symbols in each CU, follow the DIE tree, and add * the entries to die_map.
*/ do {
res = dwarf_get_units(dbg, cu, &cu, NULL, NULL, &cudie, NULL); if (res < 0)
error("dwarf_get_units failed: no debugging information?"); if (res == 1) break; /* No more units */
process_cu(&cudie);
} while (cu);
/* * Use die_map to expand type strings, write them to `symfile`, and * calculate symbol versions.
*/
generate_symtypes_and_versions(symfile);
die_map_free();
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.