Blob Blame History Raw
diff --git a/bfd/elf.c b/bfd/elf.c
index 274cd53..c3630d2 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -3093,7 +3093,7 @@ elf_fake_sections (bfd *abfd, asection *asect, void *fsarg)
 	     compressed.  */
 	  asect->flags |= SEC_ELF_COMPRESS;
 
-	  /* If this section will be compressed, delay adding setion
+	  /* If this section will be compressed, delay adding section
 	     name to section name section after it is compressed in
 	     _bfd_elf_assign_file_positions_for_non_load.  */
 	  delay_st_name_p = TRUE;
@@ -3595,10 +3595,6 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
 	d->rela.idx = 0;
     }
 
-  elf_shstrtab_sec (abfd) = section_number++;
-  _bfd_elf_strtab_addref (elf_shstrtab (abfd), t->shstrtab_hdr.sh_name);
-  elf_elfheader (abfd)->e_shstrndx = elf_shstrtab_sec (abfd);
-
   need_symtab = (bfd_get_symcount (abfd) > 0
 		|| (link_info == NULL
 		    && ((abfd->flags & (EXEC_P | DYNAMIC | HAS_RELOC))
@@ -3626,6 +3622,10 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
       _bfd_elf_strtab_addref (elf_shstrtab (abfd), t->strtab_hdr.sh_name);
     }
 
+  elf_shstrtab_sec (abfd) = section_number++;
+  _bfd_elf_strtab_addref (elf_shstrtab (abfd), t->shstrtab_hdr.sh_name);
+  elf_elfheader (abfd)->e_shstrndx = elf_shstrtab_sec (abfd);
+
   if (section_number >= SHN_LORESERVE)
     {
       _bfd_error_handler (_("%B: too many sections: %u"),
@@ -6028,7 +6028,7 @@ _bfd_elf_assign_file_positions_for_non_load (bfd *abfd)
 			return FALSE;
 		      name = new_name;
 		    }
-		  /* Add setion name to section name section.  */
+		  /* Add section name to section name section.  */
 		  if (shdrp->sh_name != (unsigned int) -1)
 		    abort ();
 		  shdrp->sh_name
@@ -6036,7 +6036,7 @@ _bfd_elf_assign_file_positions_for_non_load (bfd *abfd)
 							  name, FALSE);
 		  d = elf_section_data (sec);
 
-		  /* Add reloc setion name to section name section.  */
+		  /* Add reloc section name to section name section.  */
 		  if (d->rel.hdr
 		      && !_bfd_elf_set_reloc_sh_name (abfd,
 						      d->rel.hdr,
diff --git a/binutils/testsuite/binutils-all/readelf.s b/binutils/testsuite/binutils-all/readelf.s
index fd62fda..5aae0ce 100644
--- a/binutils/testsuite/binutils-all/readelf.s
+++ b/binutils/testsuite/binutils-all/readelf.s
@@ -14,8 +14,8 @@ Section Headers:
 # MIPS targets put .reginfo, .mdebug, .MIPS.abiflags and .gnu.attributes here.
 # v850 targets put .call_table_data and .call_table_text here.
 #...
- +\[ .\] .shstrtab +STRTAB +00000000 0+.* 0+.* 00 .* +0 +0 +.
  +\[..\] .symtab +SYMTAB +00000000 0+.* 0+.* 10 +.. +.+ +4
  +\[..\] .strtab +STRTAB +00000000 0+.* 0+.* 00 .* +0 +0 +1
+ +\[..\] .shstrtab +STRTAB +00000000 0+.* 0+.* 00 .* +0 +0 +.
 Key to Flags:
 #...
diff --git a/binutils/testsuite/binutils-all/readelf.s-64 b/binutils/testsuite/binutils-all/readelf.s-64
index d198300..622b314 100644
--- a/binutils/testsuite/binutils-all/readelf.s-64
+++ b/binutils/testsuite/binutils-all/readelf.s-64
@@ -13,12 +13,12 @@ Section Headers:
  +000000000000000[48] +0000000000000000 +WA +0 +0 +.*
  +\[ 4\] .bss +NOBITS +0000000000000000 +000000(4c|50|54|58)
  +0000000000000000 +0000000000000000 +WA +0 +0 +.*
- +\[ 5\] .shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
- +00000000000000.. +0000000000000000 .* +0 +0 +.*
- +\[ 6\] .symtab +SYMTAB +0000000000000000 +0+.*
+ +\[ 5\] .symtab +SYMTAB +0000000000000000 +0+.*
 # aarch64-elf targets have one more data symbol.
- +0+.* +0000000000000018 +7 +(6|7) +8
- +\[ 7\] .strtab +STRTAB +0000000000000000 +0+.*
+ +0+.* +0000000000000018 +6 +(6|7) +8
+ +\[ 6\] .strtab +STRTAB +0000000000000000 +0+.*
  +0+.* +0000000000000000 .* +0 +0 +1
+ +\[ 7\] .shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
+ +00000000000000.. +0000000000000000 .* +0 +0 +.*
 Key to Flags:
 #...
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d b/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d
index 5cea05e..5dc74d6 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d
@@ -11,8 +11,8 @@ Section Headers:
   \[ 2\] .data             PROGBITS        00000000 000034 000000 00  WA  0   0  1
   \[ 3\] .bss              NOBITS          00000000 000034 000000 00  WA  0   0  1
   \[ 4\] .eh_frame         X86_64_UNWIND   00000000 000034 000008 00   A  0   0  1
-  \[ 5\] .shstrtab         STRTAB          00000000 [0-9a-f]+ 000036 00   .  0   0  1
-  \[ 6\] .symtab           SYMTAB          00000000 [0-9a-f]+ 000050 10      7   5  4
-  \[ 7\] .strtab           STRTAB          00000000 [0-9a-f]+ 000001 00   .  0   0  1
+  \[ 5\] .symtab           SYMTAB          00000000 [0-9a-f]+ 000050 10      6   5  4
+  \[ 6\] .strtab           STRTAB          00000000 [0-9a-f]+ 000001 00   .  0   0  1
+  \[ 7\] .shstrtab         STRTAB          00000000 [0-9a-f]+ 000036 00   .  0   0  1
 Key to Flags:
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-unwind.d b/gas/testsuite/gas/i386/x86-64-unwind.d
index 7a4c64c..89f1a65 100644
--- a/gas/testsuite/gas/i386/x86-64-unwind.d
+++ b/gas/testsuite/gas/i386/x86-64-unwind.d
@@ -16,11 +16,11 @@ Section Headers:
        0000000000000000  0000000000000000  WA       0     0     1
   \[ 4\] \.eh_frame         X86_64_UNWIND    0000000000000000  00000040
        0000000000000008  0000000000000000   A       0     0     1
-  \[ 5\] \.shstrtab         STRTAB           0000000000000000  [0-9a-f]+
-       0000000000000036  0000000000000000   .       0     0     1
-  \[ 6\] \.symtab           SYMTAB           0000000000000000  [0-9a-f]+
-       0000000000000078  0000000000000018           7     5     8
-  \[ 7\] \.strtab           STRTAB           0000000000000000  [0-9a-f]+
+  \[ 5\] \.symtab           SYMTAB           0000000000000000  [0-9a-f]+
+       0000000000000078  0000000000000018           6     5     8
+  \[ 6\] \.strtab           STRTAB           0000000000000000  [0-9a-f]+
        0000000000000001  0000000000000000   .       0     0     1
+  \[ 7\] \.shstrtab         STRTAB           0000000000000000  [0-9a-f]+
+       0000000000000036  0000000000000000   .       0     0     1
 Key to Flags:
 #...
diff --git a/gas/testsuite/gas/ia64/alias-ilp32.d b/gas/testsuite/gas/ia64/alias-ilp32.d
index d882b3c..df05d36 100644
--- a/gas/testsuite/gas/ia64/alias-ilp32.d
+++ b/gas/testsuite/gas/ia64/alias-ilp32.d
@@ -12,9 +12,9 @@ Section Headers:
  +\[ 2\] .data +PROGBITS +00000000 000040 000000 00 +WA +0 +0 +1
  +\[ 3\] .bss +NOBITS +00000000 000040 000000 00 +WA +0 +0 +1
  +\[ 4\] 1234 +PROGBITS +00000000 000040 000005 00 +WA +0 +0 +1
- +\[ 5\] .shstrtab +STRTAB +00000000 [0-9a-f]+ 000031 00 +0 +0 +1
- +\[ 6\] .symtab +SYMTAB +00000000 [0-9a-f]+ 000060 10 +7 +6 +4
- +\[ 7\] .strtab +STRTAB +00000000 [0-9a-f]+ 000006 00 +0 +0 +1
+ +\[ 5\] .symtab +SYMTAB +00000000 [0-9a-f]+ 000060 10 +6 +6 +4
+ +\[ 6\] .strtab +STRTAB +00000000 [0-9a-f]+ 000006 00 +0 +0 +1
+ +\[ 7\] .shstrtab +STRTAB +00000000 [0-9a-f]+ 000031 00 +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/gas/testsuite/gas/ia64/alias.d b/gas/testsuite/gas/ia64/alias.d
index 398bff4..23b9330 100644
--- a/gas/testsuite/gas/ia64/alias.d
+++ b/gas/testsuite/gas/ia64/alias.d
@@ -16,12 +16,12 @@ Section Headers:
  +0000000000000000 +0000000000000000 +WA +0 +0 +1
  +\[ 4\] 1234 +PROGBITS +0000000000000000 +00000040
  +0000000000000005 +0000000000000000 +WA +0 +0 +1
- +\[ 5\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
- +0000000000000031 +0000000000000000 +0 +0 +1
- +\[ 6\] \.symtab +SYMTAB +0000000000000000 .*
- +0000000000000090 +0000000000000018 +7 +6 +8
- +\[ 7\] \.strtab +STRTAB +0000000000000000 .*
+ +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
+ +0000000000000090 +0000000000000018 +6 +6 +8
+ +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
  +0000000000000006 +0000000000000000 +0 +0 +1
+ +\[ 7\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
+ +0000000000000031 +0000000000000000 +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/gas/testsuite/gas/ia64/group-1.d b/gas/testsuite/gas/ia64/group-1.d
index b4eab14..b90bd88 100644
--- a/gas/testsuite/gas/ia64/group-1.d
+++ b/gas/testsuite/gas/ia64/group-1.d
@@ -18,12 +18,12 @@ Section Headers:
        0000000000000000  0000000000000000  WA       0     0     1
   \[ 5\] \.text             PROGBITS         0000000000000000  00000050
        0000000000000010  0000000000000000 AXG       0     0     16
-  \[ 6\] \.shstrtab         STRTAB           0000000000000000  [0-9a-f]+
-       0000000000000033  0000000000000000           0     0     1
-  \[ 7\] \.symtab           SYMTAB           0000000000000000  .*
-       00000000000000c0  0000000000000018           8     8     8
-  \[ 8\] \.strtab           STRTAB           0000000000000000  .*
+  \[ 6\] \.symtab           SYMTAB           0000000000000000  .*
+       00000000000000c0  0000000000000018           7     8     8
+  \[ 7\] \.strtab           STRTAB           0000000000000000  .*
        000000000000000[7c]  0000000000000000           0     0     1
+  \[ 8\] \.shstrtab         STRTAB           0000000000000000  [0-9a-f]+
+       0000000000000033  0000000000000000           0     0     1
 Key to Flags:
 #...
 
diff --git a/gas/testsuite/gas/ia64/group-2.d b/gas/testsuite/gas/ia64/group-2.d
index 7370367..cc8413f 100644
--- a/gas/testsuite/gas/ia64/group-2.d
+++ b/gas/testsuite/gas/ia64/group-2.d
@@ -25,12 +25,12 @@ Section Headers:
        0000000000000018  0000000000000000 ALG       5     5     8
   \[ 8\] \.rela\.gnu\.linkonc RELA             0000000000000000  .*
        0000000000000048  0000000000000018   I      10     7     8
-  \[ 9\] \.shstrtab         STRTAB           0000000000000000  [0-9a-f]+
-       0000000000000081  0000000000000000           0     0     1
-  \[10\] \.symtab           SYMTAB           0000000000000000  .*
-       00000000000000d8  0000000000000018          11     9     8
-  \[11\] \.strtab           STRTAB           0000000000000000  .*
+  \[ 9\] \.symtab           SYMTAB           0000000000000000  .*
+       00000000000000d8  0000000000000018          10     9     8
+  \[10\] \.strtab           STRTAB           0000000000000000  .*
        0000000000000005  0000000000000000           0     0     1
+  \[11\] \.shstrtab         STRTAB           0000000000000000  [0-9a-f]+
+       0000000000000081  0000000000000000           0     0     1
 Key to Flags:
 #...
 
diff --git a/gas/testsuite/gas/ia64/secname-ilp32.d b/gas/testsuite/gas/ia64/secname-ilp32.d
index 4146307..0b8a771 100644
--- a/gas/testsuite/gas/ia64/secname-ilp32.d
+++ b/gas/testsuite/gas/ia64/secname-ilp32.d
@@ -12,8 +12,8 @@ Section Headers:
   \[ 2\] .data             PROGBITS        00000000 000040 000000 00  WA  0   0  1
   \[ 3\] .bss              NOBITS          00000000 000040 000000 00  WA  0   0  1
   \[ 4\] .foo              PROGBITS        00000000 000040 000008 00  WA  0   0  8
-  \[ 5\] .shstrtab         STRTAB          00000000 [0-9a-f]+ 000031 00      0   0  1
-  \[ 6\] .symtab           SYMTAB          00000000 [0-9a-f]+ 000050 10      7   5  4
-  \[ 7\] .strtab           STRTAB          00000000 [0-9a-f]+ 000001 00      0   0  1
+  \[ 5\] .symtab           SYMTAB          00000000 [0-9a-f]+ 000050 10      6   5  4
+  \[ 6\] .strtab           STRTAB          00000000 [0-9a-f]+ 000001 00      0   0  1
+  \[ 7\] .shstrtab         STRTAB          00000000 [0-9a-f]+ 000031 00      0   0  1
 Key to Flags:
 #...
diff --git a/gas/testsuite/gas/ia64/secname.d b/gas/testsuite/gas/ia64/secname.d
index 79f1e33..9d02e1a 100644
--- a/gas/testsuite/gas/ia64/secname.d
+++ b/gas/testsuite/gas/ia64/secname.d
@@ -16,11 +16,11 @@ Section Headers:
        0000000000000000  0000000000000000  WA       0     0     1
   \[ 4\] \.foo              PROGBITS         0000000000000000  00000040
        0000000000000008  0000000000000000  WA       0     0     8
-  \[ 5\] \.shstrtab         STRTAB           0000000000000000  [0-9a-f]+
-       0000000000000031  0000000000000000           0     0     1
-  \[ 6\] \.symtab           SYMTAB           0000000000000000  .*
-       0000000000000078  0000000000000018           7     5     8
-  \[ 7\] \.strtab           STRTAB           0000000000000000  .*
+  \[ 5\] \.symtab           SYMTAB           0000000000000000  .*
+       0000000000000078  0000000000000018           6     5     8
+  \[ 6\] \.strtab           STRTAB           0000000000000000  .*
        0000000000000001  0000000000000000           0     0     1
+  \[ 7\] \.shstrtab         STRTAB           0000000000000000  [0-9a-f]+
+       0000000000000031  0000000000000000           0     0     1
 Key to Flags:
 #...
diff --git a/gas/testsuite/gas/ia64/unwind-ilp32.d b/gas/testsuite/gas/ia64/unwind-ilp32.d
index cd25b0d..e96f89b 100644
--- a/gas/testsuite/gas/ia64/unwind-ilp32.d
+++ b/gas/testsuite/gas/ia64/unwind-ilp32.d
@@ -13,8 +13,8 @@ Section Headers:
   \[ 3\] .bss              NOBITS          00000000 000040 000000 00  WA  0   0  1
   \[ 4\] .IA_64.unwind_inf PROGBITS        00000000 000040 000008 00   A  0   0  8
   \[ 5\] .IA_64.unwind     IA_64_UNWIND    00000000 000048 000008 00  AL  1   1  8
-  \[ 6\] .shstrtab         STRTAB          00000000 [0-9a-f]+ 00004d 00      0   0  1
-  \[ 7\] .symtab           SYMTAB          00000000 [0-9a-f]+ 000060 10      8   6  4
-  \[ 8\] .strtab           STRTAB          00000000 [0-9a-f]+ 000001 00      0   0  1
+  \[ 6\] .symtab           SYMTAB          00000000 [0-9a-f]+ 000060 10      7   6  4
+  \[ 7\] .strtab           STRTAB          00000000 [0-9a-f]+ 000001 00      0   0  1
+  \[ 8\] .shstrtab         STRTAB          00000000 [0-9a-f]+ 00004d 00      0   0  1
 Key to Flags:
 #...
diff --git a/gas/testsuite/gas/ia64/unwind.d b/gas/testsuite/gas/ia64/unwind.d
index ce71a7a..bdb7af8 100644
--- a/gas/testsuite/gas/ia64/unwind.d
+++ b/gas/testsuite/gas/ia64/unwind.d
@@ -18,11 +18,11 @@ Section Headers:
        0000000000000008  0000000000000000   A       0     0     8
   \[ 5\] \.IA_64\.unwind     IA_64_UNWIND     0000000000000000  00000048
        0000000000000008  0000000000000000  AL       1     1     8
-  \[ 6\] \.shstrtab         STRTAB           0000000000000000  [0-9a-f]+
-       000000000000004d  0000000000000000           0     0     1
-  \[ 7\] \.symtab           SYMTAB           0000000000000000  .*
-       0000000000000090  0000000000000018           8     6     8
-  \[ 8\] \.strtab           STRTAB           0000000000000000  .*
+  \[ 6\] \.symtab           SYMTAB           0000000000000000  .*
+       0000000000000090  0000000000000018           7     6     8
+  \[ 7\] \.strtab           STRTAB           0000000000000000  .*
        0000000000000001  0000000000000000           0     0     1
+  \[ 8\] \.shstrtab         STRTAB           0000000000000000  [0-9a-f]+
+       000000000000004d  0000000000000000           0     0     1
 Key to Flags:
 #...
diff --git a/gas/testsuite/gas/ia64/xdata-ilp32.d b/gas/testsuite/gas/ia64/xdata-ilp32.d
index 8c0bb30..e5dd507 100644
--- a/gas/testsuite/gas/ia64/xdata-ilp32.d
+++ b/gas/testsuite/gas/ia64/xdata-ilp32.d
@@ -23,7 +23,7 @@ Section Headers:
   \[13\] \.xreal\[4\]         PROGBITS        00000000 [[:xdigit:]]+ 000020 00   A  0   0 16
   \[14\] \.xstr<1>          PROGBITS        00000000 [[:xdigit:]]+ 000003 00   A  0   0  1
   \[15\] \.xstr\{2\}          PROGBITS        00000000 [[:xdigit:]]+ 000004 00   A  0   0  1
-  \[16\] .shstrtab         STRTAB          00000000 [[:xdigit:]]+ [[:xdigit:]]+ 00      0   0  1
-  \[17\] .symtab           SYMTAB          00000000 [[:xdigit:]]+ [[:xdigit:]]+ 10     18  15  4
-  \[18\] .strtab           STRTAB          00000000 [[:xdigit:]]+ [[:xdigit:]]+ 00      0   0  1
+  \[16\] .symtab           SYMTAB          00000000 [[:xdigit:]]+ [[:xdigit:]]+ 10     17  15  4
+  \[17\] .strtab           STRTAB          00000000 [[:xdigit:]]+ [[:xdigit:]]+ 00      0   0  1
+  \[18\] .shstrtab         STRTAB          00000000 [[:xdigit:]]+ [[:xdigit:]]+ 00      0   0  1
 #pass
diff --git a/gas/testsuite/gas/ia64/xdata.d b/gas/testsuite/gas/ia64/xdata.d
index dc23b78..eb12819 100644
--- a/gas/testsuite/gas/ia64/xdata.d
+++ b/gas/testsuite/gas/ia64/xdata.d
@@ -38,10 +38,10 @@ Section Headers:
        0000000000000003  0000000000000000   A       0     0     1
   \[15\] \.xstr\{2\}          PROGBITS         0000000000000000  [[:xdigit:]]+
        0000000000000004  0000000000000000   A       0     0     1
-  \[16\] \.shstrtab         STRTAB           0000000000000000  [[:xdigit:]]+
+  \[16\] \.symtab           SYMTAB           0000000000000000  [[:xdigit:]]+
+       [[:xdigit:]]+  0000000000000018          17    15     8
+  \[17\] \.strtab           STRTAB           0000000000000000  [[:xdigit:]]+
        [[:xdigit:]]+  0000000000000000           0     0     1
-  \[17\] \.symtab           SYMTAB           0000000000000000  [[:xdigit:]]+
-       [[:xdigit:]]+  0000000000000018          18    15     8
-  \[18\] \.strtab           STRTAB           0000000000000000  [[:xdigit:]]+
+  \[18\] \.shstrtab         STRTAB           0000000000000000  [[:xdigit:]]+
        [[:xdigit:]]+  0000000000000000           0     0     1
 #pass
diff --git a/gas/testsuite/gas/mmix/bspec-1.d b/gas/testsuite/gas/mmix/bspec-1.d
index a18d242..4bbda8d 100644
--- a/gas/testsuite/gas/mmix/bspec-1.d
+++ b/gas/testsuite/gas/mmix/bspec-1.d
@@ -4,7 +4,7 @@ There are 9 section headers, starting at offset .*:
  +\[ 4\] \.MMIX\.spec_data\.2 +PROGBITS +0+ +0+44
  +0+4 +0+ +0 +0 +4
  +\[ 5\] \.rela\.MMIX\.spec_d +RELA +0+ +.*
- +0+18 +0+18 +I +7 +4 +8
+ +0+18 +0+18 +I +6 +4 +8
 #...
 Relocation section '\.rela\.MMIX\.spec_data\.2' at offset 0x[0-9a-f]+ contains 1 entries:
 .*
diff --git a/gas/testsuite/gas/mmix/bspec-2.d b/gas/testsuite/gas/mmix/bspec-2.d
index a9ce03d..ab3afd3 100644
--- a/gas/testsuite/gas/mmix/bspec-2.d
+++ b/gas/testsuite/gas/mmix/bspec-2.d
@@ -4,11 +4,11 @@ There are 11 section headers, starting at offset .*:
   \[ 4\] \.MMIX\.spec_data\.2 PROGBITS         0+  0+48
        0+10  0+           0     0     8
   \[ 5\] \.rela\.MMIX\.spec_d RELA             0+  .*
- +0+30  0+18 +I +9 +4 +8
+ +0+30  0+18 +I +8 +4 +8
   \[ 6\] \.MMIX\.spec_data\.3 PROGBITS         0+  0+58
        0+8  0+           0     0     8
   \[ 7\] \.rela\.MMIX\.spec_d RELA             0+  .*
- +0+18 +0+18 +I +9 +6 +8
+ +0+18 +0+18 +I +8 +6 +8
 #...
 Relocation section '\.rela\.MMIX\.spec_data\.2' at offset .* contains 2 entries:
 .*
diff --git a/gas/testsuite/gas/mmix/byte-1.d b/gas/testsuite/gas/mmix/byte-1.d
index b6c2768..a77eb08 100644
--- a/gas/testsuite/gas/mmix/byte-1.d
+++ b/gas/testsuite/gas/mmix/byte-1.d
@@ -12,12 +12,12 @@ Section Headers:
  +0000000000000000 +0000000000000000 +WA +0 +0 +1
  +\[ 3\] \.bss +NOBITS +0000000000000000 +00000056
  +0000000000000000 +0000000000000000 +WA +0 +0 +1
- +\[ 4\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
- +000000000000002c +0000000000000000 +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
- +00000000000000c0 +0000000000000018 +6 +7 +8
- +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
+ +\[ 4\] \.symtab +SYMTAB +0000000000000000 .*
+ +00000000000000c0 +0000000000000018 +5 +7 +8
+ +\[ 5\] \.strtab +STRTAB +0000000000000000 .*
  +0000000000000018 +0000000000000000 +0 +0 +1
+ +\[ 6\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
+ +000000000000002c +0000000000000000 +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/gas/testsuite/gas/mmix/loc-1.d b/gas/testsuite/gas/mmix/loc-1.d
index e45b1d5..e46247d 100644
--- a/gas/testsuite/gas/mmix/loc-1.d
+++ b/gas/testsuite/gas/mmix/loc-1.d
@@ -13,12 +13,12 @@ Section Headers:
  +0000000000000004 +0000000000000000 +WA +0 +0 +4
  +\[ 3\] \.bss +NOBITS +0000000000000000 +00000064
  +0000000000000000 +0000000000000000 +WA +0 +0 +1
- +\[ 4\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
- +000000000000002c +0000000000000000 +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
- +00000000000000c0 +0000000000000018 +6 +6 +8
- +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
+ +\[ 4\] \.symtab +SYMTAB +0000000000000000 .*
+ +00000000000000c0 +0000000000000018 +5 +6 +8
+ +\[ 5\] \.strtab +STRTAB +0000000000000000 .*
  +000000000000002a +0000000000000000 +0 +0 +1
+ +\[ 6\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
+ +000000000000002c +0000000000000000 +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/gas/testsuite/gas/mmix/loc-2.d b/gas/testsuite/gas/mmix/loc-2.d
index b92cabb..8d7ec8b 100644
--- a/gas/testsuite/gas/mmix/loc-2.d
+++ b/gas/testsuite/gas/mmix/loc-2.d
@@ -13,12 +13,12 @@ Section Headers:
  +0000000000000000 +0000000000000000 +WA +0 +0 +1
  +\[ 3\] \.bss +NOBITS +0000000000000000 +00000048
  +0000000000000000 +0000000000000000 +WA +0 +0 +1
- +\[ 4\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
- +000000000000002c +0000000000000000 +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
- +0000000000000090 +0000000000000018 +6 +4 +8
- +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
+ +\[ 4\] \.symtab +SYMTAB +0000000000000000 .*
+ +0000000000000090 +0000000000000018 +5 +4 +8
+ +\[ 5\] \.strtab +STRTAB +0000000000000000 .*
  +000000000000001a +0000000000000000 +0 +0 +1
+ +\[ 6\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
+ +000000000000002c +0000000000000000 +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/gas/testsuite/gas/mmix/loc-3.d b/gas/testsuite/gas/mmix/loc-3.d
index 2c477db..14a68fa 100644
--- a/gas/testsuite/gas/mmix/loc-3.d
+++ b/gas/testsuite/gas/mmix/loc-3.d
@@ -12,12 +12,12 @@ Section Headers:
  +0000000000000008 +0000000000000000 +WA +0 +0 +4
  +\[ 3\] \.bss +NOBITS +0000000000000000 +00000054
  +0000000000000000 +0000000000000000 +WA +0 +0 +1
- +\[ 4\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
- +000000000000002c +0000000000000000 +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
- +00000000000000c0 +0000000000000018 +6 +5 +8
- +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
+ +\[ 4\] \.symtab +SYMTAB +0000000000000000 .*
+ +00000000000000c0 +0000000000000018 +5 +5 +8
+ +\[ 5\] \.strtab +STRTAB +0000000000000000 .*
  +000000000000002e +0000000000000000 +0 +0 +1
+ +\[ 6\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
+ +000000000000002c +0000000000000000 +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/gas/testsuite/gas/mmix/loc-4.d b/gas/testsuite/gas/mmix/loc-4.d
index 1efc084..935cc18 100644
--- a/gas/testsuite/gas/mmix/loc-4.d
+++ b/gas/testsuite/gas/mmix/loc-4.d
@@ -12,12 +12,12 @@ Section Headers:
  +0000000000000004 +0000000000000000 +WA +0 +0 +4
  +\[ 3\] \.bss +NOBITS +0000000000000000 +0000005c
  +0000000000000000 +0000000000000000 +WA +0 +0 +1
- +\[ 4\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
- +000000000000002c +0000000000000000 +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
- +00000000000000c0 +0000000000000018 +6 +5 +8
- +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
+ +\[ 4\] \.symtab +SYMTAB +0000000000000000 .*
+ +00000000000000c0 +0000000000000018 +5 +5 +8
+ +\[ 5\] \.strtab +STRTAB +0000000000000000 .*
  +000000000000003b +0000000000000000 +0 +0 +1
+ +\[ 6\] \.shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
+ +000000000000002c +0000000000000000 +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/gas/testsuite/gas/mmix/loc-5.d b/gas/testsuite/gas/mmix/loc-5.d
index fa80a86..a8e7545 100644
--- a/gas/testsuite/gas/mmix/loc-5.d
+++ b/gas/testsuite/gas/mmix/loc-5.d
@@ -12,12 +12,12 @@ Section Headers:
  +0+24 +0+ +WA +0 +0 +4
  +\[ 3\] \.bss +NOBITS +0+ +0+6c
  +0+ +0+ +WA +0 +0 +1
- +\[ 4\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
- +0+2c +0+ +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0+ .*
- +0+c0 +0+18 +6 +6 +8
- +\[ 6\] \.strtab +STRTAB +0+ .*
+ +\[ 4\] \.symtab +SYMTAB +0+ .*
+ +0+c0 +0+18 +5 +6 +8
+ +\[ 5\] \.strtab +STRTAB +0+ .*
  +0+27 +0+ +0 +0 +1
+ +\[ 6\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
+ +0+2c +0+ +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/gas/testsuite/gas/tic6x/scomm-directive-4.d b/gas/testsuite/gas/tic6x/scomm-directive-4.d
index 7822e8f..219673d 100644
--- a/gas/testsuite/gas/tic6x/scomm-directive-4.d
+++ b/gas/testsuite/gas/tic6x/scomm-directive-4.d
@@ -12,9 +12,9 @@ Section Headers:
   \[ 2\] \.data             PROGBITS        00000000 000034 000000 00  WA  0   0  1
   \[ 3\] \.bss              NOBITS          00000000 000034 000000 00  WA  0   0  1
   \[ 4\] \.c6xabi\.attribute C6000_ATTRIBUTE 00000000 000034 000013 00      0   0  1
-  \[ 5\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00003f 00      0   0  1
-  \[ 6\] \.symtab           SYMTAB          00000000 [0-9a-f]+ 0000d0 10      7   5  4
-  \[ 7\] \.strtab           STRTAB          00000000 [0-9a-f]+ 00001d 00      0   0  1
+  \[ 5\] \.symtab           SYMTAB          00000000 [0-9a-f]+ 0000d0 10      6   5  4
+  \[ 6\] \.strtab           STRTAB          00000000 [0-9a-f]+ 00001d 00      0   0  1
+  \[ 7\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00003f 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-alpha/tlsbin.rd b/ld/testsuite/ld-alpha/tlsbin.rd
index 2184e5e..21fb11a 100644
--- a/ld/testsuite/ld-alpha/tlsbin.rd
+++ b/ld/testsuite/ld-alpha/tlsbin.rd
@@ -24,9 +24,9 @@ Section Headers:
  +\[[ 0-9]+\] .tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 WAT +0 +0 +1
  +\[[ 0-9]+\] .dynamic +DYNAMIC +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 10 +WA +4 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
diff --git a/ld/testsuite/ld-alpha/tlsbinr.rd b/ld/testsuite/ld-alpha/tlsbinr.rd
index 0329ba9..8b7b76a 100644
--- a/ld/testsuite/ld-alpha/tlsbinr.rd
+++ b/ld/testsuite/ld-alpha/tlsbinr.rd
@@ -24,9 +24,9 @@ Section Headers:
  +\[[ 0-9]+\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 0+ WAT +0 +0 +1
  +\[[ 0-9]+\] \.dynamic +DYNAMIC +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 10 +WA +4 +0 +8
  +\[[ 0-9]+\] \.got +PROGBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 0+ +WA +0 +0 +8
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
diff --git a/ld/testsuite/ld-alpha/tlspic.rd b/ld/testsuite/ld-alpha/tlspic.rd
index 7a97847..f1fb974 100644
--- a/ld/testsuite/ld-alpha/tlspic.rd
+++ b/ld/testsuite/ld-alpha/tlspic.rd
@@ -23,9 +23,9 @@ Section Headers:
  +\[[ 0-9]+\] .tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 0+ WAT +0 +0 +1
  +\[[ 0-9]+\] .dynamic +DYNAMIC +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 10 +WA +3 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 0+ +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 
 Elf file type is DYN \(Shared object file\)
diff --git a/ld/testsuite/ld-cris/libdso-2.d b/ld/testsuite/ld-cris/libdso-2.d
index 3b4777a..aa4a7c8 100644
--- a/ld/testsuite/ld-cris/libdso-2.d
+++ b/ld/testsuite/ld-cris/libdso-2.d
@@ -21,9 +21,9 @@ There are 13 section headers.*
  +\[ 7\] \.text +PROGBITS .*
  +\[ 8\] \.dynamic +DYNAMIC +.*
  +\[ 9\] \.got +PROGBITS .*
- +\[10\] \.shstrtab +STRTAB +.*
- +\[11\] \.symtab +SYMTAB +.*
- +\[12\] \.strtab +STRTAB +.*
+ +\[10\] \.symtab +SYMTAB +.*
+ +\[11\] \.strtab +STRTAB +.*
+ +\[12\] \.shstrtab +STRTAB +.*
 #...
 Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
 #...
diff --git a/ld/testsuite/ld-i386/nogot1.d b/ld/testsuite/ld-i386/nogot1.d
index a6c8832..018c24d 100644
--- a/ld/testsuite/ld-i386/nogot1.d
+++ b/ld/testsuite/ld-i386/nogot1.d
@@ -4,5 +4,6 @@
 
 #...
 [ 	]*\[.*\][ 	]+\.dynamic[ 	]+DYNAMIC.*
+#...
 [ 	]*\[.*\][ 	]+.*STRTAB.*
 #pass
diff --git a/ld/testsuite/ld-i386/pr12718.d b/ld/testsuite/ld-i386/pr12718.d
index 87905c3..ec51540 100644
--- a/ld/testsuite/ld-i386/pr12718.d
+++ b/ld/testsuite/ld-i386/pr12718.d
@@ -9,8 +9,8 @@ Section Headers:
  +\[Nr\] Name +Type +Addr +Off +Size +ES +Flg +Lk +Inf +Al
  +\[ 0\] +NULL +0+ +0+ +0+ +0+ +0 +0 +0
  +\[ 1\] +.text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +000006 00 +AX +0 +0 +1
- +\[ 2\] +.shstrtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +0+ +0 +0 +1
- +\[ 3\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 10 +4 +[0-9] +4
- +\[ 4\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1
+ +\[ 2\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 10 +3 +[0-9] +4
+ +\[ 3\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1
+ +\[ 4\] +.shstrtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +0+ +0 +0 +1
 Key to Flags:
 #pass
diff --git a/ld/testsuite/ld-i386/pr12921.d b/ld/testsuite/ld-i386/pr12921.d
index c72b04c..e49079b 100644
--- a/ld/testsuite/ld-i386/pr12921.d
+++ b/ld/testsuite/ld-i386/pr12921.d
@@ -11,8 +11,8 @@ Section Headers:
  +\[ 1\] .text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+1 00 +AX +0 +0 +4096
  +\[ 2\] .data +PROGBITS +[0-9a-f]+ +[0-9a-f]+000 +0+20 +00 +WA +0 +0 +4096
  +\[ 3\] .bss +NOBITS +[0-9a-f]+ +[0-9a-f]+020 +0+10000 +00 +WA +0 +0 +4096
- +\[ 4\] .shstrtab +STRTAB +0+ +[0-9a-f]+ +0+2c +00 +0 +0 +1
- +\[ 5\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +10 +6 +[0-9] +4
- +\[ 6\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
+ +\[ 4\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +10 +5 +[0-9] +4
+ +\[ 5\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
+ +\[ 6\] .shstrtab +STRTAB +0+ +[0-9a-f]+ +0+2c +00 +0 +0 +1
 Key to Flags:
 #pass
diff --git a/ld/testsuite/ld-i386/tlsbin-nacl.rd b/ld/testsuite/ld-i386/tlsbin-nacl.rd
index 1e1cf7c..89a0673 100644
--- a/ld/testsuite/ld-i386/tlsbin-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsbin-nacl.rd
@@ -23,9 +23,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10031060 .*
  +\[[ 0-9]+\] \.got +PROGBITS +0*10031100 .*
  +\[[ 0-9]+\] \.got\.plt +PROGBITS +0*10031124 .*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsbin.rd b/ld/testsuite/ld-i386/tlsbin.rd
index 12b3e81..23fffd1 100644
--- a/ld/testsuite/ld-i386/tlsbin.rd
+++ b/ld/testsuite/ld-i386/tlsbin.rd
@@ -23,9 +23,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +DYNAMIC +0+804a060 .*
  +\[[ 0-9]+\] \.got +PROGBITS +0+804a100 .*
  +\[[ 0-9]+\] \.got\.plt +PROGBITS +0+804a124 .*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsbin2-nacl.rd b/ld/testsuite/ld-i386/tlsbin2-nacl.rd
index b23bfe0..0011716 100644
--- a/ld/testsuite/ld-i386/tlsbin2-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsbin2-nacl.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10031060 .*
  +\[[ 0-9]+\] \.got +PROGBITS +0*100310e0 .*
  +\[[ 0-9]+\] \.got\.plt +PROGBITS +0*10031108 .*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsbin2.rd b/ld/testsuite/ld-i386/tlsbin2.rd
index 05d4ddb..e34d167 100644
--- a/ld/testsuite/ld-i386/tlsbin2.rd
+++ b/ld/testsuite/ld-i386/tlsbin2.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +DYNAMIC +0+804a060 .*
  +\[[ 0-9]+\] \.got +PROGBITS +0+804a0e0 .*
  +\[[ 0-9]+\] \.got\.plt +PROGBITS +0+804a108 .*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsbindesc-nacl.rd b/ld/testsuite/ld-i386/tlsbindesc-nacl.rd
index 51cffc0..39c60a5 100644
--- a/ld/testsuite/ld-i386/tlsbindesc-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsbindesc-nacl.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10031060 .*
  +\[[ 0-9]+\] \.got +PROGBITS +0*100310e0 .*
  +\[[ 0-9]+\] \.got\.plt +PROGBITS +0*10031104 .*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsbindesc.rd b/ld/testsuite/ld-i386/tlsbindesc.rd
index 7f7194c..7cc85f1 100644
--- a/ld/testsuite/ld-i386/tlsbindesc.rd
+++ b/ld/testsuite/ld-i386/tlsbindesc.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +DYNAMIC +0+804a060 .*
  +\[[ 0-9]+\] \.got +PROGBITS +0+804a0e0 .*
  +\[[ 0-9]+\] \.got\.plt +PROGBITS +0+804a104 .*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsdesc-nacl.rd b/ld/testsuite/ld-i386/tlsdesc-nacl.rd
index b28744f..20c8ea2 100644
--- a/ld/testsuite/ld-i386/tlsdesc-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsdesc-nacl.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +.*
  +\[[ 0-9]+\] \.got +.*
  +\[[ 0-9]+\] \.got.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsdesc.rd b/ld/testsuite/ld-i386/tlsdesc.rd
index 68695ff..3486847 100644
--- a/ld/testsuite/ld-i386/tlsdesc.rd
+++ b/ld/testsuite/ld-i386/tlsdesc.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +.*
  +\[[ 0-9]+\] \.got +.*
  +\[[ 0-9]+\] \.got.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsgdesc-nacl.rd b/ld/testsuite/ld-i386/tlsgdesc-nacl.rd
index ba5fa62..407bf2c 100644
--- a/ld/testsuite/ld-i386/tlsgdesc-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsgdesc-nacl.rd
@@ -19,9 +19,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +.*
  +\[[ 0-9]+\] \.got +.*
  +\[[ 0-9]+\] \.got.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsgdesc.rd b/ld/testsuite/ld-i386/tlsgdesc.rd
index 929ffa2..269cede 100644
--- a/ld/testsuite/ld-i386/tlsgdesc.rd
+++ b/ld/testsuite/ld-i386/tlsgdesc.rd
@@ -19,9 +19,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +.*
  +\[[ 0-9]+\] \.got +.*
  +\[[ 0-9]+\] \.got.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsnopic-nacl.rd b/ld/testsuite/ld-i386/tlsnopic-nacl.rd
index b14164a..15e7eea 100644
--- a/ld/testsuite/ld-i386/tlsnopic-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsnopic-nacl.rd
@@ -19,9 +19,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10010284 .*
  +\[[ 0-9]+\] \.got +PROGBITS +0*10010304 .*
  +\[[ 0-9]+\] \.got.plt +PROGBITS +0*1001031c .*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlsnopic.rd b/ld/testsuite/ld-i386/tlsnopic.rd
index b754158..b60fb1d 100644
--- a/ld/testsuite/ld-i386/tlsnopic.rd
+++ b/ld/testsuite/ld-i386/tlsnopic.rd
@@ -19,9 +19,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +DYNAMIC +0+20f4 .*
  +\[[ 0-9]+\] \.got +PROGBITS +0+2174 .*
  +\[[ 0-9]+\] \.got.plt +PROGBITS +0+218c .*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlspic-nacl.rd b/ld/testsuite/ld-i386/tlspic-nacl.rd
index b7d3e35..9645e35 100644
--- a/ld/testsuite/ld-i386/tlspic-nacl.rd
+++ b/ld/testsuite/ld-i386/tlspic-nacl.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +.*
  +\[[ 0-9]+\] \.got +.*
  +\[[ 0-9]+\] \.got.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlspic.rd b/ld/testsuite/ld-i386/tlspic.rd
index f693760..6b915e5 100644
--- a/ld/testsuite/ld-i386/tlspic.rd
+++ b/ld/testsuite/ld-i386/tlspic.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +.*
  +\[[ 0-9]+\] \.got +.*
  +\[[ 0-9]+\] \.got.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlspic2-nacl.rd b/ld/testsuite/ld-i386/tlspic2-nacl.rd
index 560e840..5fb6ba6 100644
--- a/ld/testsuite/ld-i386/tlspic2-nacl.rd
+++ b/ld/testsuite/ld-i386/tlspic2-nacl.rd
@@ -20,9 +20,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +.*
  +\[[ 0-9]+\] \.got +.*
  +\[[ 0-9]+\] \.got.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-i386/tlspic2.rd b/ld/testsuite/ld-i386/tlspic2.rd
index a135547..ab00063 100644
--- a/ld/testsuite/ld-i386/tlspic2.rd
+++ b/ld/testsuite/ld-i386/tlspic2.rd
@@ -20,9 +20,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +.*
  +\[[ 0-9]+\] \.got +.*
  +\[[ 0-9]+\] \.got.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-ia64/tlsbin.rd b/ld/testsuite/ld-ia64/tlsbin.rd
index ab2dacd..08c6a59 100644
--- a/ld/testsuite/ld-ia64/tlsbin.rd
+++ b/ld/testsuite/ld-ia64/tlsbin.rd
@@ -25,9 +25,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +60+1[0-9a-f]+ 0+1[0-9a-f]+ 0+150 10 +WA +4 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +60+1318 0+1318 0+48 00 WAp +0 +0 +8
  +\[[ 0-9]+\] .IA_64.pltoff +.*
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
diff --git a/ld/testsuite/ld-ia64/tlspic.rd b/ld/testsuite/ld-ia64/tlspic.rd
index 9666f86..cfcf8ed 100644
--- a/ld/testsuite/ld-ia64/tlspic.rd
+++ b/ld/testsuite/ld-ia64/tlspic.rd
@@ -24,9 +24,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+11[0-9a-f]+ 0+1[0-9a-f]+ 0+140 10 +WA +3 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+112d8 0+12d8 0+50 00 WAp +0 +0 +8
  +\[[ 0-9]+\] .IA_64.pltoff +.*
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d
index e3a1c9c..8827e41 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d
@@ -22,7 +22,7 @@ ELF Header:
   Number of program headers:         0
   Size of section headers:           40 \(bytes\)
   Number of section headers:         11
-  Section header string table index: 8
+  Section header string table index: 10
 
 Attribute Section: gnu
 File Attributes
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d
index 5dc46d3..1fcab63 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d
@@ -22,7 +22,7 @@ ELF Header:
   Number of program headers:         0
   Size of section headers:           40 \(bytes\)
   Number of section headers:         11
-  Section header string table index: 8
+  Section header string table index: 10
 Attribute Section: gnu
 File Attributes
   Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, Any FPU\)
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d
index ea80c18..48a9839 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d
@@ -22,7 +22,7 @@ ELF Header:
   Number of program headers:         0
   Size of section headers:           40 \(bytes\)
   Number of section headers:         11
-  Section header string table index: 8
+  Section header string table index: 10
 Attribute Section: gnu
 File Attributes
   Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\)
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d
index edbd61f..ca17421 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d
@@ -22,7 +22,7 @@ ELF Header:
   Number of program headers:         0
   Size of section headers:           40 \(bytes\)
   Number of section headers:         11
-  Section header string table index: 8
+  Section header string table index: 10
 Attribute Section: gnu
 File Attributes
   Tag_GNU_MIPS_ABI_FP: Hard float compat \(32-bit CPU, 64-bit FPU\)
diff --git a/ld/testsuite/ld-mmix/bspec1.d b/ld/testsuite/ld-mmix/bspec1.d
index 6440bbe..3d07d2d 100644
--- a/ld/testsuite/ld-mmix/bspec1.d
+++ b/ld/testsuite/ld-mmix/bspec1.d
@@ -14,12 +14,12 @@ Section Headers:
  +0+4 +0+ +AX +0 +0 +4
  +\[ 2\] \.MMIX\.spec_data\.2 PROGBITS +0+ +0+7c
  +0+4 +0+ +0 +0 +4
- +\[ 3\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
- +0+33 +0+ +0 +0 +1
- +\[ 4\] \.symtab +SYMTAB +0+ .*
- +0+d8 +0+18 +5 +3 +8
- +\[ 5\] \.strtab +STRTAB +0+ .*
+ +\[ 3\] \.symtab +SYMTAB +0+ .*
+ +0+d8 +0+18 +4 +3 +8
+ +\[ 4\] \.strtab +STRTAB +0+ .*
  +0+26 +0+ +0 +0 +1
+ +\[ 5\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
+ +0+33 +0+ +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-mmix/bspec2.d b/ld/testsuite/ld-mmix/bspec2.d
index e881b08..b18fe47 100644
--- a/ld/testsuite/ld-mmix/bspec2.d
+++ b/ld/testsuite/ld-mmix/bspec2.d
@@ -19,12 +19,12 @@ Section Headers:
  +0+8 +0+ +0 +0 +4
  +\[ 3\] \.MMIX\.spec_data\.3 PROGBITS +0+ +0+84
  +0+4 +0+ +0 +0 +4
- +\[ 4\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
- +0+45 +0+ +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0+ .*
- +0+108 +0+18 +6 +4 +8
- +\[ 6\] \.strtab +STRTAB +0+ .*
+ +\[ 4\] \.symtab +SYMTAB +0+ .*
+ +0+108 +0+18 +5 +4 +8
+ +\[ 5\] \.strtab +STRTAB +0+ .*
  +0+2b +0+ +0 +0 +1
+ +\[ 6\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
+ +0+45 +0+ +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-mmix/local1.d b/ld/testsuite/ld-mmix/local1.d
index 478d17b..41a67c2 100644
--- a/ld/testsuite/ld-mmix/local1.d
+++ b/ld/testsuite/ld-mmix/local1.d
@@ -21,12 +21,12 @@ Section Headers:
  +0+8 +0+ +AX +0 +0 +4
  +\[ 2\] \.MMIX\.reg_content PROGBITS +0+7e8 +0+80
  +0+10 +0+ +W +0 +0 +1
- +\[ 3\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
- +0+34 +0+ +0 +0 +1
- +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+
- +[0-9a-f]+ +0+18 +5 +[0-9] +8
- +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+
+ +\[ 3\] \.symtab +SYMTAB +0+ +[0-9a-f]+
+ +[0-9a-f]+ +0+18 +4 +[0-9] +8
+ +\[ 4\] \.strtab +STRTAB +0+ +[0-9a-f]+
  +[0-9a-f]+ +0+ +0 +0 +1
+ +\[ 5\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
+ +0+34 +0+ +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-mmix/local3.d b/ld/testsuite/ld-mmix/local3.d
index 9b9001a..74840d3 100644
--- a/ld/testsuite/ld-mmix/local3.d
+++ b/ld/testsuite/ld-mmix/local3.d
@@ -19,12 +19,12 @@ Section Headers:
  +0+8 +0+ +AX +0 +0 +4
  +\[ 2\] \.MMIX\.reg_content PROGBITS +0+7e8 +0+80
  +0+10 +0+ +W +0 +0 +1
- +\[ 3\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
- +0+34 +0+ +0 +0 +1
- +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+
- +[0-9a-f]+ +0+18 +5 +[0-9] +8
- +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+
+ +\[ 3\] \.symtab +SYMTAB +0+ +[0-9a-f]+
+ +[0-9a-f]+ +0+18 +4 +[0-9] +8
+ +\[ 4\] \.strtab +STRTAB +0+ +[0-9a-f]+
  +[0-9a-f]+ +0+ +0 +0 +1
+ +\[ 5\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
+ +0+34 +0+ +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-mmix/local5.d b/ld/testsuite/ld-mmix/local5.d
index 93bacd3..ae81364 100644
--- a/ld/testsuite/ld-mmix/local5.d
+++ b/ld/testsuite/ld-mmix/local5.d
@@ -20,12 +20,12 @@ Section Headers:
  +0+c +0+ +AX +0 +0 +4
  +\[ 2\] \.MMIX\.reg_content PROGBITS +0+7e8 +0+84
  +0+10 +0+ +W +0 +0 +1
- +\[ 3\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
- +0+34 +0+ +0 +0 +1
- +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+
- +[0-9a-f]+ +0+18 +5 +[0-9] +8
- +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+
+ +\[ 3\] \.symtab +SYMTAB +0+ +[0-9a-f]+
+ +[0-9a-f]+ +0+18 +4 +[0-9] +8
+ +\[ 4\] \.strtab +STRTAB +0+ +[0-9a-f]+
  +[0-9a-f]+ +0+ +0 +0 +1
+ +\[ 5\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
+ +0+34 +0+ +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-mmix/local7.d b/ld/testsuite/ld-mmix/local7.d
index 1495bf1..6d80cc9 100644
--- a/ld/testsuite/ld-mmix/local7.d
+++ b/ld/testsuite/ld-mmix/local7.d
@@ -21,12 +21,12 @@ Section Headers:
  +0+c +0+ +AX +0 +0 +4
  +\[ 2\] \.MMIX\.reg_content PROGBITS +0+7e8 +0+84
  +0+10 +0+ +W +0 +0 +1
- +\[ 3\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
- +0+34 +0+ +0 +0 +1
- +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+
- +[0-9a-f]+ +0+18 +5 +[0-9] +8
- +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+
+ +\[ 3\] \.symtab +SYMTAB +0+ +[0-9a-f]+
+ +[0-9a-f]+ +0+18 +4 +[0-9] +8
+ +\[ 4\] \.strtab +STRTAB +0+ +[0-9a-f]+
  +[0-9a-f]+ +0+ +0 +0 +1
+ +\[ 5\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
+ +0+34 +0+ +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-mmix/undef-3.d b/ld/testsuite/ld-mmix/undef-3.d
index 94eeeaa..6afb52b 100644
--- a/ld/testsuite/ld-mmix/undef-3.d
+++ b/ld/testsuite/ld-mmix/undef-3.d
@@ -11,11 +11,11 @@ Section Headers:
  +0+ +0+ +0 +0 +0
  +\[ 1\] \.text +PROGBITS +0+ +0+78
  +0+4 +0+ +AX +0 +0 +4
- +\[ 2\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
+ +\[ 2\] \.symtab +SYMTAB +0+ .*
+ +0+a8 +0+18 +3 +2 +8
+ +\[ 3\] \.strtab +STRTAB +0+ .*
  +0+21 +0+ +0 +0 +1
- +\[ 3\] \.symtab +SYMTAB +0+ .*
- +0+a8 +0+18 +4 +2 +8
- +\[ 4\] \.strtab +STRTAB +0+ .*
+ +\[ 4\] \.shstrtab +STRTAB +0+ +[0-9a-f]+
  +0+21 +0+ +0 +0 +1
 Key to Flags:
 #...
diff --git a/ld/testsuite/ld-powerpc/tlsexe.r b/ld/testsuite/ld-powerpc/tlsexe.r
index db72ad7..11da4a8 100644
--- a/ld/testsuite/ld-powerpc/tlsexe.r
+++ b/ld/testsuite/ld-powerpc/tlsexe.r
@@ -23,9 +23,9 @@ Section Headers:
  +\[[ 0-9]+\] \.opd .*
  +\[[ 0-9]+\] \.got +PROGBITS .* 0+30 08 +WA +0 +0 +256
  +\[[ 0-9]+\] \.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.r b/ld/testsuite/ld-powerpc/tlsexetoc.r
index 56716bb..5c4a490 100644
--- a/ld/testsuite/ld-powerpc/tlsexetoc.r
+++ b/ld/testsuite/ld-powerpc/tlsexetoc.r
@@ -23,9 +23,9 @@ Section Headers:
  +\[[ 0-9]+\] \.opd .*
  +\[[ 0-9]+\] \.got +PROGBITS .* 0+58 08 +WA +0 +0 +256
  +\[[ 0-9]+\] \.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
diff --git a/ld/testsuite/ld-powerpc/tlsso.r b/ld/testsuite/ld-powerpc/tlsso.r
index fd3002b..4ba6173 100644
--- a/ld/testsuite/ld-powerpc/tlsso.r
+++ b/ld/testsuite/ld-powerpc/tlsso.r
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] \.opd .*
  +\[[ 0-9]+\] \.got .*
  +\[[ 0-9]+\] \.plt .*
- +\[[ 0-9]+\] \.shstrtab .*
  +\[[ 0-9]+\] \.symtab .*
  +\[[ 0-9]+\] \.strtab .*
+ +\[[ 0-9]+\] \.shstrtab .*
 #...
 
 Elf file type is DYN \(Shared object file\)
diff --git a/ld/testsuite/ld-s390/tlsbin.rd b/ld/testsuite/ld-s390/tlsbin.rd
index 32c883a..b45fc29 100644
--- a/ld/testsuite/ld-s390/tlsbin.rd
+++ b/ld/testsuite/ld-s390/tlsbin.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] .tbss +NOBITS .* 0+40 00 WAT +0 +0 +1
  +\[[ 0-9]+\] .dynamic +DYNAMIC .*
  +\[[ 0-9]+\] .got +PROGBITS .*
- +\[[ 0-9]+\] .shstrtab .*
  +\[[ 0-9]+\] .symtab .*
  +\[[ 0-9]+\] .strtab .*
+ +\[[ 0-9]+\] .shstrtab .*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-s390/tlsbin_64.rd b/ld/testsuite/ld-s390/tlsbin_64.rd
index 38d5789..f7caa16 100644
--- a/ld/testsuite/ld-s390/tlsbin_64.rd
+++ b/ld/testsuite/ld-s390/tlsbin_64.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] .tbss +NOBITS .* 0+40 00 WAT +0 +0 +1
  +\[[ 0-9]+\] .dynamic +DYNAMIC .*
  +\[[ 0-9]+\] .got +PROGBITS .*
- +\[[ 0-9]+\] .shstrtab .*
  +\[[ 0-9]+\] .symtab .*
  +\[[ 0-9]+\] .strtab .*
+ +\[[ 0-9]+\] .shstrtab .*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-s390/tlspic.rd b/ld/testsuite/ld-s390/tlspic.rd
index 07d29c2..5159863 100644
--- a/ld/testsuite/ld-s390/tlspic.rd
+++ b/ld/testsuite/ld-s390/tlspic.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] .tbss +NOBITS .* 0+20 00 WAT +0 +0 +1
  +\[[ 0-9]+\] .dynamic +DYNAMIC .*
  +\[[ 0-9]+\] .got +PROGBITS .*
- +\[[ 0-9]+\] .shstrtab .*
  +\[[ 0-9]+\] .symtab .*
  +\[[ 0-9]+\] .strtab .*
+ +\[[ 0-9]+\] .shstrtab .*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-s390/tlspic_64.rd b/ld/testsuite/ld-s390/tlspic_64.rd
index 6197f8a..7f8dc1b 100644
--- a/ld/testsuite/ld-s390/tlspic_64.rd
+++ b/ld/testsuite/ld-s390/tlspic_64.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] .tbss +NOBITS .* 0+20 00 WAT +0 +0 +1
  +\[[ 0-9]+\] .dynamic +DYNAMIC .*
  +\[[ 0-9]+\] .got +PROGBITS .*
- +\[[ 0-9]+\] .shstrtab .*
  +\[[ 0-9]+\] .symtab .*
  +\[[ 0-9]+\] .strtab .*
+ +\[[ 0-9]+\] .shstrtab .*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-sh/sh64/crange1.rd b/ld/testsuite/ld-sh/sh64/crange1.rd
index e22d502..83c1e9b 100644
--- a/ld/testsuite/ld-sh/sh64/crange1.rd
+++ b/ld/testsuite/ld-sh/sh64/crange1.rd
@@ -7,9 +7,9 @@ Section Headers:
  +\[ 2\] \.text +PROGBITS +00001004 000084 000018 00 AXp +0 +0 +4
  +\[ 3\] \.stack +PROGBITS +00080000 000100 000004 00 +WA +0 +0 +1
  +\[ 4\] \.cranges +LOUSER\+1 +00000000 000104 00001e 00 +W +0 +0 +1
- +\[ 5\] \.shstrtab +STRTAB +.*
- +\[ 6\] \.symtab +SYMTAB +.*
- +\[ 7\] \.strtab +STRTAB +.*
+ +\[ 5\] \.symtab +SYMTAB +.*
+ +\[ 6\] \.strtab +STRTAB +.*
+ +\[ 7\] \.shstrtab +STRTAB +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-sh/sh64/crange2.rd b/ld/testsuite/ld-sh/sh64/crange2.rd
index 5074087..e7416e1 100644
--- a/ld/testsuite/ld-sh/sh64/crange2.rd
+++ b/ld/testsuite/ld-sh/sh64/crange2.rd
@@ -7,9 +7,9 @@ Section Headers:
  +\[ 2\] \.text +PROGBITS +00001004 000084 00005c 00 AXp +0 +0 +4
  +\[ 3\] \.stack +PROGBITS +00080000 000100 000004 00 +WA +0 +0 +1
  +\[ 4\] \.cranges +LOUSER\+1 +00000000 000104 000046 00 +W +0 +0 +1
- +\[ 5\] \.shstrtab +STRTAB +.*
- +\[ 6\] \.symtab +SYMTAB +.*
- +\[ 7\] \.strtab +STRTAB +.*
+ +\[ 5\] \.symtab +SYMTAB +.*
+ +\[ 6\] \.strtab +STRTAB +.*
+ +\[ 7\] \.shstrtab +STRTAB +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd b/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd
index d4f090e..9f5f595 100644
--- a/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd
+++ b/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd
@@ -17,7 +17,7 @@ ELF Header:
  +Number of program headers: +2
  +Size of section headers: +40 \(bytes\)
  +Number of section headers: +8
- +Section header string table index: 5
+ +Section header string table index: 7
 
 Section Headers:
  +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -26,9 +26,9 @@ Section Headers:
  +\[ 2\] \.text +PROGBITS +00001004 000084 0000d8 00 AXp +0 +0 +4
  +\[ 3\] \.stack +PROGBITS +00080000 000180 000004 00 +WA +0 +0 +1
  +\[ 4\] \.cranges +LOUSER\+1 +00000000 000184 00003c 00 +W +0 +0 +1
- +\[ 5\] \.shstrtab +STRTAB +.*
- +\[ 6\] \.symtab +SYMTAB +.*
- +\[ 7\] \.strtab +STRTAB +.*
+ +\[ 5\] \.symtab +SYMTAB +.*
+ +\[ 6\] \.strtab +STRTAB +.*
+ +\[ 7\] \.shstrtab +STRTAB +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-sh/sh64/crange3-media.rd b/ld/testsuite/ld-sh/sh64/crange3-media.rd
index 5a856d4..926925c 100644
--- a/ld/testsuite/ld-sh/sh64/crange3-media.rd
+++ b/ld/testsuite/ld-sh/sh64/crange3-media.rd
@@ -17,7 +17,7 @@ ELF Header:
  +Number of program headers: +2
  +Size of section headers: +40 \(bytes\)
  +Number of section headers: +8
- +Section header string table index: 5
+ +Section header string table index: 7
 
 Section Headers:
  +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -26,9 +26,9 @@ Section Headers:
  +\[ 2\] \.text +PROGBITS +00001004 000084 0000d8 00 AXp +0 +0 +4
  +\[ 3\] \.stack +PROGBITS +00080000 000180 000004 00 +WA +0 +0 +1
  +\[ 4\] \.cranges +LOUSER\+1 +00000000 000184 00003c 00 +W +0 +0 +1
- +\[ 5\] \.shstrtab +STRTAB +.*
- +\[ 6\] \.symtab +SYMTAB +.*
- +\[ 7\] \.strtab +STRTAB +.*
+ +\[ 5\] \.symtab +SYMTAB +.*
+ +\[ 6\] \.strtab +STRTAB +.*
+ +\[ 7\] \.shstrtab +STRTAB +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-sh/sh64/crange3.rd b/ld/testsuite/ld-sh/sh64/crange3.rd
index b495861..8870e0b 100644
--- a/ld/testsuite/ld-sh/sh64/crange3.rd
+++ b/ld/testsuite/ld-sh/sh64/crange3.rd
@@ -7,9 +7,9 @@ Section Headers:
  +\[ 2\] \.text +PROGBITS +00001004 000084 0000d8 00 AXp +0 +0 +4
  +\[ 3\] \.stack +PROGBITS +00080000 000180 000004 00 +WA +0 +0 +1
  +\[ 4\] \.cranges +LOUSER\+1 +00000000 000184 00003c 00 +W +0 +0 +1
- +\[ 5\] \.shstrtab +STRTAB +.*
- +\[ 6\] \.symtab +SYMTAB +.*
- +\[ 7\] \.strtab +STRTAB +.*
+ +\[ 5\] \.symtab +SYMTAB +.*
+ +\[ 6\] \.strtab +STRTAB +.*
+ +\[ 7\] \.shstrtab +STRTAB +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-sh/sh64/crangerel1.rd b/ld/testsuite/ld-sh/sh64/crangerel1.rd
index 90d71c5..3443f2a 100644
--- a/ld/testsuite/ld-sh/sh64/crangerel1.rd
+++ b/ld/testsuite/ld-sh/sh64/crangerel1.rd
@@ -10,9 +10,9 @@ Section Headers:
  +\[ 5\] \.stack +PROGBITS +00000000 00004c 000004 00 +WA +0 +0 +1
  +\[ 6\] \.cranges +PROGBITS +00000000 000050 00001e 00 +W +0 +0 +1
  +\[ 7\] \.rela\.cranges +RELA +00000000 [0-9a-f]+ 000024 0c +I +9 +6 +4
- +\[ 8\] \.shstrtab +STRTAB +00000000 [0-9a-f]+ 00004d 00 +0 +0 +1
- +\[ 9\] \.symtab +SYMTAB .*
- +\[10\] \.strtab +STRTAB .*
+ +\[ 8\] \.symtab +SYMTAB .*
+ +\[ 9\] \.strtab +STRTAB .*
+ +\[10\] \.shstrtab +STRTAB +00000000 [0-9a-f]+ 00004d 00 +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-sh/sh64/crangerel2.rd b/ld/testsuite/ld-sh/sh64/crangerel2.rd
index 2daede7..a1674b5 100644
--- a/ld/testsuite/ld-sh/sh64/crangerel2.rd
+++ b/ld/testsuite/ld-sh/sh64/crangerel2.rd
@@ -10,9 +10,9 @@ Section Headers:
  +\[ 5\] \.stack +PROGBITS +00000000 000090 000004 00 +WA +0 +0 +1
  +\[ 6\] \.cranges +PROGBITS +00000000 000094 000046 00 +W +0 +0 +1
  +\[ 7\] \.rela\.cranges +RELA +00000000 [0-9a-f]+ 000054 0c +I +9 +6 +4
- +\[ 8\] \.shstrtab +STRTAB +00000000 [0-9a-f]+ 00004d 00 +0 +0 +1
- +\[ 9\] \.symtab +SYMTAB +00000000 [0-9a-f]+ [0-9a-f]+ 10 +10 +[0-9]+ +4
- +\[10\] \.strtab +STRTAB +00000000 [0-9a-f]+ [0-9a-f]+ 00 +0 +0 +1
+ +\[ 8\] \.symtab +SYMTAB +00000000 [0-9a-f]+ [0-9a-f]+ 10 +8 +[0-9]+ +4
+ +\[ 9\] \.strtab +STRTAB +00000000 [0-9a-f]+ [0-9a-f]+ 00 +0 +0 +1
+ +\[10\] \.shstrtab +STRTAB +00000000 [0-9a-f]+ 00004d 00 +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-sh/tlsbin-2.d b/ld/testsuite/ld-sh/tlsbin-2.d
index 167270f..6958e45 100644
--- a/ld/testsuite/ld-sh/tlsbin-2.d
+++ b/ld/testsuite/ld-sh/tlsbin-2.d
@@ -23,9 +23,9 @@ Section Headers:
 #...
  +\[[0-9a-f]+\] \.got +PROGBITS .*
 #...
- +\[[0-9a-f]+\] \.shstrtab .*
  +\[[0-9a-f]+\] \.symtab .*
  +\[[0-9a-f]+\] \.strtab .*
+ +\[[0-9a-f]+\] \.shstrtab .*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-sh/tlspic-2.d b/ld/testsuite/ld-sh/tlspic-2.d
index 0b47878..42baf1d 100644
--- a/ld/testsuite/ld-sh/tlspic-2.d
+++ b/ld/testsuite/ld-sh/tlspic-2.d
@@ -22,9 +22,9 @@ Section Headers:
 #...
  +\[[0-9a-f]+\] \.got +PROGBITS .*
 #...
- +\[[0-9a-f]+\] \.shstrtab .*
  +\[[0-9a-f]+\] \.symtab .*
  +\[[0-9a-f]+\] \.strtab .*
+ +\[[0-9a-f]+\] \.shstrtab .*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-sparc/gotop32.rd b/ld/testsuite/ld-sparc/gotop32.rd
index 3b5b942..1813719 100644
--- a/ld/testsuite/ld-sparc/gotop32.rd
+++ b/ld/testsuite/ld-sparc/gotop32.rd
@@ -17,9 +17,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+12000 0+2000 0+70 08 +WA +3 +0 +4
  +\[[ 0-9]+\] .got +PROGBITS +0+12070 0+2070 0+8 04 +WA +0 +0 +4
  +\[[ 0-9]+\] .data +PROGBITS +0+13000 0+3000 0+8 00 +WA +0 +0 4096
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 
 Elf file type is DYN \(Shared object file\)
diff --git a/ld/testsuite/ld-sparc/gotop64.rd b/ld/testsuite/ld-sparc/gotop64.rd
index 2d3ffec..578fb2b 100644
--- a/ld/testsuite/ld-sparc/gotop64.rd
+++ b/ld/testsuite/ld-sparc/gotop64.rd
@@ -17,9 +17,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+102000 0+2000 0+e0 10 +WA +3 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+1020e0 0+20e0 0+10 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .data +PROGBITS +0+103000 0+3000 0+8 00 +WA +0 +0 4096
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 
 Elf file type is DYN \(Shared object file\)
diff --git a/ld/testsuite/ld-sparc/tlssunbin32.rd b/ld/testsuite/ld-sparc/tlssunbin32.rd
index 7212732..3de615f 100644
--- a/ld/testsuite/ld-sparc/tlssunbin32.rd
+++ b/ld/testsuite/ld-sparc/tlssunbin32.rd
@@ -19,9 +19,9 @@ Section Headers:
  +\[[ 0-9]+\] .tbss +NOBITS +0+231f4 0+31f4 0+40 00 WAT +0 +0 +4
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+231f4 0+31f4 0+80 08 +WA +4 +0 +4
  +\[[ 0-9]+\] .got +PROGBITS +0+23274 0+3274 0+14 04 +WA +0 +0 +4
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
diff --git a/ld/testsuite/ld-sparc/tlssunbin64.rd b/ld/testsuite/ld-sparc/tlssunbin64.rd
index 5480dab..2297d2e 100644
--- a/ld/testsuite/ld-sparc/tlssunbin64.rd
+++ b/ld/testsuite/ld-sparc/tlssunbin64.rd
@@ -19,9 +19,9 @@ Section Headers:
  +\[[ 0-9]+\] .tbss +NOBITS +0+202204 0+2204 0+40 00 WAT +0 +0 +4
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+202208 0+2208 0+100 10 +WA +4 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+202308 0+2308 0+28 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
diff --git a/ld/testsuite/ld-sparc/tlssunnopic32.rd b/ld/testsuite/ld-sparc/tlssunnopic32.rd
index 21d07c0..bfb7cb8 100644
--- a/ld/testsuite/ld-sparc/tlssunnopic32.rd
+++ b/ld/testsuite/ld-sparc/tlssunnopic32.rd
@@ -18,9 +18,9 @@ Section Headers:
  +\[[ 0-9]+\] .tbss +NOBITS +0+12000 0+2000 0+24 0+ WAT +0 +0 +4
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+12000 0+2000 0+80 08 +WA +3 +0 +4
  +\[[ 0-9]+\] .got +PROGBITS +0+12080 0+2080 0+1c 04 +WA +0 +0 +4
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 Elf file type is DYN \(Shared object file\)
 Entry point 0x1000
diff --git a/ld/testsuite/ld-sparc/tlssunnopic64.rd b/ld/testsuite/ld-sparc/tlssunnopic64.rd
index 6825aa9..88fe05f 100644
--- a/ld/testsuite/ld-sparc/tlssunnopic64.rd
+++ b/ld/testsuite/ld-sparc/tlssunnopic64.rd
@@ -18,9 +18,9 @@ Section Headers:
  +\[[ 0-9]+\] .tbss +NOBITS +0+102000 0+2000 0+24 0+ WAT +0 +0 +4
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+102000 0+2000 0+100 10 +WA +3 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+102100 0+2100 0+38 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 Elf file type is DYN \(Shared object file\)
 Entry point 0x1000
diff --git a/ld/testsuite/ld-sparc/tlssunpic32.rd b/ld/testsuite/ld-sparc/tlssunpic32.rd
index 4d96736..519b5df 100644
--- a/ld/testsuite/ld-sparc/tlssunpic32.rd
+++ b/ld/testsuite/ld-sparc/tlssunpic32.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+12060 0+2060 0+98 08 +WA +3 +0 +4
  +\[[ 0-9]+\] .got +PROGBITS +0+120f8 0+20f8 0+4c 04 +WA +0 +0 +4
  +\[[ 0-9]+\] .plt +.*
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 
 Elf file type is DYN \(Shared object file\)
diff --git a/ld/testsuite/ld-sparc/tlssunpic64.rd b/ld/testsuite/ld-sparc/tlssunpic64.rd
index 6f91fee..fa00bbf 100644
--- a/ld/testsuite/ld-sparc/tlssunpic64.rd
+++ b/ld/testsuite/ld-sparc/tlssunpic64.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+102060 0+2060 0+130 10 +WA +3 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+102190 0+2190 0+98 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .plt +.*
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 #...
 
 Elf file type is DYN \(Shared object file\)
diff --git a/ld/testsuite/ld-tic6x/common.d b/ld/testsuite/ld-tic6x/common.d
index 30521fc..f2a7b1b 100644
--- a/ld/testsuite/ld-tic6x/common.d
+++ b/ld/testsuite/ld-tic6x/common.d
@@ -11,9 +11,9 @@ Section Headers:
   \[ 0\]                   NULL            00000000 000000 000000 00      0   0  0
   \[ 1\] \.far              NOBITS          00000080 000080 000008 00  WA  0   0  4
   \[ 2\] \.bss              NOBITS          00000100 000080 000004 00  WA  0   0  4
-  \[ 3\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000025 00      0   0  1
-  \[ 4\] \.symtab           SYMTAB          00000000 [0-9a-f]+ 000050 10      5   3  4
-  \[ 5\] \.strtab           STRTAB          00000000 [0-9a-f]+ 000005 00      0   0  1
+  \[ 3\] \.symtab           SYMTAB          00000000 [0-9a-f]+ 000050 10      4   3  4
+  \[ 4\] \.strtab           STRTAB          00000000 [0-9a-f]+ 000005 00      0   0  1
+  \[ 5\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000025 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/shlib-1.rd b/ld/testsuite/ld-tic6x/shlib-1.rd
index a07ddca..77ec3d7 100644
--- a/ld/testsuite/ld-tic6x/shlib-1.rd
+++ b/ld/testsuite/ld-tic6x/shlib-1.rd
@@ -16,9 +16,9 @@ Section Headers:
   \[11\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
   \[12\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
   \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
-  \[14\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
-  \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
-  \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[14\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     15  [0-9]+  4
+  \[15\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[16\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/shlib-1b.rd b/ld/testsuite/ld-tic6x/shlib-1b.rd
index a07ddca..77ec3d7 100644
--- a/ld/testsuite/ld-tic6x/shlib-1b.rd
+++ b/ld/testsuite/ld-tic6x/shlib-1b.rd
@@ -16,9 +16,9 @@ Section Headers:
   \[11\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
   \[12\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
   \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
-  \[14\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
-  \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
-  \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[14\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     15  [0-9]+  4
+  \[15\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[16\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/shlib-1r.rd b/ld/testsuite/ld-tic6x/shlib-1r.rd
index a07ddca..77ec3d7 100644
--- a/ld/testsuite/ld-tic6x/shlib-1r.rd
+++ b/ld/testsuite/ld-tic6x/shlib-1r.rd
@@ -16,9 +16,9 @@ Section Headers:
   \[11\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
   \[12\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
   \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
-  \[14\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
-  \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
-  \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[14\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     15  [0-9]+  4
+  \[15\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[16\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/shlib-1rb.rd b/ld/testsuite/ld-tic6x/shlib-1rb.rd
index a07ddca..77ec3d7 100644
--- a/ld/testsuite/ld-tic6x/shlib-1rb.rd
+++ b/ld/testsuite/ld-tic6x/shlib-1rb.rd
@@ -16,9 +16,9 @@ Section Headers:
   \[11\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
   \[12\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
   \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
-  \[14\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
-  \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
-  \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[14\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     15  [0-9]+  4
+  \[15\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[16\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/shlib-app-1.rd b/ld/testsuite/ld-tic6x/shlib-app-1.rd
index f0e67c9..c3ddcd3 100644
--- a/ld/testsuite/ld-tic6x/shlib-app-1.rd
+++ b/ld/testsuite/ld-tic6x/shlib-app-1.rd
@@ -17,9 +17,9 @@ Section Headers:
   \[12\] \.neardata         PROGBITS        100000c0 0020c0 00000c 00  WA  0   0  4
   \[13\] \.bss              NOBITS          100000cc 0020cc 000004 00  WA  0   0  4
   \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020cc 000019 00      0   0  1
-  \[15\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000080 00      0   0  1
-  \[16\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     17  [0-9]+  4
-  \[17\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
+  \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[17\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000080 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/shlib-app-1b.rd b/ld/testsuite/ld-tic6x/shlib-app-1b.rd
index 19a7371..2f9d0f6 100644
--- a/ld/testsuite/ld-tic6x/shlib-app-1b.rd
+++ b/ld/testsuite/ld-tic6x/shlib-app-1b.rd
@@ -17,9 +17,9 @@ Section Headers:
   \[12\] \.neardata         PROGBITS        100000c0 0020c0 00000c 00  WA  0   0  4
   \[13\] \.bss              NOBITS          100000cc 0020cc 000004 00  WA  0   0  4
   \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020cc 000019 00      0   0  1
-  \[15\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000080 00      0   0  1
-  \[16\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     17  [0-9]+  4
-  \[17\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
+  \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[17\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000080 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/shlib-app-1r.rd b/ld/testsuite/ld-tic6x/shlib-app-1r.rd
index f4fcf6b..2cf8c58 100644
--- a/ld/testsuite/ld-tic6x/shlib-app-1r.rd
+++ b/ld/testsuite/ld-tic6x/shlib-app-1r.rd
@@ -16,9 +16,9 @@ Section Headers:
   \[11\] \.neardata         PROGBITS        100000c0 0020c0 000004 00  WA  0   0  4
   \[12\] \.bss              NOBITS          100000c4 0020c4 000004 00  WA  0   0  4
   \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020c4 000019 00      0   0  1
-  \[14\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
-  \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
-  \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[14\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     15  [0-9]+  4
+  \[15\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[16\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/shlib-app-1rb.rd b/ld/testsuite/ld-tic6x/shlib-app-1rb.rd
index 3b7b6a9..3cb0256 100644
--- a/ld/testsuite/ld-tic6x/shlib-app-1rb.rd
+++ b/ld/testsuite/ld-tic6x/shlib-app-1rb.rd
@@ -16,9 +16,9 @@ Section Headers:
   \[11\] \.neardata         PROGBITS        100000c0 0020c0 000004 00  WA  0   0  4
   \[12\] \.bss              NOBITS          100000c4 0020c4 000004 00  WA  0   0  4
   \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020c4 000019 00      0   0  1
-  \[14\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
-  \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
-  \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[14\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     15  [0-9]+  4
+  \[15\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[16\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 00007b 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/shlib-noindex.rd b/ld/testsuite/ld-tic6x/shlib-noindex.rd
index fa03130..0a29c63 100644
--- a/ld/testsuite/ld-tic6x/shlib-noindex.rd
+++ b/ld/testsuite/ld-tic6x/shlib-noindex.rd
@@ -17,9 +17,9 @@ Section Headers:
   \[12\] \.neardata         PROGBITS        10000128 002128 000008 00  WA  0   0  4
   \[13\] \.bss              NOBITS          10000130 002130 000004 00  WA  0   0  4
   \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00      0   0  1
-  \[15\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000080 00      0   0  1
-  \[16\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     17  [0-9]+  4
-  \[17\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[15\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     16  [0-9]+  4
+  \[16\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[17\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000080 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/static-app-1.rd b/ld/testsuite/ld-tic6x/static-app-1.rd
index c1bfc2f..27d2d23 100644
--- a/ld/testsuite/ld-tic6x/static-app-1.rd
+++ b/ld/testsuite/ld-tic6x/static-app-1.rd
@@ -14,9 +14,9 @@ Section Headers:
   \[ 9\] \.neardata         PROGBITS        100000e0 0020e0 000014 00  WA  0   0  4
   \[10\] \.bss              NOBITS          100000f4 0020f4 000004 00  WA  0   0  4
   \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00      0   0  1
-  \[12\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000071 00      0   0  1
-  \[13\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     14  [0-9]+  4
-  \[14\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     13  [0-9]+  4
+  \[13\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[14\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000071 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/static-app-1b.rd b/ld/testsuite/ld-tic6x/static-app-1b.rd
index c1bfc2f..27d2d23 100644
--- a/ld/testsuite/ld-tic6x/static-app-1b.rd
+++ b/ld/testsuite/ld-tic6x/static-app-1b.rd
@@ -14,9 +14,9 @@ Section Headers:
   \[ 9\] \.neardata         PROGBITS        100000e0 0020e0 000014 00  WA  0   0  4
   \[10\] \.bss              NOBITS          100000f4 0020f4 000004 00  WA  0   0  4
   \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00      0   0  1
-  \[12\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000071 00      0   0  1
-  \[13\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     14  [0-9]+  4
-  \[14\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     13  [0-9]+  4
+  \[13\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[14\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000071 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/static-app-1r.rd b/ld/testsuite/ld-tic6x/static-app-1r.rd
index af8341e..9f3ed9b 100644
--- a/ld/testsuite/ld-tic6x/static-app-1r.rd
+++ b/ld/testsuite/ld-tic6x/static-app-1r.rd
@@ -14,9 +14,9 @@ Section Headers:
   \[ 9\] \.neardata         PROGBITS        100000e0 0020e0 00000c 00  WA  0   0  4
   \[10\] \.bss              NOBITS          100000ec 0020ec 000004 00  WA  0   0  4
   \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00      0   0  1
-  \[12\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000071 00      0   0  1
-  \[13\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     14  [0-9]+  4
-  \[14\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     13  [0-9]+  4
+  \[13\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[14\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000071 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-tic6x/static-app-1rb.rd b/ld/testsuite/ld-tic6x/static-app-1rb.rd
index af8341e..9f3ed9b 100644
--- a/ld/testsuite/ld-tic6x/static-app-1rb.rd
+++ b/ld/testsuite/ld-tic6x/static-app-1rb.rd
@@ -14,9 +14,9 @@ Section Headers:
   \[ 9\] \.neardata         PROGBITS        100000e0 0020e0 00000c 00  WA  0   0  4
   \[10\] \.bss              NOBITS          100000ec 0020ec 000004 00  WA  0   0  4
   \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00      0   0  1
-  \[12\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000071 00      0   0  1
-  \[13\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     14  [0-9]+  4
-  \[14\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[12\] \.symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10     13  [0-9]+  4
+  \[13\] \.strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[14\] \.shstrtab         STRTAB          00000000 [0-9a-f]+ 000071 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/ilp32-4-nacl.d b/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
index 296c406..f560ae3 100644
--- a/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
+++ b/ld/testsuite/ld-x86-64/ilp32-4-nacl.d
@@ -14,9 +14,9 @@ Section Headers:
  +\[ 3\] \.dynsym +DYNSYM +100000dc +0+dc +0+50 +10 +A +4 +1 +4
  +\[ 4\] \.dynstr +STRTAB +1000012c +0+12c +0+19 +00 +A +0 +0 +1
  +\[ 5\] \.dynamic +DYNAMIC +10010148 +0+148 +0+58 +08 +WA +4 +0 +4
- +\[ 6\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ +0+40 +00 +0 +0 +1
- +\[ 7\] \.symtab +SYMTAB +0+0 +[0-9a-f]+ +[0-9a-f]+ +10 +8 +[0-9] +4
- +\[ 8\] \.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
+ +\[ 6\] \.symtab +SYMTAB +0+0 +[0-9a-f]+ +[0-9a-f]+ +10 +7 +[0-9] +4
+ +\[ 7\] \.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
+ +\[ 8\] \.shstrtab +STRTAB +0+ +[0-9a-f]+ +0+40 +00 +0 +0 +1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/ilp32-4.d b/ld/testsuite/ld-x86-64/ilp32-4.d
index 7f1391f..658ad49 100644
--- a/ld/testsuite/ld-x86-64/ilp32-4.d
+++ b/ld/testsuite/ld-x86-64/ilp32-4.d
@@ -13,9 +13,9 @@ Section Headers:
   \[ 3\] .dynstr           STRTAB          0000010c 00010c 000019 00   A  0   0  1
   \[ 4\] .text             PROGBITS        00000125 000125 000001 00  AX  0   0  1
   \[ 5\] .dynamic          DYNAMIC         00200128 000128 000058 08  WA  3   0  4
-  \[ 6\] .shstrtab         STRTAB          00000000 [0-9a-f]+ 000040 00      0   0  1
-  \[ 7\] .symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10      8   [0-9]  4
-  \[ 8\] .strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[ 6\] .symtab           SYMTAB          00000000 [0-9a-f]+ [0-9a-f]+ 10      7   [0-9]  4
+  \[ 7\] .strtab           STRTAB          00000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[ 8\] .shstrtab         STRTAB          00000000 [0-9a-f]+ 000040 00      0   0  1
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/nogot1.d b/ld/testsuite/ld-x86-64/nogot1.d
index f6c4cf1..823a28a 100644
--- a/ld/testsuite/ld-x86-64/nogot1.d
+++ b/ld/testsuite/ld-x86-64/nogot1.d
@@ -4,5 +4,6 @@
 
 #...
 [ 	]*\[.*\][ 	]+\.dynamic[ 	]+DYNAMIC.*
+#...
 [ 	]*\[.*\][ 	]+.*STRTAB.*
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr12718.d b/ld/testsuite/ld-x86-64/pr12718.d
index 4b81d71..07d1732 100644
--- a/ld/testsuite/ld-x86-64/pr12718.d
+++ b/ld/testsuite/ld-x86-64/pr12718.d
@@ -9,8 +9,8 @@ Section Headers:
  +\[Nr\] Name +Type +Address +Off +Size +ES +Flg +Lk +Inf +Al
  +\[ 0\] +NULL +0+ +0+ +0+ +0+ +0 +0 +0
  +\[ 1\] +.text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +000006 00 +AX +0 +0 +1
- +\[ 2\] +.shstrtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +0+ +0 +0 +1
- +\[ 3\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 18 +4 +[0-9] +8
- +\[ 4\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1
+ +\[ 2\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 18 +3 +[0-9] +8
+ +\[ 3\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1
+ +\[ 4\] +.shstrtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +0+ +0 +0 +1
 Key to Flags:
 #pass
diff --git a/ld/testsuite/ld-x86-64/pr12921.d b/ld/testsuite/ld-x86-64/pr12921.d
index 8d09616..6fe6abe 100644
--- a/ld/testsuite/ld-x86-64/pr12921.d
+++ b/ld/testsuite/ld-x86-64/pr12921.d
@@ -11,8 +11,8 @@ Section Headers:
  +\[ 1\] .text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+1 00 +AX +0 +0 +4096
  +\[ 2\] .data +PROGBITS +[0-9a-f]+ +[0-9a-f]+000 +0+28 +00 +WA +0 +0 +4096
  +\[ 3\] .bss +NOBITS +[0-9a-f]+ +[0-9a-f]+028 +0+10000 +00 +WA +0 +0 +4096
- +\[ 4\] .shstrtab +STRTAB +0+ +[0-9a-f]+ +0+2c +00 +0 +0 +1
- +\[ 5\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +18 +6 +[0-9] +8
- +\[ 6\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
+ +\[ 4\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +18 +5 +[0-9] +8
+ +\[ 5\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1
+ +\[ 6\] .shstrtab +STRTAB +0+ +[0-9a-f]+ +0+2c +00 +0 +0 +1
 Key to Flags:
 #pass
diff --git a/ld/testsuite/ld-x86-64/split-by-file-nacl.rd b/ld/testsuite/ld-x86-64/split-by-file-nacl.rd
index d11988a..4e3e74a 100644
--- a/ld/testsuite/ld-x86-64/split-by-file-nacl.rd
+++ b/ld/testsuite/ld-x86-64/split-by-file-nacl.rd
@@ -8,8 +8,8 @@ Section Headers:
   \[ 3\] .data             PROGBITS        0000000000000000 000043 000000 00  WA  0   0  1
   \[ 4\] .bss              NOBITS          0000000000000000 000043 000000 00  WA  0   0  1
   \[ 5\] .foo.0            PROGBITS        0000000000000003 000043 000003 00 AXl  0   0  1
-  \[ 6\] .shstrtab         STRTAB          0000000000000000 [0-9a-f]+ 000038 00      0   0  1
-  \[ 7\] .symtab           SYMTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 18      8   [0-9]  8
-  \[ 8\] .strtab           STRTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[ 6\] .symtab           SYMTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 18      7   [0-9]  8
+  \[ 7\] .strtab           STRTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[ 8\] .shstrtab         STRTAB          0000000000000000 [0-9a-f]+ 000038 00      0   0  1
 Key to Flags:
 #pass
diff --git a/ld/testsuite/ld-x86-64/split-by-file.rd b/ld/testsuite/ld-x86-64/split-by-file.rd
index d11988a..4e3e74a 100644
--- a/ld/testsuite/ld-x86-64/split-by-file.rd
+++ b/ld/testsuite/ld-x86-64/split-by-file.rd
@@ -8,8 +8,8 @@ Section Headers:
   \[ 3\] .data             PROGBITS        0000000000000000 000043 000000 00  WA  0   0  1
   \[ 4\] .bss              NOBITS          0000000000000000 000043 000000 00  WA  0   0  1
   \[ 5\] .foo.0            PROGBITS        0000000000000003 000043 000003 00 AXl  0   0  1
-  \[ 6\] .shstrtab         STRTAB          0000000000000000 [0-9a-f]+ 000038 00      0   0  1
-  \[ 7\] .symtab           SYMTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 18      8   [0-9]  8
-  \[ 8\] .strtab           STRTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[ 6\] .symtab           SYMTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 18      7   [0-9]  8
+  \[ 7\] .strtab           STRTAB          0000000000000000 [0-9a-f]+ [0-9a-f]+ 00      0   0  1
+  \[ 8\] .shstrtab         STRTAB          0000000000000000 [0-9a-f]+ 000038 00      0   0  1
 Key to Flags:
 #pass
diff --git a/ld/testsuite/ld-x86-64/tlsbin-nacl.rd b/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
index 5de5e1a..4284644 100644
--- a/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
@@ -23,9 +23,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+140 10 +WA +6 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+10030550 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030570 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlsbin.rd b/ld/testsuite/ld-x86-64/tlsbin.rd
index 6f73b98..a34775d 100644
--- a/ld/testsuite/ld-x86-64/tlsbin.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin.rd
@@ -23,9 +23,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+601298 0+1298 0+140 10 +WA +4 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+6013d8 0+13d8 0+20 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+6013f8 0+13f8 0+20 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd b/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd
index 110927b..1f5b782 100644
--- a/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin2-nacl.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+100 10 +WA +5 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+10030510 [0-9a-f]+ 0+28 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030538 [0-9a-f]+ 0+18 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlsbin2.rd b/ld/testsuite/ld-x86-64/tlsbin2.rd
index b283648..5fb1599 100644
--- a/ld/testsuite/ld-x86-64/tlsbin2.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin2.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+601298 0+1298 0+100 10 +WA +4 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+601398 0+1398 0+28 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+6013c0 0+13c0 0+18 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd
index 39a5abe..2c046f4 100644
--- a/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303d0 0+3d0 0+100 10 +WA +5 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+100304d0 0+4d0 0+20 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+100304f0 0+4f0 0+18 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlsbindesc.rd b/ld/testsuite/ld-x86-64/tlsbindesc.rd
index 8c9a342..c94014a 100644
--- a/ld/testsuite/ld-x86-64/tlsbindesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsbindesc.rd
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+601260 0+1260 0+100 10 +WA +4 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+601360 0+1360 0+20 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+601380 0+1380 0+18 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd
index db196a5..7c9d77a 100644
--- a/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104b0 [0-9a-f]+ 0+150 10 +WA +5 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+10010600 [0-9a-f]+ 0+48 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010648 [0-9a-f]+ 0+68 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlsdesc.rd b/ld/testsuite/ld-x86-64/tlsdesc.rd
index 6a636a0..18060c0 100644
--- a/ld/testsuite/ld-x86-64/tlsdesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsdesc.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+2011b8 0+11b8 0+150 10 +WA +3 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+201308 0+1308 0+48 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+201350 0+1350 0+68 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd b/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd
index 8614af5..934ba03 100644
--- a/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd
@@ -19,9 +19,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +.*
  +\[[ 0-9]+\] \.got +.*
  +\[[ 0-9]+\] \.got.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlsgdesc.rd b/ld/testsuite/ld-x86-64/tlsgdesc.rd
index 5d845c7..729d12e6 100644
--- a/ld/testsuite/ld-x86-64/tlsgdesc.rd
+++ b/ld/testsuite/ld-x86-64/tlsgdesc.rd
@@ -19,9 +19,9 @@ Section Headers:
  +\[[ 0-9]+\] \.dynamic +.*
  +\[[ 0-9]+\] \.got +.*
  +\[[ 0-9]+\] \.got.plt +.*
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlspic-nacl.rd b/ld/testsuite/ld-x86-64/tlspic-nacl.rd
index f98e39b..740e399 100644
--- a/ld/testsuite/ld-x86-64/tlspic-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlspic-nacl.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010510 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+10010640 [0-9a-f]+ 0+90 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+100106d0 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlspic.rd b/ld/testsuite/ld-x86-64/tlspic.rd
index 589666b..3f5d544 100644
--- a/ld/testsuite/ld-x86-64/tlspic.rd
+++ b/ld/testsuite/ld-x86-64/tlspic.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+201380 0+1380 0+130 10 +WA +3 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+2014b0 0+14b0 0+90 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+201540 0+1540 0+20 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlspic2-nacl.rd b/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
index 1919b3f..cbc0a75 100644
--- a/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010528 [0-9a-f]+ 0+130 10 +WA +5 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+10010658 [0-9a-f]+ 0+98 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+100106f0 [0-9a-f]+ 0+20 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-x86-64/tlspic2.rd b/ld/testsuite/ld-x86-64/tlspic2.rd
index 3c7b8c1..684ae21 100644
--- a/ld/testsuite/ld-x86-64/tlspic2.rd
+++ b/ld/testsuite/ld-x86-64/tlspic2.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] .dynamic +DYNAMIC +0+201380 0+1380 0+100 10 +WA +3 +0 +8
  +\[[ 0-9]+\] .got +PROGBITS +0+201480 0+1480 0+98 08 +WA +0 +0 +8
  +\[[ 0-9]+\] .got.plt +PROGBITS +0+201518 0+1518 0+18 08 +WA +0 +0 +8
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-xtensa/tlsbin.rd b/ld/testsuite/ld-xtensa/tlsbin.rd
index 2361139..dcd2b04 100644
--- a/ld/testsuite/ld-xtensa/tlsbin.rd
+++ b/ld/testsuite/ld-xtensa/tlsbin.rd
@@ -22,9 +22,9 @@ Section Headers:
  +\[[ 0-9]+\] .xtensa.info +NOTE +0+ .*
  +\[[ 0-9]+\] .xt.lit +PROGBITS +0+ .*
  +\[[ 0-9]+\] .xt.prop +PROGBITS +0+ .*
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff --git a/ld/testsuite/ld-xtensa/tlspic.rd b/ld/testsuite/ld-xtensa/tlspic.rd
index 379334c..b6f7067 100644
--- a/ld/testsuite/ld-xtensa/tlspic.rd
+++ b/ld/testsuite/ld-xtensa/tlspic.rd
@@ -23,9 +23,9 @@ Section Headers:
  +\[[ 0-9]+\] .xtensa.info +NOTE +0+ .*
  +\[[ 0-9]+\] .xt.lit +PROGBITS +0+ .*
  +\[[ 0-9]+\] .xt.prop +PROGBITS +0+ .*
- +\[[ 0-9]+\] .shstrtab +.*
  +\[[ 0-9]+\] .symtab +.*
  +\[[ 0-9]+\] .strtab +.*
+ +\[[ 0-9]+\] .shstrtab +.*
 Key to Flags:
 #...
 
diff -rup binutils-2.27.orig/ld/testsuite/ld-powerpc/tlsexe32.r binutils-2.27/ld/testsuite/ld-powerpc/tlsexe32.r
--- binutils-2.27.orig/ld/testsuite/ld-powerpc/tlsexe32.r	2017-01-17 09:30:06.631463387 +0000
+++ binutils-2.27/ld/testsuite/ld-powerpc/tlsexe32.r	2017-01-17 09:30:34.074140629 +0000
@@ -23,9 +23,9 @@ Section Headers:
  +\[[ 0-9]+\] \.got +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000018 04 +WA +0 +0 +4
  +\[[ 0-9]+\] \.plt +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000004 00 +WA +0 +0 +4
 #...
- +\[[ 0-9]+\] \.shstrtab +STRTAB +.*
  +\[[ 0-9]+\] \.symtab +SYMTAB +.*
  +\[[ 0-9]+\] \.strtab +STRTAB +.*
+ +\[[ 0-9]+\] \.shstrtab +STRTAB +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
diff -rup binutils-2.27.orig/ld/testsuite/ld-powerpc/tlsso32.r binutils-2.27/ld/testsuite/ld-powerpc/tlsso32.r
--- binutils-2.27.orig/ld/testsuite/ld-powerpc/tlsso32.r	2017-01-17 09:30:06.632463375 +0000
+++ binutils-2.27/ld/testsuite/ld-powerpc/tlsso32.r	2017-01-17 09:30:18.506323674 +0000
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] \.got +PROGBITS .* 0+30 04 +WA +0 +0 +4
  +\[[ 0-9]+\] \.plt +PROGBITS .* 0+4 00 +WA +0 +0 +4
 #...
- +\[[ 0-9]+\] \.shstrtab +.*
  +\[[ 0-9]+\] \.symtab +.*
  +\[[ 0-9]+\] \.strtab +.*
+ +\[[ 0-9]+\] \.shstrtab +.*
 #...
 
 Elf file type is DYN \(Shared object file\)
diff -rup binutils-2.27.orig/ld/testsuite/ld-powerpc/tlstocso.r binutils-2.27/ld/testsuite/ld-powerpc/tlstocso.r
--- binutils-2.27.orig/ld/testsuite/ld-powerpc/tlstocso.r	2017-01-17 09:30:06.631463387 +0000
+++ binutils-2.27/ld/testsuite/ld-powerpc/tlstocso.r	2017-01-17 09:32:37.080695394 +0000
@@ -21,9 +21,9 @@ Section Headers:
  +\[[ 0-9]+\] \.opd .*
  +\[[ 0-9]+\] \.got .*
  +\[[ 0-9]+\] \.plt .*
- +\[[ 0-9]+\] \.shstrtab .*
  +\[[ 0-9]+\] \.symtab .*
  +\[[ 0-9]+\] \.strtab .*
+ +\[[ 0-9]+\] \.shstrtab .*
 #...
 
 Elf file type is DYN \(Shared object file\)