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
..
README Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
aarch64elf.em Fix spelling mistakes. 2018-06-26 12:56:23 +01:00
aix.em ld error/warning messages 2018-02-26 10:51:12 +10:30
alphaelf.em ld error/warning messages 2018-02-26 10:51:12 +10:30
arclinux.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
armcoff.em ld error/warning messages 2018-02-26 10:51:12 +10:30
armelf.em [ARM] Fix warning cannot find thumb start symbol 2018-07-09 07:47:24 +00:00
astring.sed * emultempl/ostring.sed: Rename from stringify.sed. 1999-08-06 22:46:03 +00:00
avrelf.em Fix spelling mistakes. 2018-06-26 12:56:23 +01:00
beos.em ld error/warning messages 2018-02-26 10:51:12 +10:30
bfin.em ld error/warning messages 2018-02-26 10:51:12 +10:30
cr16elf.em ld error/warning messages 2018-02-26 10:51:12 +10:30
crxelf.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cskyelf.em Add support for the C_SKY series of processors. 2018-07-30 12:24:14 +01:00
elf-generic.em ld error/warning messages 2018-02-26 10:51:12 +10:30
elf32.em ehdr_start twiddles 2018-08-24 18:25:22 +09:30
epiphanyelf_4x4.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
genelf.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
generic.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
hppaelf.em ld error/warning messages 2018-02-26 10:51:12 +10:30
ia64elf.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
irix.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
linux.em ld error/warning messages 2018-02-26 10:51:12 +10:30
m68hc1xelf.em ld error/warning messages 2018-02-26 10:51:12 +10:30
m68kelf.em Remove m68k-aout and m68k-coff support 2018-04-16 15:31:36 +09:30
metagelf.em ld error/warning messages 2018-02-26 10:51:12 +10:30
mipself.em ld error/warning messages 2018-02-26 10:51:12 +10:30
mmix-elfnmmo.em ld error/warning messages 2018-02-26 10:51:12 +10:30
mmixelf.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mmo.em ld error/warning messages 2018-02-26 10:51:12 +10:30
msp430.em ld error/warning messages 2018-02-26 10:51:12 +10:30
nds32elf.em nds32: Remove the unsupported target feature. 2018-03-15 14:50:51 +08:00
needrelax.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
netbsd.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
nios2elf.em ld error/warning messages 2018-02-26 10:51:12 +10:30
ostring.sed * emultempl/ostring.sed: Rename from stringify.sed. 1999-08-06 22:46:03 +00:00
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 Inline PLT call optimization 2018-04-09 17:40:54 +09:30
ppc64elf.em Inline PLT call optimization 2018-04-09 17:40:54 +09:30
pruelf.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
riscvelf.em RISC-V: Don't enable relaxation in relocatable link 2018-03-15 09:54:51 +01:00
rxelf.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
s390.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
scoreelf.em ld error/warning messages 2018-02-26 10:51:12 +10:30
solaris2.em solaris2.em: Fold after_allocation into before_allocation 2018-01-18 16:22:13 -08:00
spu_icache.S bfd/ 2009-03-17 12:46:19 +00:00
spu_icache.o_c Regenerate spu overlay and icache manager files 2014-11-04 22:36:13 +10:30
spu_ovl.S Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
spu_ovl.o_c Regenerate spu_ovl.o_c 2016-10-15 12:53:57 +10:30
spuelf.em ld error/warning messages 2018-02-26 10:51:12 +10:30
tic6xdsbt.em ld error/warning messages 2018-02-26 10:51:12 +10:30
ticoff.em ld error/warning messages 2018-02-26 10:51:12 +10:30
v850elf.em ld error/warning messages 2018-02-26 10:51:12 +10:30
vanilla.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
vms.em ld error/warning messages 2018-02-26 10:51:12 +10:30
vxworks.em ld error/warning messages 2018-02-26 10:51:12 +10:30
xtensaelf.em ld error/warning messages 2018-02-26 10:51:12 +10:30
z80.em Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30

README

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.