binutils/
authorAlan Modra <amodra@gmail.com>
Wed, 22 Sep 2004 07:24:14 +0000 (07:24 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 22 Sep 2004 07:24:14 +0000 (07:24 +0000)
* readelf.c (process_program_headers): Don't include .tbss in non-TLS
segments.

ld/testsuite/
* 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.

20 files changed:
binutils/ChangeLog
binutils/readelf.c
ld/testsuite/ChangeLog
ld/testsuite/ld-i386/tlsbin.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/tlspic.rd

index 71708aa..4b07924 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * readelf.c (process_program_headers): Don't include .tbss in non-TLS
+       segments.
+
 2004-09-17  Alan Modra  <amodra@bigpond.net.au>
 
        * Makefile.am: Run "make dep-am".
index 6b03b23..d0569c4 100644 (file)
@@ -3302,7 +3302,12 @@ 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))))
+                            <= 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))
                printf ("%s ", SECTION_NAME (section));
            }
 
index 428bc22..83e2548 100644 (file)
@@ -1,5 +1,25 @@
 2004-09-22  Alan Modra  <amodra@bigpond.net.au>
 
+       * 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.
+
+2004-09-22  Alan Modra  <amodra@bigpond.net.au>
+
        * ld-scripts/overlay-size.d: Don't check .mbss lma.
        * ld-sh/sh64/mix1.xd: Update for changed .bss file offset.
        * ld-sh/sh64/shdl32.xd: Likewise.
index d04b1d2..514d652 100644 (file)
@@ -52,8 +52,8 @@ Program Headers:
    00 +
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
-   03 +.tdata .tbss .dynamic .got .got.plt *
-   04 +.tbss .dynamic *
+   03 +.tdata .dynamic .got .got.plt *
+   04 +.dynamic *
    05 +.tdata .tbss *
 
 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
index 9bc42b9..d84f616 100644 (file)
@@ -44,8 +44,8 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rel.dyn .text *
-   01 +.tbss .dynamic .got .got.plt *
-   02 +.tbss .dynamic *
+   01 +.dynamic .got .got.plt *
+   02 +.dynamic *
    03 +.tbss *
 
 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
index 5b217e6..4b380bc 100644 (file)
@@ -46,8 +46,8 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
-   01 +.tdata .tbss .dynamic .got .got.plt *
-   02 +.tbss .dynamic *
+   01 +.tdata .dynamic .got .got.plt *
+   02 +.dynamic *
    03 +.tdata .tbss *
 
 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries:
index 801312c..42cc2ef 100644 (file)
@@ -50,8 +50,8 @@ Program Headers:
  +0+ +
  +01 +\.interp 
  +02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +03 +\.tdata \.tbss \.dynamic \.got \.plt 
- +04 +\.tbss \.dynamic 
+ +03 +\.tdata \.dynamic \.got \.plt 
+ +04 +\.dynamic 
  +05 +\.tdata \.tbss 
 
 Relocation section '\.rela\.dyn' at offset .* contains 3 entries:
index 217473c..7a9da4d 100644 (file)
@@ -51,8 +51,8 @@ Program Headers:
  +00 +
  +01 +\.interp 
  +02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +03 +\.tdata \.tbss \.dynamic \.got \.plt 
- +04 +\.tbss \.dynamic 
+ +03 +\.tdata \.dynamic \.got \.plt 
+ +04 +\.dynamic 
  +05 +\.tdata \.tbss 
 
 Relocation section '\.rela\.dyn' at offset 0x268 contains 2 entries:
index 2cf4043..5406136 100644 (file)
@@ -50,8 +50,8 @@ Program Headers:
  +0+ +
  +01 +\.interp 
  +02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +03 +\.tdata \.tbss \.dynamic \.got \.plt 
- +04 +\.tbss \.dynamic 
+ +03 +\.tdata \.dynamic \.got \.plt 
+ +04 +\.dynamic 
  +05 +\.tdata \.tbss 
 
 Relocation section '\.rela\.dyn' at offset .* contains 2 entries:
index 2f3793e..487d4a8 100644 (file)
@@ -43,8 +43,8 @@ Program Headers:
  Section to Segment mapping:
  +Segment Sections\.\.\.
  +0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +01 +\.tdata \.tbss \.dynamic \.got \.plt 
