diff --git a/gold/ChangeLog b/gold/ChangeLog index 25898c59c3..1067019ed4 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,10 @@ +2012-12-07 Alan Modra + + * 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 * options.h (General_options): Add no_toc_optimize. diff --git a/gold/powerpc.cc b/gold/powerpc.cc index 7fa68d771d..3d54577c62 100644 --- a/gold/powerpc.cc +++ b/gold/powerpc.cc @@ -3239,9 +3239,6 @@ Stub_table::do_write(Output_file* of) unsigned char* const oview = of->get_output_view(off, oview_size); unsigned char* p; - typedef typename elfcpp::Elf_types::Elf_Addr Address; - static const Address invalid_address = static_cast
(0) - 1; - if (size == 64) { const Output_data_got_powerpc* 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 +const int Output_data_glink::pltresolve_size; +template +const typename Stub_table::Address + Stub_table::invalid_address; +template +const typename Target_powerpc::Address + Target_powerpc::invalid_address; + } // End anonymous namespace.