// Set symbols information to the corpus.
corpus()->set_symtab(symtab());
- // Get out now if no debug info is found.
- if (!dwarf_debug_info())
+ // Get out now if no debug info is found or if the symbol table is
+ // empty.
+ if (!dwarf_debug_info()
+ || !corpus()->get_symtab()->has_symbols())
return corpus();
uint8_t address_size = 0;
corpus()->set_architecture_name(elf_architecture());
// See if we could find symbol tables.
- if (!symtab() || !symtab()->has_symbols())
+ if (!symtab())
{
status |= STATUS_NO_SYMBOLS_FOUND;
- // We found no ELF symbol, so we can't handle the binary.
+ // We found no ELF symbol, so we can't handle the binary. Note
+ // that we could have found a symbol table with no defined &
+ // exported ELF symbols in it. That case is handled as an empty
+ // corpus, which is different from this case.
return corpus_sptr();
}
test-read-dwarf/test-fallback.abi \
test-read-dwarf/test-fallback.c \
test-read-dwarf/test-fallback.o \
+test-read-dwarf/PR29692-kdelibs3-libkjava.so.1.0.0 \
+test-read-dwarf/PR29692-kdelibs3-libkjava.so.1.0.0.abi \
\
test-read-ctf/test0 \
test-read-ctf/test0.abi \
--- /dev/null
+<abi-corpus version='2.1' soname='libkjava.so.1'>
+</abi-corpus>
"output/test-read-dwarf/PR29443-missing-xx.o.abi",
NULL,
},
+ {
+ "data/test-read-dwarf/PR29692-kdelibs3-libkjava.so.1.0.0",
+ "",
+ "",
+ SEQUENCE_TYPE_ID_STYLE,
+ "data/test-read-dwarf/PR29692-kdelibs3-libkjava.so.1.0.0.abi",
+ "output/test-read-dwarf/PR29692-kdelibs3-libkjava.so.1.0.0.abi",
+ NULL,
+ },
// DWARF fallback feature.
{
"data/test-read-dwarf/test-fallback.o",