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
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils