binutils-gdb/gold/testsuite/script_test_3.t
Ian Lance Taylor f6973bdcb7 * expression.cc (Expression::Expression_eval_info): Add
result_alignment_pointer field.
	(Expression::eval_with_dot): Add result_alignment_pointer
	parameter.  Change all callers.
	(Expression::eval_maybe_dot): Likewise.
	(class Binary_expression): Add alignment_pointer parameter to
	left_value and right_value.  Change all callers.
	(BINARY_EXPRESSION): Set result alignment.
	(class Trinary_expression): Add alignment_pointer parameter to
	arg2_value and arg3_value.  Change all callers.
	(Trinary_cond::value): Set result alignment.
	(Max_expression::value, Min_expression::value): Likewise.
	(Align_expression::value): Likewise.
	* script-sections.cc (class Sections_element): Add dot_alignment
	parameter to set_section_addresses virtual function.  Update
	instantiations.
	(class Output_section_element): Likewise.
	(Script_sections::create_segments): Add dot_alignment parameter.
	Change all callers.
	(Script_sections::create_segments_from_phdrs_clause): Likewise.
	(Script_sections::set_phdrs_clause_addresses): Likewise.
	* script-sections.h: Update declarations.
	* script.h: Update declarations.
	* output.h (Output_segment::set_minimum_p_align): Don't decrease
	min_p_align.
	* testsuite/script_test_3.t: Set large alignment.
	* testsuite/script_test_3.sh: Make sure that at least one LOAD
	segment has expected alignment.
2010-04-23 04:47:33 +00:00

51 lines
1.5 KiB
Perl

/* script_test_3.t -- linker script test 3 for gold
Copyright 2008, 2010 Free Software Foundation, Inc.
Written by Ian Lance Taylor <iant@google.com>.
This file is part of gold.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
SECTIONS
{
/* With luck this will work everywhere. */
. = 0x10000000;
/* With luck this will be enough to get the program working. */
.interp : { *(.interp) } :text :interp
.text : { *(.text) } :text
. += 0x100000;
. = ALIGN(0x100);
.dynamic : { *(.dynamic) } :data :dynamic
.data : { *(.data) } :data
.tdata : { *(.tdata*) } :data :tls
.tbss : { *(.tbss*) } :data :tls
. += 0x100000;
. = ALIGN(0x100000);
.bss : { *(.bss) } :bss
}
PHDRS
{
text PT_LOAD FILEHDR PHDRS FLAGS(5);
interp PT_INTERP;
dynamic PT_DYNAMIC FLAGS(4);
data PT_LOAD;
bss PT_LOAD;
tls PT_TLS;
}