binutils-gdb/ld/testsuite/ld-scripts/fill.d
Alan Modra ffe54b3798 Pad sections according to current script FILL.
When aligning input sections, we are supposed to take the fill pattern
from a FILL statement, if there is one in the output section statement.

ld/
	* ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
	current "fill", not "output_section_statement->fill".
ld/testsuite/
	* ld-scripts/fill.d, * ld-scripts/fill.t, * ld-scripts/fill_0.s,
	* ld-scripts/fill_1.s, * ld-scripts/fill_2.s: New test.
	* ld-scripts/data.exp: Run it.
2014-04-04 19:06:35 +10:30

30 lines
1.0 KiB
Makefile

#source: fill_0.s
#source: fill_1.s
#source: fill_2.s
#ld: -T fill.t
#objdump: -s -j .text
#xfail: ia64-*-* alpha-*-*ecoff m32c-*-* mips*-*-* sh-*-pe sparc*-*-coff
#xfail: tic30-*-coff tic4x-*-* tic54x-*-*
#xfail: x86_64-*-pe* x86_64-*-mingw* x86_64-*-cygwin z8k-*-*
# Breaks on ia64 due to minimum alignment of code. The section alignment
# could be increased to suit ia64 but then we'd break many coff targets
# that don't support alignment other than 4 bytes.
# alpha-linuxecoff always aligns code to 16 bytes.
# m32c pads out code sections to 8 bytes.
# mips aligns to 16 bytes
# sh-pe pads out code sections to 16 bytes
# sparc-coff aligns to 8 bytes
# tic30-coff aligns to 2 bytes
# tic4x has 4 octet bytes
# tic54x doesn't support .p2align
# x86_64-pe aligns to 16 bytes
# z8k-coff aligns to 2 bytes
.*: file format .*
Contents of section .text:
[0-9a-f]+ cafebabe 01010101 02020202 12232323 .*
[0-9a-f]+ 03030303 00345600 00004567 000089ab .*
[0-9a-f]+ (deadbeef|efbeadde) 00004567 000089ab 0000cdef .*
[0-9a-f]+ 00004567 000089ab 0000cdef 00000123 .*