+2017-01-11  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/21040
+       * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
+       Remove unnecessary 'typename' keyword.
+       (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
+       (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
+       (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
+       * testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern
+       declarations.
+
 2017-01-11  Cary Coutant  <ccoutant@gmail.com>
 
        PR gold/21039
 
 // MA 02110-1301, USA.
 
 extern int a;
-extern int* const p = &a;
 
-extern const int b[] = { 100, 200, 300, 400 };
+extern int* const p;
+extern const int b[];
+extern const int c;
+extern const int* const q;
 
-extern const int c = 500;
+int* const p = &a;
 
-extern const int* const q = &c;
+const int b[] = { 100, 200, 300, 400 };
+
+const int c = 500;
+
+const int* const q = &c;
 
 
   virtual void
   do_fill_first_plt_entry(unsigned char* pov,
-                         typename elfcpp::Elf_types<64>::Elf_Addr got_addr,
-                         typename elfcpp::Elf_types<64>::Elf_Addr plt_addr);
+                         elfcpp::Elf_types<64>::Elf_Addr got_addr,
+                         elfcpp::Elf_types<64>::Elf_Addr plt_addr);
 
   virtual unsigned int
   do_fill_plt_entry(unsigned char* pov,
-                   typename elfcpp::Elf_types<64>::Elf_Addr got_address,
-                   typename elfcpp::Elf_types<64>::Elf_Addr plt_address,
+                   elfcpp::Elf_types<64>::Elf_Addr got_address,
+                   elfcpp::Elf_types<64>::Elf_Addr plt_address,
                    unsigned int got_offset,
                    unsigned int plt_offset,
                    unsigned int plt_index);
 
   virtual void
   do_fill_tlsdesc_entry(unsigned char* pov,
-                       typename elfcpp::Elf_types<64>::Elf_Addr got_address,
-                       typename elfcpp::Elf_types<64>::Elf_Addr plt_address,
-                       typename elfcpp::Elf_types<64>::Elf_Addr got_base,
+                       elfcpp::Elf_types<64>::Elf_Addr got_address,
+                       elfcpp::Elf_types<64>::Elf_Addr plt_address,
+                       elfcpp::Elf_types<64>::Elf_Addr got_base,
                        unsigned int tlsdesc_got_offset,
                        unsigned int plt_offset);
 
   void
   fill_aplt_entry(unsigned char* pov,
-                 typename elfcpp::Elf_types<64>::Elf_Addr got_address,
-                 typename elfcpp::Elf_types<64>::Elf_Addr plt_address,
+                 elfcpp::Elf_types<64>::Elf_Addr got_address,
+                 elfcpp::Elf_types<64>::Elf_Addr plt_address,
                  unsigned int got_offset,
                  unsigned int plt_offset,
                  unsigned int plt_index);