[PATCH] readelf: Report if no GOT section found

H.J. Lu hjl.tools@gmail.com
Tue Sep 2 13:22:34 GMT 2025


On Mon, Sep 1, 2025 at 11:01 PM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 01.09.2025 20:00, H.J. Lu wrote:
> > @@ -21123,6 +21127,15 @@ process_got_section_contents (Filedata * filedata)
> >        }
> >
> >   out:
> > +  if (! found)
> > +    {
> > +      if (filedata->is_separate)
> > +     printf (_("\nThere is no GOT section in linked file '%s'.\n"),
> > +             filedata->file_name);
> > +      else
> > +     printf (_("\nThere is no GOT section in this file.\n"));
> > +    }
>
> I think that no such warning should appear when --got-contents wasn't used,
> but was implied from --all.
>

It just follows "readelf -a" for other options:

[hjl@gnu-cfl-3 tmp]$ rm x.c
[hjl@gnu-cfl-3 tmp]$ touch x.c
[hjl@gnu-cfl-3 tmp]$ gcc -c x.c
[hjl@gnu-cfl-3 tmp]$ readelf -a x.o
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              REL (Relocatable file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          0 (bytes into file)
  Start of section headers:          304 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           0 (bytes)
  Number of program headers:         0
  Size of section headers:           64 (bytes)
  Number of section headers:         10
  Section header string table index: 9

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL             0000000000000000  00000000
       0000000000000000  0000000000000000           0     0     0
  [ 1] .text             PROGBITS         0000000000000000  00000040
       0000000000000000  0000000000000000  AX       0     0     1
  [ 2] .data             PROGBITS         0000000000000000  00000040
       0000000000000000  0000000000000000  WA       0     0     1
  [ 3] .bss              NOBITS           0000000000000000  00000040
       0000000000000000  0000000000000000  WA       0     0     1
  [ 4] .comment          PROGBITS         0000000000000000  00000040
       000000000000002f  0000000000000001  MS       0     0     1
  [ 5] .note.GNU-stack   PROGBITS         0000000000000000  0000006f
       0000000000000000  0000000000000000           0     0     1
  [ 6] .note.gnu.pr[...] NOTE             0000000000000000  00000070
       0000000000000030  0000000000000000   A       0     0     8
  [ 7] .symtab           SYMTAB           0000000000000000  000000a0
       0000000000000030  0000000000000018           8     2     8
  [ 8] .strtab           STRTAB           0000000000000000  000000d0
       0000000000000005  0000000000000000           0     0     1
  [ 9] .shstrtab         STRTAB           0000000000000000  000000d5
       0000000000000058  0000000000000000           0     0     1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  D (mbind), l (large), p (processor specific)

There are no section groups in this file.

There are no program headers in this file.

There is no dynamic section in this file.

There are no relocations in this file.
No processor specific unwind information to decode

Symbol table '.symtab' contains 2 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS x.c

No version information found in this file.

Displaying notes found in: .note.gnu.property
  Owner                Data size Description
  GNU                  0x00000020 NT_GNU_PROPERTY_TYPE_0
      Properties: x86 ISA used:
x86 feature used: x86
[hjl@gnu-cfl-3 tmp]$

-- 
H.J.


More information about the Binutils mailing list