binutils/
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 2 Feb 2006 22:05:56 +0000 (22:05 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 2 Feb 2006 22:05:56 +0000 (22:05 +0000)
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.

24 files changed:
binutils/ChangeLog
binutils/readelf.c
ld/testsuite/ChangeLog
ld/testsuite/ld-i386/tlsbin.rd
ld/testsuite/ld-i386/tlsbindesc.rd
ld/testsuite/ld-i386/tlsdesc.rd
ld/testsuite/ld-i386/tlsnopic.rd
ld/testsuite/ld-i386/tlspic.rd
ld/testsuite/ld-powerpc/tlsexe.r
ld/testsuite/ld-powerpc/tlsexe32.r
ld/testsuite/ld-powerpc/tlsexetoc.r
ld/testsuite/ld-powerpc/tlsso.r
ld/testsuite/ld-powerpc/tlsso32.r
ld/testsuite/ld-powerpc/tlstocso.r
ld/testsuite/ld-s390/tlsbin.rd
ld/testsuite/ld-s390/tlsbin_64.rd
ld/testsuite/ld-s390/tlspic.rd
ld/testsuite/ld-s390/tlspic_64.rd
ld/testsuite/ld-sh/tlsbin-2.d
ld/testsuite/ld-sh/tlspic-2.d
ld/testsuite/ld-x86-64/tlsbin.rd
ld/testsuite/ld-x86-64/tlsbindesc.rd
ld/testsuite/ld-x86-64/tlsdesc.rd
ld/testsuite/ld-x86-64/tlspic.rd

index f181bdf..b7d4ee0 100644 (file)
@@ -1,3 +1,9 @@
+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.
+
 2006-01-30  Nick Clifton  <nickc@redhat.com>
 
        * objcopy.c (copy_object): Catch the case where an attempt is made
index f0385d0..04f64ad 100644 (file)
@@ -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));
            }
 
index 03287ac..e04a9c2 100644 (file)
@@ -1,3 +1,23 @@
+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.
+
 2006-01-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        * ld-sparc/sparc.exp: Do not run 64-bit tests on Solaris 2.5.1
index b485626..88610e6 100644 (file)
@@ -50,7 +50,7 @@ Program Headers:
    00 +
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
-   03 +.tdata .dynamic .got .got.plt *
+   03 +.tdata .tbss .dynamic .got .got.plt *
    04 +.dynamic *
    05 +.tdata .tbss *
 
index 27d0670..0fc7b2e 100644 (file)
@@ -48,7 +48,7 @@ Program Headers:
    00 +
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rel.dyn .text *
-   03 +.tdata .dynamic .got .got.plt *
+   03 +.tdata .tbss .dynamic .got .got.plt *
    04 +.dynamic *
    05 +.tdata .tbss *
 
index 12fd5d4..4a56937 100644 (file)
@@ -43,7 +43,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .text *
-   01 +.tdata .dynamic .got .got.plt *
+   01 +.tdata .tbss .dynamic .got .got.plt *
    02 +.dynamic *
    03 +.tdata .tbss *
 
index d8dcc66..3784a8b 100644 (file)
@@ -41,7 +41,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rel.dyn .text *
-   01 +.dynamic .got .got.plt *
+   01 +.tbss .dynamic .got .got.plt *
    02 +.dynamic *
    03 +.tbss *
 
index 890a493..b1706ae 100644 (file)
@@ -44,7 +44,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
-   01 +.tdata .dynamic .got .got.plt *
+   01 +.tdata .tbss .dynamic .got .got.plt *
    02 +.dynamic *
    03 +.tdata .tbss *
 
index 2e4fab6..64c47dd 100644 (file)
@@ -47,7 +47,7 @@ Program Headers:
  +0+ +
  +01 +\.interp 
  +02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +03 +\.tdata \.dynamic \.got \.plt 
+ +03 +\.tdata \.tbss \.dynamic \.got \.plt 
  +04 +\.dynamic 
  +05 +\.tdata \.tbss 
 
index aff95b7..8342494 100644 (file)
@@ -46,7 +46,7 @@ Program Headers:
  +00 +
  +01 +\.interp 
  +02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +03 +\.tdata \.dynamic \.got \.plt 
+ +03 +\.tdata \.tbss \.dynamic \.got \.plt 
  +04 +\.dynamic 
  +05 +\.tdata \.tbss 
 
index d6664cd..a43486e 100644 (file)
@@ -47,7 +47,7 @@ Program Headers:
  +0+ +
  +01 +\.interp 
  +02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +03 +\.tdata \.dynamic \.got \.plt 
