From ce3e49806d505721e0875e704de0b6fcba7660ed Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Thu, 17 Dec 2015 16:50:35 -0800 Subject: Implement --long-plt flag (ARM only). gold/ PR gold/18780 * arm.cc (Target_arm::do_make_data_plt): Choose PLT generator based on value of --long-plt flag. (Output_data_plt_arm_standard::do_get_plt_entry_size): Moved to Output_data_plt_arm_short. (Output_data_plt_arm_standard::do_fill_plt_entry): Likewise. (Output_data_plt_arm_standard::plt_entry): Likewise. (Output_data_plt_arm_standard::do_fill_first_plt_entry): Fix variable reference. (Output_data_plt_arm_short): New class. (Output_data_plt_arm_short::do_fill_plt_entry): Error out on too large PLT offsets instead of asserting. (Output_data_plt_arm_long): New class. * options.h (General_options): Define --long-plt flag. --- gold/options.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gold/options.h') diff --git a/gold/options.h b/gold/options.h index ffc44e6..8b5159f 100644 --- a/gold/options.h +++ b/gold/options.h @@ -834,6 +834,10 @@ class General_options "veneer"), NULL); + DEFINE_bool(long_plt, options::TWO_DASHES, '\0', false, + N_("(ARM only) Generate long PLT entries"), + N_("(ARM only) Do not generate long PLT entries")); + DEFINE_bool(g, options::EXACTLY_ONE_DASH, '\0', false, N_("Ignored"), NULL); -- cgit v1.1