* layout.cc (Layout::relaxation_loop_body): Only clear load_seg if

the -Ttext option is not 0 modulo the page size.  If we clear
	load_seg, clear phdr_seg too.
	* testsuite/Makefile.am (check_PROGRAMS): Add flagstest_o_ttext_1.
	(flagstest_o_ttext_1): New target.
	(check_DATA): Add flagstest_o_ttext_2.
	(flagstest_o_ttext_2): New target.
	* testsuite/Makefile.in: Rebuild.
This commit is contained in:
Ian Lance Taylor
2011-07-25 22:48:42 +00:00
parent dea91a5c34
commit d12a5ea8c9
3 changed files with 61 additions and 15 deletions

View File

@@ -2095,8 +2095,12 @@ Layout::relaxation_loop_body(
// If the user set the address of the text segment, that may not be
// compatible with putting the segment headers and file headers into
// that segment.
if (parameters->options().user_set_Ttext())
load_seg = NULL;
if (parameters->options().user_set_Ttext()
&& parameters->options().Ttext() % target->common_pagesize() != 0)
{
load_seg = NULL;
phdr_seg = NULL;
}
gold_assert(phdr_seg == NULL
|| load_seg != NULL