+ +03 +\.tdata \.tbss \.dynamic \.got \.plt 
  +04 +\.dynamic 
  +05 +\.tdata \.tbss 
 
index 8501c6f..c88a5f9 100644 (file)
@@ -40,7 +40,7 @@ Program Headers:
  Section to Segment mapping:
  +Segment Sections\.\.\.
  +0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +01 +\.tdata \.dynamic \.got \.plt 
+ +01 +\.tdata \.tbss \.dynamic \.got \.plt 
  +02 +\.dynamic 
  +03 +\.tdata \.tbss 
 
index c0c120c..049cb85 100644 (file)
@@ -39,7 +39,7 @@ Program Headers:
  Section to Segment mapping:
  +Segment Sections\.\.\.
  +0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +01 +\.tdata \.dynamic \.got \.plt 
+ +01 +\.tdata \.tbss \.dynamic \.got \.plt 
  +02 +\.dynamic 
  +03 +\.tdata \.tbss 
 
index d63136f..af2afc8 100644 (file)
@@ -40,7 +40,7 @@ Program Headers:
  Section to Segment mapping:
  +Segment Sections\.\.\.
  +0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +01 +\.tdata \.dynamic \.got \.plt 
+ +01 +\.tdata \.tbss \.dynamic \.got \.plt 
  +02 +\.dynamic 
  +03 +\.tdata \.tbss 
 
index 1fa3469..27b4eea 100644 (file)
@@ -49,7 +49,7 @@ Program Headers:
    00 *
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   03 +.tdata .dynamic .got *
+   03 +.tdata .tbss .dynamic .got *
    04 +.dynamic *
    05 +.tdata .tbss *
 
index 34e9649..3d28a49 100644 (file)
@@ -49,7 +49,7 @@ Program Headers:
    00 *
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   03 +.tdata .dynamic .got *
+   03 +.tdata .tbss .dynamic .got *
    04 +.dynamic *
    05 +.tdata .tbss *
 
index c8ddd91..a292790 100644 (file)
@@ -43,7 +43,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
  +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text 
- +01 +.tdata .dynamic .got 
+ +01 +.tdata .tbss .dynamic .got 
  +02 +.dynamic 
  +03 +.tdata .tbss 
 
index ec6b5a3..125f7b9 100644 (file)
@@ -43,7 +43,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   01 +.tdata .dynamic .got *
+   01 +.tdata .tbss .dynamic .got *
    02 +.dynamic *
    03 +.tdata .tbss *
 
index 6118071..779d8f6 100644 (file)
@@ -50,7 +50,7 @@ Program Headers:
    00 +
    01 +\.interp *
    02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.plt \.text *
-   03 +\.tdata \.dynamic \.got *
+   03 +\.tdata \.tbss \.dynamic \.got *
    04 +\.dynamic *
    05 +\.tdata \.tbss *
 
index 70d65da..459a67a 100644 (file)
@@ -44,7 +44,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections\.\.\.
    00 +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.plt \.text *
-   01 +\.tdata \.dynamic \.got *
+   01 +\.tdata \.tbss .dynamic \.got *
    02 +\.dynamic *
    03 +\.tdata \.tbss *
 
index dc3ef22..910c9e2 100644 (file)
@@ -50,7 +50,7 @@ Program Headers:
    00 *
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   03 +.tdata .dynamic .got .got.plt *
+   03 +.tdata .tbss .dynamic .got .got.plt *
    04 +.dynamic *
    05 +.tdata .tbss *
 
index 787002d..6f5ab54 100644 (file)
@@ -48,7 +48,7 @@ Program Headers:
    00 *
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rela.dyn .text *
-   03 +.tdata .dynamic .got .got.plt *
+   03 +.tdata .tbss .dynamic .got .got.plt *
    04 +.dynamic *
    05 +.tdata .tbss *
 
index e7e21ed..88bb0ce 100644 (file)
@@ -44,7 +44,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   01 +.tdata .dynamic .got .got.plt *
+   01 +.tdata .tbss .dynamic .got .got.plt *
    02 +.dynamic *
    03 +.tdata .tbss *
 
index 286fbf2..2e680d2 100644 (file)
@@ -44,7 +44,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   01 +.tdata .dynamic .got .got.plt *
+   01 +.tdata .tbss .dynamic .got .got.plt *
    02 +.dynamic *
    03 +.tdata .tbss *