From 1b513401599fc5c35a3a8ad0321e0b00a0bdb0f8 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 29 Apr 2020 16:01:40 +0100 Subject: Add a warning if an emtpty SHT_REL, SHT_RELA or SHT_PROGBITS section is detected. Disable all warnings unless the (new) lint mode is enabled. * readelf.c (warn): New function - like elfcomm.c version but only produces output if warnings are enabled. (struct options): Add --lint and --enable-checks. (usage): Add entry for --lint. (parse_args): Handle -L. If checks are enabled but no dumps have been selected then enable all dumps. (process_section_headers): Replace long if-then-else sequence with a switch. Add warning messages for empty SHT_REL, SHT_RELA and SHT_PROGBITS sections. (process_file): Do not complain if the file is an archive and lint mode has been enabled. * elfcomm.c (error): Make the function weak. (warn): Likewise. * NEWS: Mention the new feature. * doc/binutils.texi: Document the new feature. * dwarf.h (report_leb_status): Add file name and line number parameters. Include them in the diagnostic output. (READ_ULEB): Pass file and line number to report_leb_status. (READ_SLEB): Likewise. * dwarf.c (read_and_print_leb128): Pass file and line number to report_leb_status. * testsuite/binutils-all/readelf.exp: Add test of new feature. * testsuite/binutils-all/zero-sec.s: New test source file. * testsuite/binutils-all/zero-sec.r: Expected output from new test. --- binutils/doc/binutils.texi | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'binutils/doc') diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index 0da0492..9a3a40f 100644 --- a/binutils/doc/binutils.texi +++ b/binutils/doc/binutils.texi @@ -4706,6 +4706,7 @@ readelf [@option{-a}|@option{--all}] [@option{-V}|@option{--version-info}] [@option{-A}|@option{--arch-specific}] [@option{-D}|@option{--use-dynamic}] + [@option{-L}|@option{--lint}|@option{--enable-checks}] [@option{-x} |@option{--hex-dump=}] [@option{-p} |@option{--string-dump=}] [@option{-R} |@option{--relocated-dump=}] @@ -4862,6 +4863,15 @@ symbol table sections. When displaying relocations, this option makes @command{readelf} display the dynamic relocations rather than the static relocations. +@item -L +@itemx --lint +@itemx --enable-checks +Displays warning messages about possible problems with the file(s) +being examined. If used on its own then all of the contents of the +file(s) will be examined. If used with one of the dumping options +then the warning messages will only be produced for the things being +displayed. + @item -x @itemx --hex-dump= Displays the contents of the indicated section as a hexadecimal bytes. -- cgit v1.1