https://sourceware.org/bugzilla/show_bug.cgi?id=29719
Bug ID: 29719 Summary: eu-readelf -s=section is confusing Product: elfutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: tools Assignee: unassigned at sourceware dot org Reporter: mliska at suse dot cz CC: elfutils-devel at sourceware dot org, mjw at fedoraproject dot org Target Milestone: --- Note there's a difference in between binutils and elfutils where the later on has an optional argument: --symbols [section name] I have a few comments: 1) it's confusing as one expects that all symbols in "section name" will be printed, but it's not correct. It's the name of '.symtab' section. 2) readelf -sW xxx does not print anything, while binutils does: The reason is simple, 'W' section is not found in the binary. I would recommend printing a warning: ./src/readelf -sW /home/marxin/Programming/linux/arch/x86/kernel/head_64.o WARNING: cannot find section: 'W' WARNING: cannot find section: 'W' diff --git a/src/readelf.c b/src/readelf.c index a206e60e..465526c4 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -2431,6 +2431,7 @@ print_symtab (Ebl *ebl, int type) /* Find the symbol table(s). For this we have to search through the section table. */ Elf_Scn *scn = NULL; + bool symtab_handled = false; while ((scn = elf_nextscn (ebl->elf, scn)) != NULL) { @@ -2466,8 +2467,13 @@ print_symtab (Ebl *ebl, int type) elf_ndxscn (scn), elf_errmsg (-1)); } handle_symtab (ebl, scn, shdr); + symtab_handled = true; } } + + if (!symtab_handled && symbol_table_section != NULL) + printf ("WARNING: %s: '%s'\n", _("cannot find section"), + symbol_table_section); } -- You are receiving this mail because: You are on the CC list for the bug.