Control powerpc64-ld provision of register save/restore
authorAlan Modra <amodra@gmail.com>
Wed, 19 Feb 2014 03:53:12 +0000 (14:23 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 19 Feb 2014 04:23:50 +0000 (14:53 +1030)
commit7d4c687d5653e380cf69ac588563c9e273828353
tree26974e8d7719fec7260986c632af4f85399ff64e
parente095146be2c9f27e20743810038dc372a0387f75
Control powerpc64-ld provision of register save/restore

This patch allows the user to override powerpc64-ld's default for
providing linker generated register save and restore functions as used
by gcc -Os code.  Normally these are not provided by ld -r, so Linux
kernel modules have needed to include their own copies.

bfd/
* elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
* elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
provision of out-of-line register save/restore routines.
ld/
* emultempl/ppc64elf.em (params): Init new field.
(ppc_create_output_section_statements): Set params.save_restore_funcs
default.
(PARSE_AND_LIST_*): Add support for --save-restore-funcs and
--no-save-restore-funcs.
bfd/ChangeLog
bfd/elf64-ppc.c
bfd/elf64-ppc.h
ld/ChangeLog
ld/emultempl/ppc64elf.em