ELF: Don't include zero size sections at start of PT_NOTE segment
We shouldn't include zero size sections at start of PT_NOTE segment, similar to PT_DYNAMIC segment. PR binutils/23694 * include/elf/internal.h (ELF_SECTION_IN_SEGMENT_1): Don't include zero size sections at start of PT_NOTE segment.
This commit is contained in:
parent
be9a9af906
commit
95475e5d6b
@ -1,3 +1,9 @@
|
||||
2018-09-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR binutils/23694
|
||||
* include/elf/internal.h (ELF_SECTION_IN_SEGMENT_1): Don't
|
||||
include zero size sections at start of PT_NOTE segment.
|
||||
|
||||
2018-09-20 Nelson Chu <nelson.chu1990@gmail.com>
|
||||
|
||||
* elf/nds32.h: Remove the unused target features.
|
||||
|
||||
@ -311,8 +311,8 @@ struct elf_segment_map
|
||||
VMAs are checked for alloc sections. If STRICT, then a zero size
|
||||
section won't match at the end of a segment, unless the segment
|
||||
is also zero size. Regardless of STRICT and CHECK_VMA, zero size
|
||||
sections won't match at the start or end of PT_DYNAMIC, unless
|
||||
PT_DYNAMIC is itself zero sized. */
|
||||
sections won't match at the start or end of PT_DYNAMIC nor PT_NOTE,
|
||||
unless PT_DYNAMIC and PT_NOTE are themselves zero sized. */
|
||||
#define ELF_SECTION_IN_SEGMENT_1(sec_hdr, segment, check_vma, strict) \
|
||||
((/* Only PT_LOAD, PT_GNU_RELRO and PT_TLS segments can contain \
|
||||
SHF_TLS sections. */ \
|
||||
@ -352,8 +352,10 @@ struct elf_segment_map
|
||||
&& (((sec_hdr)->sh_addr - (segment)->p_vaddr \
|
||||
+ ELF_SECTION_SIZE(sec_hdr, segment)) \
|
||||
<= (segment)->p_memsz))) \
|
||||
/* No zero size sections at start or end of PT_DYNAMIC. */ \
|
||||
&& ((segment)->p_type != PT_DYNAMIC \
|
||||
/* No zero size sections at start or end of PT_DYNAMIC nor \
|
||||
PT_NOTE. */ \
|
||||
&& (((segment)->p_type != PT_DYNAMIC \
|
||||
&& (segment)->p_type != PT_NOTE) \
|
||||
|| (sec_hdr)->sh_size != 0 \
|
||||
|| (segment)->p_memsz == 0 \
|
||||
|| (((sec_hdr)->sh_type == SHT_NOBITS \
|
||||
|
||||
Loading…
Reference in New Issue
Block a user