binutils-gdb/ld/emultempl
Alan Modra 3d9c8f6b3f Delay evaluation of alignment expressions in output sections
git commit 702d16713 broke expressions using CONSTANT(COMMONPAGESIZE)
in ALIGN or SUBALIGN of output section statements, because these
optional fields were evaluated at script parse time and the patch in
question delayed setting of config.commonpagesize.  The right thing to
do is keep the tree representation of those fields for later
evaluation.

	PR 23571
	* ldlang.h (section_alignment): Make it an expression tree.
	(subsection_alignment): Likewise.
	* ldlang.c (topower): Delete.
	(output_section_statement_newfunc): Adjust initialization.
	(init_os): Evaluate section_alignment.
	(lang_size_sections_1): Likewise.
	(size_input_section): Evaluate subsection_alignment.
	(lang_enter_output_section_statement): Don't evaluate here.
	(lang_new_phdr): Use exp_get_vma rather than exp_get_value_int.
	* ldexp.h (exp_get_value_int): Delete.
	(exp_get_power): Declare.
	* ldexp.c (exp_get_value_int): Delete.
	(exp_get_power): New function.
	* emultempl/pe.em (place_orphan): Build expression for section
	alignment.
	* emultempl/pep.em (place_orphan): Likewise.
	* testsuite/ld-scripts/pr23571.d,
	* testsuite/ld-scripts/pr23571.t: New test.
	* testsuite/ld-scripts/align.exp: Run it.
2018-08-26 22:45:59 +09:30
..
aarch64elf.em Fix spelling mistakes. 2018-06-26 12:56:23 +01:00
aix.em
alphaelf.em
arclinux.em
armcoff.em
armelf.em [ARM] Fix warning cannot find thumb start symbol 2018-07-09 07:47:24 +00:00
astring.sed
avrelf.em Fix spelling mistakes. 2018-06-26 12:56:23 +01:00
beos.em
bfin.em
cr16elf.em
crxelf.em
cskyelf.em Add support for the C_SKY series of processors. 2018-07-30 12:24:14 +01:00
elf32.em ehdr_start twiddles 2018-08-24 18:25:22 +09:30
elf-generic.em
epiphanyelf_4x4.em
genelf.em
generic.em
hppaelf.em
ia64elf.em
irix.em
linux.em
m68hc1xelf.em
m68kelf.em
metagelf.em
mipself.em
mmix-elfnmmo.em
mmixelf.em
mmo.em
msp430.em
nds32elf.em
needrelax.em
netbsd.em
nios2elf.em
ostring.sed
pe.em Delay evaluation of alignment expressions in output sections 2018-08-26 22:45:59 +09:30
pep.em Delay evaluation of alignment expressions in output sections 2018-08-26 22:45:59 +09:30
ppc32elf.em
ppc64elf.em
pruelf.em
README
riscvelf.em
rxelf.em
s390.em
scoreelf.em
solaris2.em
spu_icache.o_c
spu_icache.S
spu_ovl.o_c
spu_ovl.S
spuelf.em
tic6xdsbt.em
ticoff.em
v850elf.em
vanilla.em
vms.em
vxworks.em
xtensaelf.em
z80.em

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

The files in this directory are sourced by genscripts.sh, after
setting some variables to substitute in, to produce
C source files that contain jump tables for each emulation.

Copyright (C) 2012-2018 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.