bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/15947] objcopy changes the type of the section header


From: nickc at redhat dot com
Subject: [Bug binutils/15947] objcopy changes the type of the section header
Date: Thu, 19 Sep 2013 11:41:22 +0000

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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]