mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
binutils/
2006-02-02 H.J. Lu <hongjiu.lu@intel.com> * readelf.c (process_program_headers): Undo the change made on 2004-09-22. Match PT_DYNAMIC segment only with SHT_DYNAMIC sections. ld/testsuite/ 2006-02-02 H.J. Lu <hongjiu.lu@intel.com> * ld-i386/tlsbin.rd: Update for changed segment map. * ld-i386/tlsnopic.rd: Likewise. * ld-i386/tlspic.rd: Likewise. * ld-powerpc/tlsexe.r: Likewise. * ld-powerpc/tlsexe32.r: Likewise. * ld-powerpc/tlsexetoc.r: Likewise. * ld-powerpc/tlsso.r: Likewise. * ld-powerpc/tlsso32.r: Likewise. * ld-powerpc/tlstocso.r: Likewise. * ld-s390/tlsbin.rd: Likewise. * ld-s390/tlsbin_64.rd: Likewise. * ld-s390/tlspic.rd: Likewise. * ld-s390/tlspic_64.rd: Likewise. * ld-sh/tlsbin-2.d: Likewise. * ld-sh/tlspic-2.d: Likewise. * ld-x86-64/tlsbin.rd: Likewise. * ld-x86-64/tlspic.rd: Likewise.
This commit is contained in:
@ -3405,6 +3405,10 @@ process_program_headers (FILE *file)
|
||||
for (j = 1; j < elf_header.e_shnum; j++, section++)
|
||||
{
|
||||
if (section->sh_size > 0
|
||||
/* PT_DYNAMIC segment contains only SHT_DYNAMIC
|
||||
sections. */
|
||||
&& (segment->p_type != PT_DYNAMIC
|
||||
|| section->sh_type == SHT_DYNAMIC)
|
||||
/* Compare allocated sections by VMA, unallocated
|
||||
sections by file offset. */
|
||||
&& (section->sh_flags & SHF_ALLOC
|
||||
@ -3413,12 +3417,7 @@ process_program_headers (FILE *file)
|
||||
<= segment->p_vaddr + segment->p_memsz)
|
||||
: ((bfd_vma) section->sh_offset >= segment->p_offset
|
||||
&& (section->sh_offset + section->sh_size
|
||||
<= segment->p_offset + segment->p_filesz)))
|
||||
/* .tbss is special. It doesn't contribute memory space
|
||||
to normal segments. */
|
||||
&& (!((section->sh_flags & SHF_TLS) != 0
|
||||
&& section->sh_type == SHT_NOBITS)
|
||||
|| segment->p_type == PT_TLS))
|
||||
<= segment->p_offset + segment->p_filesz))))
|
||||
printf ("%s ", SECTION_NAME (section));
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user