binutils-gdb/ld/testsuite
Alan Modra df136d64fa PowerPC64 EH info for _notoc linkage stubs
This patch generates EH info for the new _notoc linkage stubs, to
support unwinding from asynchronous signal handlers.  Unwinding
through the __tls_get_addr_opt stub was already supported, but that
was just a single stub.  With multiple stubs the EH opcodes need to be
emitted and sized when iterating over stubs, so this is done when
emitting and sizing the stub code.  Emitting the CIEs and FDEs is done
when sizing the stubs, as we did before in order to have the linker
generated FDEs indexed in .eh_frame_hdr.  I moved the final tweaks to
FDEs from ppc64_elf_finish_dynamic_sections to ppc64_elf_build_stubs
simply because it's tidier to be done with them at that point.

bfd/
	* elf64-ppc.c (struct map_stub): Delete tls_get_addr_opt_bctrl.
	Add lr_restore, eh_size and eh_base.
	(eh_advance, eh_advance_size): New functions.
	(build_tls_get_addr_stub): Emit EH info for stub.
	(ppc_build_one_stub): Likewise for _notoc stubs.
	(ppc_size_one_stub): Size EH info for stub.
	(group_sections): Init new map_stub fields.
	(stub_eh_frame_size): Delete.
	(ppc64_elf_size_stubs): Size EH info for stubs.  Set up dummy EH
	program for stubs.
	(ppc64_elf_build_stubs): Reinit new map_stub fields.  Set FDE
	offset to stub section here..
	(ppc64_elf_finish_dynamic_sections): ..rather than here.
ld/
	* testsuite/ld-powerpc/notoc.s: Generate some cfi.
	* testsuite/ld-powerpc/notoc.d: Adjust.
	* testsuite/ld-powerpc/notoc.wf: New file.
	* testsuite/ld-powerpc/powerpc.exp: Run "ext" and "notoc" tests
	as run_ld_link_tests rather than run_dump_test.
2018-08-07 18:43:55 +09:30
..
config
ld-aarch64 Fix spurious check-ld failures on aarch64-elf 2018-08-01 13:36:51 -07:00
ld-alpha
ld-arc [ARC] Update merging attributes. 2018-08-06 16:41:32 +03:00
ld-arm
ld-auto-import
ld-avr
ld-bootstrap
ld-cdtest
ld-checks
ld-cris
ld-crx
ld-csky Add support for the C_SKY series of processors. 2018-07-30 12:24:14 +01:00
ld-cygwin
ld-d10v
ld-discard xgate testsuite fixes 2018-07-10 23:59:59 +09:30
ld-elf Add support for the C_SKY series of processors. 2018-07-30 12:24:14 +01:00
ld-elfcomm
ld-elfvers
ld-elfvsb
ld-elfweak
ld-fastcall
ld-frv
ld-gc Revise "ld testsuite use of notarget" 2018-07-11 16:39:04 +09:30
ld-h8300
ld-i386 x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed 2018-07-20 09:19:00 -07:00
ld-ia64
ld-ifunc ifunc.exp: Always build static_nonifunc_prog 2018-08-02 05:42:53 -07:00
ld-libs
ld-linkonce x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed 2018-07-20 09:19:00 -07:00
ld-m68hc11
ld-m68k
ld-mep
ld-metag
ld-mips-elf MIPS/LD/testsuite: Correct mips-elf.exp test ABI/emul/endian arrangement 2018-07-12 20:01:44 +01:00
ld-misc ld testsuite use of notarget 2018-07-10 23:58:29 +09:30
ld-mmix
ld-mn10300
ld-msp430-elf
ld-nds32
ld-nios2
ld-pe ld testsuite use of notarget 2018-07-10 23:58:29 +09:30
ld-pie
ld-plugin Disable the PR12982 test for HPPA targets. 2018-08-02 16:37:12 +01:00
ld-powerpc PowerPC64 EH info for _notoc linkage stubs 2018-08-07 18:43:55 +09:30
ld-pru
ld-riscv-elf
ld-s12z
ld-s390 S/390: Improve partial relro support for 64 bit 2018-07-18 13:20:06 +02:00
ld-scripts x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed 2018-07-20 09:19:00 -07:00
ld-selective
ld-sh
ld-shared
ld-size
ld-sparc
ld-spu
ld-srec Add support for the C_SKY series of processors. 2018-07-30 12:24:14 +01:00
ld-tic6x
ld-tilegx
ld-tilepro
ld-undefined
ld-unique Add support for the C_SKY series of processors. 2018-07-30 12:24:14 +01:00
ld-v850
ld-vax-elf
ld-visium
ld-vxworks
ld-x86-64 x32: Align the .note.gnu.property section to 4 bytes 2018-08-03 15:47:26 -07:00
ld-xc16x
ld-xstormy16
ld-xtensa xtensa: ld: convert tests to run_dump_test 2018-07-23 12:06:40 -07:00
ld-z8k
lib x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed 2018-07-20 09:19:00 -07:00
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-9303