binutils-gdb/ld/testsuite
Alan Modra 2edab91c10 Make assignments to dot keep an empty output section.
An assignment to dot in an output section that allocates space of
course keeps the output section.  Here, I'm changing the behaviour for
assignments that don't allocate space.  The idea is not so much to
allow people to force output of an empty section with ". = .", but
to fix cases where an otherwise empty section has padding added by an
alignment expression that changes with relaxation or .eh_frame
editing.  Such a section might have zero size before relaxation and so
be stripped incorrectly.

ld/
	* ld.texinfo (Output Section Discarding): Mention assigning to dot
	as a way of keeping otherwise empty sections.
	* ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
	is_dot_plus_0, is_align_conditional): New predicates.
	(exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
	output section, except for some special cases.
	* scripttempl/elfmicroblaze.sc: Use canonical form to align at
	end of .heap and .stack.
ld/testsuite/
	* ld-shared/elf-offset.ld: Align end of .bss with canonical form
	of ALIGN that allows an empty .bss to be removed.
	* ld-arm/arm-dyn.ld: Likewise.
	* ld-arm/arm-lib.ld: Likewise.
	* ld-elfvsb/elf-offset.ld: Likewise.
	* ld-mips-elf/mips-dyn.ld: Likewise.
	* ld-mips-elf/mips-lib.ld: Likewise.
	* ld-arm/arm-no-rel-plt.ld: Remove duplicate ALIGN.
	* ld-powerpc/vle-multiseg-1.ld: Remove ALIGN at start of section.
	ALIGN address of section instead.
	* ld-powerpc/vle-multiseg-2.ld: Likewise.
	* ld-powerpc/vle-multiseg-3.ld: Likewise.
	* ld-powerpc/vle-multiseg-4.ld: Likewise.
	* ld-powerpc/vle-multiseg-6.ld: Likewise.
	* ld-scripts/empty-aligned.d: Check section headers not program
	headers.  Remove xfail and notarget.
	* ld-scripts/empty-aligned.t: Use canonical ALIGN for end of .text2.
2014-01-22 11:58:29 +10:30
..
config Add HOSTING_SLIBS and use it for -pie 2013-11-26 11:17:08 -08:00
ld-aarch64 ld/testsuite/ld-aarch64: Fixup IFUNC tests to work on all targets 2013-12-11 21:05:36 +00:00
ld-alpha
ld-arm Make assignments to dot keep an empty output section. 2014-01-22 11:58:29 +10:30
ld-auto-import
ld-bootstrap
ld-cdtest
ld-checks
ld-cris ld/ELF: refine fake STT_FILE symbol emission 2013-10-29 17:52:24 +01:00
ld-crx
ld-cygwin
ld-d10v
ld-discard
ld-elf Don't check shared/export_dynamic/ref_dynamic for type mismatch 2014-01-21 05:33:48 -08:00
ld-elfcomm
ld-elfvers Allow for extra st_other readelf output in ld testsuite 2013-11-04 10:18:47 +10:30
ld-elfvsb Make assignments to dot keep an empty output section. 2014-01-22 11:58:29 +10:30
ld-elfweak
ld-fastcall
ld-frv
ld-gc
ld-h8300
ld-i386
ld-ia64 Pass ignored unresolved relocations to ld backend 2013-11-05 10:29:44 -08:00
ld-ifunc Check incompatible existing default symbol definition 2014-01-21 15:42:51 -08:00
ld-libs
ld-linkonce
ld-m68hc11
ld-m68k
ld-mep
ld-metag
ld-mips-elf Make assignments to dot keep an empty output section. 2014-01-22 11:58:29 +10:30
ld-misc
ld-mmix ld/ELF: refine fake STT_FILE symbol emission 2013-10-29 17:52:24 +01:00
ld-mn10300
ld-nds32 Add support for Andes NDS32: 2013-12-13 11:52:32 +00:00
ld-nios2
ld-pe strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
ld-pie Set ET_EXEC for -pie -Ttext-segment= 2013-12-12 07:41:27 -08:00
ld-plugin Add and use check_lto_shared_available 2014-01-09 09:01:53 -08:00
ld-powerpc Make assignments to dot keep an empty output section. 2014-01-22 11:58:29 +10:30
ld-s390 2013-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2013-07-05 09:51:00 +00:00
ld-scripts Make assignments to dot keep an empty output section. 2014-01-22 11:58:29 +10:30
ld-selective
ld-sh ld/ELF: refine fake STT_FILE symbol emission 2013-10-29 17:52:24 +01:00
ld-shared Make assignments to dot keep an empty output section. 2014-01-22 11:58:29 +10:30
ld-size
ld-sparc
ld-spu
ld-srec
ld-tic6x
ld-tilegx
ld-tilepro
ld-undefined
ld-unique
ld-v850
ld-vax-elf * ld-vax-elf/export-class-call.dd: New test. 2013-07-27 22:28:29 +00:00
ld-versados
ld-vxworks
ld-x86-64 Don't adjust LOAD segment to match GNU_RELRO segment 2014-01-10 21:49:56 +10:30
ld-xc16x
ld-xstormy16
ld-xtensa
lib * lib/ld-lib.exp (default_ld_link): Remove support for ldflags. 2014-01-14 13:09:22 +00:00
ChangeLog Make assignments to dot keep an empty output section. 2014-01-22 11:58:29 +10:30
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013 New Year - binutils ChangeLog rotation 2014-01-08 05:32:12 -08:00
ChangeLog-9303