2006-02-08 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 8 Feb 2006 16:47:14 +0000 (16:47 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 8 Feb 2006 16:47:14 +0000 (16:47 +0000)
* readelf.c (process_program_headers): Match PT_TLS segment
only with SHT_TLS sections.

binutils/ChangeLog
binutils/readelf.c

index 80dd58e..fc78333 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * readelf.c (process_program_headers): Match PT_TLS segment
+       only with SHT_TLS sections.
+
 2006-02-07  Nathan Sidwell  <nathan@codesourcery.com>
 
        * readelf.c (get_machine_flags): Add logic for EF_M68K flags.
index 0bb2fdb..a10dc41 100644 (file)
@@ -3448,6 +3448,9 @@ process_program_headers (FILE *file)
          for (j = 1; j < elf_header.e_shnum; j++, section++)
            {
              if (section->sh_size > 0
+                 /* PT_TLS segment contains only SHF_TLS sections.  */
+                 && (segment->p_type != PT_TLS
+                     || (section->sh_flags & SHF_TLS) != 0)
                  /* Compare allocated sections by VMA, unallocated
                     sections by file offset.  */
                  && (section->sh_flags & SHF_ALLOC