From 41263c058cc15b551b254ac040a29886edd7d8df Mon Sep 17 00:00:00 2001 From: Doug Kwan Date: Fri, 15 Jan 2010 04:58:34 +0000 Subject: 2010-01-14 Doug Kwan * arm.cc (map, utility): Include headers. (Target_arm::apply_cortex_a8_workaround): New method. (Arm_relobj::do_relocate_sections): Apply any Cortex-A8 workaround. (Target_arm::Scan::local): Handle R_ARM_THM_JUMP24, R_ARM_THM_JUMP19. (Target_arm::Scan::global): R_ARM_THM_JUMP19. (Target_arm::do_finalize_sections): Set fix_cortex_a8_ according to the --[no-]fix-cortex-a8 command line options. (Target_arm::Relocate::relocate): Handle R_ARM_JUMP19. (Target_arm::relocate_stub): Use addend in instruction template. * options.h (DEFINE_bool): Set the user-set flag. (General_options): Add --[no-]-fix-cortex options. * output.cc (Output_section::convert_input_sections_to_relaxed_sections) : Update fast look-up map after conversion. --- gold/options.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'gold/options.h') diff --git a/gold/options.h b/gold/options.h index ab4a9e6ccb0..c13601c03ca 100644 --- a/gold/options.h +++ b/gold/options.h @@ -315,7 +315,10 @@ struct Struct_special : public Struct_var void \ parse_to_value(const char*, const char*, \ Command_line*, General_options* options) \ - { options->set_##varname__(false); } \ + { \ + options->set_##varname__(false); \ + options->set_user_set_##varname__(); \ + } \ \ options::One_option option; \ }; \ @@ -719,6 +722,10 @@ class General_options DEFINE_string(fini, options::ONE_DASH, '\0', "_fini", N_("Call SYMBOL at unload-time"), N_("SYMBOL")); + DEFINE_bool(fix_cortex_a8, options::TWO_DASHES, '\0', false, + N_("(ARM only) Fix binaries for Cortex-A8 erratum."), + N_("(ARM only) Do not fix binaries for Cortex-A8 erratum.")); + DEFINE_bool(g, options::EXACTLY_ONE_DASH, '\0', false, N_("Ignored"), NULL); -- cgit v1.2.1