* elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.

(struct ppc_link_hash_table): Add sfpr.
	(ppc64_elf_link_hash_table_create): Init it.
	(ppc64_elf_create_dynamic_sections): Split creation of .stub and
	.glink out to..
	(create_linkage_sections): ..here.  Make .sfpr too.
	(ppc64_elf_check_relocs): Call create_linkage_sections, and set
	dynobj early.
	(MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
	(ppc64_elf_func_desc_adjust): Look for missing ._savef* and
	._restf* functions, and create as needed.
	(func_desc_adjust): Only force_local for shared libs.

	* emulparams/elf64ppc.sh (OTHER_TEXT_SECTIONS): Define.
This commit is contained in:
Alan Modra 2002-02-18 12:40:28 +00:00
parent ef1355e8a0
commit 82bd7b59c9
4 changed files with 171 additions and 31 deletions

View file

@ -1,3 +1,7 @@
2002-02-18 Alan Modra <amodra@bigpond.net.au>
* emulparams/elf64ppc.sh (OTHER_TEXT_SECTIONS): Define.
2002-02-18 David O'Brien <obrien@FreeBSD.org>
* Makefile.in: Add new files earmelf_fbsd, eelf32ppc_fbsd,

View file

@ -15,6 +15,7 @@ CTOR_START='PROVIDE (__CTOR_LIST__ = .); PROVIDE (___CTOR_LIST__ = .);'
CTOR_END='PROVIDE (__CTOR_END__ = .); PROVIDE (___CTOR_END__ = .);'
DTOR_START='PROVIDE (__DTOR_LIST__ = .); PROVIDE (___DTOR_LIST__ = .);'
DTOR_END='PROVIDE (__DTOR_END__ = .); PROVIDE (___DTOR_END__ = .);'
OTHER_TEXT_SECTIONS="*(.sfpr .glink)"
BSS_PLT=
OTHER_BSS_SYMBOLS="
.tocbss ${RELOCATING-0}${RELOCATING+ALIGN(8)} : { *(.tocbss)}"