aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-02-02 22:05:56 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-02-02 22:05:56 +0000
commitde205c03b963123f4f7fecd0520861b161b3795e (patch)
tree1eef3086398e2b043d9ea7af38ee1b9a482bbb4e
parenta9931606c273de874d3d8ce5e33831d3c9390f7a (diff)
downloadgdb-de205c03b963123f4f7fecd0520861b161b3795e.zip
gdb-de205c03b963123f4f7fecd0520861b161b3795e.tar.gz
gdb-de205c03b963123f4f7fecd0520861b161b3795e.tar.bz2
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.
-rw-r--r--binutils/ChangeLog6
-rw-r--r--binutils/readelf.c11
-rw-r--r--ld/testsuite/ChangeLog20
-rw-r--r--ld/testsuite/ld-i386/tlsbin.rd2
-rw-r--r--ld/testsuite/ld-i386/tlsbindesc.rd2
-rw-r--r--ld/testsuite/ld-i386/tlsdesc.rd2
-rw-r--r--ld/testsuite/ld-i386/tlsnopic.rd2
-rw-r--r--ld/testsuite/ld-i386/tlspic.rd2
-rw-r--r--ld/testsuite/ld-powerpc/tlsexe.r2
-rw-r--r--ld/testsuite/ld-powerpc/tlsexe32.r2
-rw-r--r--ld/testsuite/ld-powerpc/tlsexetoc.r2
-rw-r--r--ld/testsuite/ld-powerpc/tlsso.r2
-rw-r--r--ld/testsuite/ld-powerpc/tlsso32.r2
-rw-r--r--ld/testsuite/ld-powerpc/tlstocso.r2
-rw-r--r--ld/testsuite/ld-s390/tlsbin.rd2
-rw-r--r--ld/testsuite/ld-s390/tlsbin_64.rd2
-rw-r--r--ld/testsuite/ld-s390/tlspic.rd2
-rw-r--r--ld/testsuite/ld-s390/tlspic_64.rd2
-rw-r--r--ld/testsuite/ld-sh/tlsbin-2.d2
-rw-r--r--ld/testsuite/ld-sh/tlspic-2.d2
-rw-r--r--ld/testsuite/ld-x86-64/tlsbin.rd2
-rw-r--r--ld/testsuite/ld-x86-64/tlsbindesc.rd2
-rw-r--r--ld/testsuite/ld-x86-64/tlsdesc.rd2
-rw-r--r--ld/testsuite/ld-x86-64/tlspic.rd2
24 files changed, 52 insertions, 27 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index f181bdf..b7d4ee0 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -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
diff --git a/binutils/readelf.c b/binutils/readelf.c
index f0385d0..04f64ad 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -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));
}
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 03287ac..e04a9c2 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -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
diff --git a/ld/testsuite/ld-i386/tlsbin.rd b/ld/testsuite/ld-i386/tlsbin.rd
index b485626..88610e6 100644
--- a/ld/testsuite/ld-i386/tlsbin.rd
+++ b/ld/testsuite/ld-i386/tlsbin.rd
@@ -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 *
diff --git a/ld/testsuite/ld-i386/tlsbindesc.rd b/ld/testsuite/ld-i386/tlsbindesc.rd
index 27d0670..0fc7b2e 100644
--- a/ld/testsuite/ld-i386/tlsbindesc.rd
+++ b/ld/testsuite/ld-i386/tlsbindesc.rd
@@ -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 *
diff --git a/ld/testsuite/ld-i386/tlsdesc.rd b/ld/testsuite/ld-i386/tlsdesc.rd
index 12fd5d4..4a56937 100644
--- a/ld/testsuite/ld-i386/tlsdesc.rd
+++ b/ld/testsuite/ld-i386/tlsdesc.rd
@@ -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 *
diff --git a/ld/testsuite/ld-i386/tlsnopic.rd b/ld/testsuite/ld-i386/tlsnopic.rd
index d8dcc66..3784a8b 100644
--- a/ld/testsuite/ld-i386/tlsnopic.rd
+++ b/ld/testsuite/ld-i386/tlsnopic.rd
@@ -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 *
diff --git a/ld/testsuite/ld-i386/tlspic.rd b/ld/testsuite/ld-i386/tlspic.rd
index 890a493..b1706ae 100644
--- a/ld/testsuite/ld-i386/tlspic.rd
+++ b/ld/testsuite/ld-i386/tlspic.rd
@@ -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 *
diff --git a/ld/testsuite/ld-powerpc/tlsexe.r b/ld/testsuite/ld-powerpc/tlsexe.r
index 2e4fab6..64c47dd 100644
--- a/ld/testsuite/ld-powerpc/tlsexe.r
+++ b/ld/testsuite/ld-powerpc/tlsexe.r
@@ -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
diff --git a/ld/testsuite/ld-powerpc/tlsexe32.r b/ld/testsuite/ld-powerpc/tlsexe32.r
index aff95b7..8342494 100644
--- a/ld/testsuite/ld-powerpc/tlsexe32.r
+++ b/ld/testsuite/ld-powerpc/tlsexe32.r
@@ -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
diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.r b/ld/testsuite/ld-powerpc/tlsexetoc.r
index d6664cd..a43486e 100644
--- a/ld/testsuite/ld-powerpc/tlsexetoc.r
+++ b/ld/testsuite/ld-powerpc/tlsexetoc.r
@@ -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
diff --git a/ld/testsuite/ld-powerpc/tlsso.r b/ld/testsuite/ld-powerpc/tlsso.r
index 8501c6f..c88a5f9 100644
--- a/ld/testsuite/ld-powerpc/tlsso.r
+++ b/ld/testsuite/ld-powerpc/tlsso.r
@@ -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
diff --git a/ld/testsuite/ld-powerpc/tlsso32.r b/ld/testsuite/ld-powerpc/tlsso32.r
index c0c120c..049cb85 100644
--- a/ld/testsuite/ld-powerpc/tlsso32.r
+++ b/ld/testsuite/ld-powerpc/tlsso32.r
@@ -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
diff --git a/ld/testsuite/ld-powerpc/tlstocso.r b/ld/testsuite/ld-powerpc/tlstocso.r
index d63136f..af2afc8 100644
--- a/ld/testsuite/ld-powerpc/tlstocso.r
+++ b/ld/testsuite/ld-powerpc/tlstocso.r
@@ -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
diff --git a/ld/testsuite/ld-s390/tlsbin.rd b/ld/testsuite/ld-s390/tlsbin.rd
index 1fa3469..27b4eea 100644
--- a/ld/testsuite/ld-s390/tlsbin.rd
+++ b/ld/testsuite/ld-s390/tlsbin.rd
@@ -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 *
diff --git a/ld/testsuite/ld-s390/tlsbin_64.rd b/ld/testsuite/ld-s390/tlsbin_64.rd
index 34e9649..3d28a49 100644
--- a/ld/testsuite/ld-s390/tlsbin_64.rd
+++ b/ld/testsuite/ld-s390/tlsbin_64.rd
@@ -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 *
diff --git a/ld/testsuite/ld-s390/tlspic.rd b/ld/testsuite/ld-s390/tlspic.rd
index c8ddd91..a292790 100644
--- a/ld/testsuite/ld-s390/tlspic.rd
+++ b/ld/testsuite/ld-s390/tlspic.rd
@@ -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
diff --git a/ld/testsuite/ld-s390/tlspic_64.rd b/ld/testsuite/ld-s390/tlspic_64.rd
index ec6b5a3..125f7b9 100644
--- a/ld/testsuite/ld-s390/tlspic_64.rd
+++ b/ld/testsuite/ld-s390/tlspic_64.rd
@@ -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 *
diff --git a/ld/testsuite/ld-sh/tlsbin-2.d b/ld/testsuite/ld-sh/tlsbin-2.d
index 6118071..779d8f6 100644
--- a/ld/testsuite/ld-sh/tlsbin-2.d
+++ b/ld/testsuite/ld-sh/tlsbin-2.d
@@ -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 *
diff --git a/ld/testsuite/ld-sh/tlspic-2.d b/ld/testsuite/ld-sh/tlspic-2.d
index 70d65da..459a67a 100644
--- a/ld/testsuite/ld-sh/tlspic-2.d
+++ b/ld/testsuite/ld-sh/tlspic-2.d
@@ -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 *
diff --git a/ld/testsuite/ld-x86-64/tlsbin.rd b/ld/testsuite/ld-x86-64/tlsbin.rd
index dc3ef22..910c9e2 100644
--- a/ld/testsuite/ld-x86-64/tlsbin.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin.rd
@@ -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 *
diff --git a/ld/testsuite/ld-x86-64/tlsbindesc.rd b/ld/testsuite/ld-x86-64/tlsbindesc.rd
index 787002d..6f5ab54 100644
--- a/ld/testsuite/ld-x86-64/tlsbindesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsbindesc.rd
@@ -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 *
diff --git a/ld/testsuite/ld-x86-64/tlsdesc.rd b/ld/testsuite/ld-x86-64/tlsdesc.rd
index e7e21ed..88bb0ce 100644
--- a/ld/testsuite/ld-x86-64/tlsdesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsdesc.rd
@@ -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 *
diff --git a/ld/testsuite/ld-x86-64/tlspic.rd b/ld/testsuite/ld-x86-64/tlspic.rd
index 286fbf2..2e680d2 100644
--- a/ld/testsuite/ld-x86-64/tlspic.rd
+++ b/ld/testsuite/ld-x86-64/tlspic.rd
@@ -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 *