* powerpc.cc (Stub_table::do_write): Delete redundant Address
authorAlan Modra <amodra@gmail.com>
Fri, 7 Dec 2012 04:23:36 +0000 (04:23 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 7 Dec 2012 04:23:36 +0000 (04:23 +0000)
typedef and invalid_address constant.
(Output_data_glink, Stub_table, Target_powerpc): Explicitly
instantiate constants.

gold/ChangeLog
gold/powerpc.cc

index 25898c59c3b0e36bb8796634c9046dd88a99e671..1067019ed4f17d0aabd016ca06cde488604c90c3 100644 (file)
@@ -1,3 +1,10 @@
+2012-12-07  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Stub_table::do_write): Delete redundant Address
+       typedef and invalid_address constant.
+       (Output_data_glink, Stub_table, Target_powerpc): Explicitly
+       instantiate constants.
+
 2012-12-07  Alan Modra  <amodra@gmail.com>
 
        * options.h (General_options): Add no_toc_optimize.
index 7fa68d771de1560af984f6ca0192e664ee80e6cd..3d54577c6288fdfa9e5d4d7c971cb3b10848418d 100644 (file)
@@ -3239,9 +3239,6 @@ Stub_table<size, big_endian>::do_write(Output_file* of)
   unsigned char* const oview = of->get_output_view(off, oview_size);
   unsigned char* p;
 
-  typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
-  static const Address invalid_address = static_cast<Address>(0) - 1;
-
   if (size == 64)
     {
       const Output_data_got_powerpc<size, big_endian>* got
@@ -6984,4 +6981,14 @@ Target_selector_powerpc<32, false> target_selector_ppc32le;
 Target_selector_powerpc<64, true> target_selector_ppc64;
 Target_selector_powerpc<64, false> target_selector_ppc64le;
 
+// Instantiate these constants for -O0
+template<int size, bool big_endian>
+const int Output_data_glink<size, big_endian>::pltresolve_size;
+template<int size, bool big_endian>
+const typename Stub_table<size, big_endian>::Address
+  Stub_table<size, big_endian>::invalid_address;
+template<int size, bool big_endian>
+const typename Target_powerpc<size, big_endian>::Address
+  Target_powerpc<size, big_endian>::invalid_address;
+
 } // End anonymous namespace.