mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
f6973bdcb7
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.
51 lines
1.5 KiB
Perl
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;
|
|
}
|