https://sourceware.org/bugzilla/show_bug.cgi?id=15947

Nick Clifton <nickc at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |WAITING

--- Comment #5 from Nick Clifton <nickc at redhat dot com> ---
Hi Dmytro,

  Ah - as I suspected - this is not really a bug.  The problem is that the
vmlinux exectuable has two program headers, one a loadable segment and one a
note segment (p_type field is PT_NOTE).  The __dbe_table section is mapped into
this note segment, so when objcopy writes out the copied executable it
automatically sets the section type to SHT_NOTE.

Try running "readelf -lS vmlinux" to see this.  Near the end you will see:

 Section to Segment mapping:
  Segment Sections...
   00     .text __ex_table __dbe_table .notes .rodata __ksymtab __ksymtab_gpl
__ksymtab_strings __init_rodata __param __modver .data .init.text .init.data
.mips.machines.init .exit.text .bss 
   01     __dbe_table .notes 

The ELF ABI does not specifically require that segments of type PT_NOTE only
contain sections of type SHT_NOTE.  But it does specify that segments of type
PT_NOTE only contains information in the special note format, and the only
section type that has this format is the SHT_NOTE.  Hence it makes sense that
all sections contained within a PT_NOTE segment should have the SHT_NOTE type.

The real problem, I suspect, is that the linker script you are using to build
the vmlinux executable in the first place is not leaving a gap between the
__dbe_table section and the .notes section, so that when the program headers
are created __dbe_table is being sucked in to the PT_NOTE segment.

Are you happy with this explanation ?  If so, and assuming that you agree with
my analysis, please could you close this PR.

Cheers
  Nick

-- 
You are receiving this mail because:
You are on the CC list for the bug.

_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to