- +02 +\.tbss \.dynamic 
+ +01 +\.tdata \.dynamic \.got \.plt 
+ +02 +\.dynamic 
  +03 +\.tdata \.tbss 
 
 Relocation section '\.rela\.dyn' at offset .* contains 16 entries:
index 8781ab3..d2dbe27 100644 (file)
@@ -44,8 +44,8 @@ Program Headers:
  Section to Segment mapping:
  +Segment Sections\.\.\.
  +0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +01 +\.tdata \.tbss \.dynamic \.got \.plt 
- +02 +\.tbss \.dynamic 
+ +01 +\.tdata \.dynamic \.got \.plt 
+ +02 +\.dynamic 
  +03 +\.tdata \.tbss 
 
 Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
index f842320..cece257 100644 (file)
@@ -43,8 +43,8 @@ Program Headers:
  Section to Segment mapping:
  +Segment Sections\.\.\.
  +0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text 
- +01 +\.tdata \.tbss \.dynamic \.got \.plt 
- +02 +\.tbss \.dynamic 
+ +01 +\.tdata \.dynamic \.got \.plt 
+ +02 +\.dynamic 
  +03 +\.tdata \.tbss 
 
 Relocation section '\.rela\.dyn' at offset .* contains 11 entries:
index f711f11..562cdc1 100644 (file)
@@ -51,8 +51,8 @@ Program Headers:
    00 *
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   03 +.tdata .tbss .dynamic .got *
-   04 +.tbss .dynamic *
+   03 +.tdata .dynamic .got *
+   04 +.dynamic *
    05 +.tdata .tbss *
 
 Relocation section '.rela.dyn' at offset 0x268 contains 4 entries:
index 42515f0..5ce09fd 100644 (file)
@@ -51,8 +51,8 @@ Program Headers:
    00 *
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   03 +.tdata .tbss .dynamic .got *
-   04 +.tbss .dynamic *
+   03 +.tdata .dynamic .got *
+   04 +.dynamic *
    05 +.tdata .tbss *
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
index 4764023..2a7640f 100644 (file)
@@ -45,8 +45,8 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
  +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text 
- +01 +.tdata .tbss .dynamic .got 
- +02 +.tbss .dynamic 
+ +01 +.tdata .dynamic .got 
+ +02 +.dynamic 
  +03 +.tdata .tbss 
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
index 144903d..ac8b87a 100644 (file)
@@ -45,8 +45,8 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   01 +.tdata .tbss .dynamic .got *
-   02 +.tbss .dynamic *
+   01 +.tdata .dynamic .got *
+   02 +.dynamic *
    03 +.tdata .tbss *
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
index a2e8ff6..3cb56f9 100644 (file)
@@ -52,8 +52,8 @@ Program Headers:
    00 +
    01 +\.interp *
    02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.plt \.text *
-   03 +\.tdata \.tbss \.dynamic \.got *
-   04 +\.tbss \.dynamic *
+   03 +\.tdata \.dynamic \.got *
+   04 +\.dynamic *
    05 +\.tdata \.tbss *
 
 Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
index 40ece5a..bbdbc4e 100644 (file)
@@ -46,8 +46,8 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections\.\.\.
    00 +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.plt \.text *
-   01 +\.tdata \.tbss \.dynamic \.got *
-   02 +\.tbss \.dynamic *
+   01 +\.tdata \.dynamic \.got *
+   02 +\.dynamic *
    03 +\.tdata \.tbss *
 
 Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries:
index 490010f..f86422b 100644 (file)
@@ -52,7 +52,7 @@ Program Headers:
    00 *
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   03 +.tdata .tbss .dynamic .got .got.plt *
+   03 +.tdata .dynamic .got .got.plt *
    04 +.dynamic *
    05 +.tdata .tbss *
 
index 029fa68..fff48cd 100644 (file)
@@ -46,7 +46,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   01 +.tdata .tbss .dynamic .got .got.plt *
+   01 +.tdata .dynamic .got .got.plt *
    02 +.dynamic *
    03 +.tdata .tbss *