diff options
author | Cary Coutant <ccoutant@google.com> | 2011-07-06 21:19:32 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2011-07-06 21:19:32 +0000 |
commit | 9fbd3822ad34dced1ec88410f3f1b447d30e6435 (patch) | |
tree | 095ca61510e2bbeca8a22eb82909691b0d945da1 /gold/options.h | |
parent | 438640d1120a37fb0309164e84c82e01fe98c5a9 (diff) | |
download | gdb-9fbd3822ad34dced1ec88410f3f1b447d30e6435.zip gdb-9fbd3822ad34dced1ec88410f3f1b447d30e6435.tar.gz gdb-9fbd3822ad34dced1ec88410f3f1b447d30e6435.tar.bz2 |
* incremental.cc (Incremental_inputs::report_command_line): Ignore
--incremental-patch option.
* layout.cc (Free_list::allocate): Extend allocation beyond original
end if enabled.
(Layout::make_output_section): Mark sections that should get
patch space.
* options.cc (parse_percent): New function.
* options.h (parse_percent): New function.
(DEFINE_percent): New macro.
(General_options): Add --incremental-patch option.
* output.cc (Output_section::Output_section): Initialize new data
members.
(Output_section::add_input_section): Print section name when out
of patch space.
(Output_section::add_output_section_data): Likewise.
(Output_section::set_final_data_size): Add patch space when
doing --incremental-full.
(Output_section::do_reset_address_and_file_offset): Remove patch
space.
(Output_segment::set_section_list_addresses): Print debug output
only if --incremental-update.
* output.h (Output_section::set_is_patch_space_allowed): New function.
(Output_section::is_patch_space_allowed_): New data member.
(Output_section::patch_space_): New data member.
* parameters.cc (Parameters::incremental_full): New function.
* parameters.h (Parameters::incremental_full): New function
* testsuite/Makefile.am (incremental_test_2): Add test for
--incremental-patch option.
* testsuite/Makefile.in: Regenerate.
* testsuite/two_file_test_1_v1.cc (t1, t2, t3): Add comments.
(t18): Remove function body.
Diffstat (limited to 'gold/options.h')
-rw-r--r-- | gold/options.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gold/options.h b/gold/options.h index 57d5810..c73bd45 100644 --- a/gold/options.h +++ b/gold/options.h @@ -98,6 +98,9 @@ extern void parse_double(const char* option_name, const char* arg, double* retval); extern void +parse_percent(const char* option_name, const char* arg, double* retval); + +extern void parse_string(const char* option_name, const char* arg, const char** retval); extern void @@ -372,6 +375,12 @@ struct Struct_special : public Struct_var #default_value__, helpstring__, helparg__, false, \ double, double, options::parse_double) +#define DEFINE_percent(varname__, dashes__, shortname__, default_value__, \ + helpstring__, helparg__) \ + DEFINE_var(varname__, dashes__, shortname__, default_value__ / 100.0, \ + #default_value__, helpstring__, helparg__, false, \ + double, double, options::parse_percent) + #define DEFINE_string(varname__, dashes__, shortname__, default_value__, \ helpstring__, helparg__) \ DEFINE_var(varname__, dashes__, shortname__, default_value__, \ @@ -813,6 +822,10 @@ class General_options DEFINE_special(incremental_unknown, options::TWO_DASHES, '\0', N_("Use timestamps to check files (default)"), NULL); + DEFINE_percent(incremental_patch, options::TWO_DASHES, '\0', 10, + N_("Amount of extra space to allocate for patches"), + N_("PERCENT")); + DEFINE_string(init, options::ONE_DASH, '\0', "_init", N_("Call SYMBOL at load-time"), N_("SYMBOL")); |