* 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.
This commit is contained in:
Cary Coutant
2011-07-06 21:19:32 +00:00
parent 438640d112
commit 9fbd3822ad
12 changed files with 175 additions and 42 deletions

View File

@@ -62,7 +62,7 @@
bool
t1()
{
return t1_2() == 0;
return t1_2() == 0; // Intentionally wrong.
}
// 2 Code in file 1 refers to global data in file 2.
@@ -70,7 +70,7 @@ t1()
bool
t2()
{
return v2 == 0;
return v2 == 0; // Intentionally wrong.
}
// 3 Code in file 1 referes to common symbol in file 2.
@@ -78,7 +78,7 @@ t2()
bool
t3()
{
return v3 == 0;
return v3 == 0; // Intentionally wrong.
}
// 4 Code in file 1 refers to offset within global data in file 2.
@@ -231,13 +231,6 @@ t17()
bool
t18()
{
char c = 'a';
for (int i = 0; i < T17_COUNT; ++i)
{
const char* s = f18(i);
if (s[0] != c || s[1] != '\0')
return false;
++c;
}
// Stubbed out; full implementation in two_file_test_1.cc.
return true;
}