mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-05 08:14:19 +08:00
1c865ab2fb
* elf64-ppc.h (ppc64_elf_toc): Delete. (ppc64_elf_set_toc): Declare. * elf64-ppc.c (ppc64_elf_toc_reloc): Replace call to ppc64_elf_toc with call the ppc64_elf_set_toc. (ppc64_elf_toc_ha_reloc, ppc64_elf_toc64_reloc): Likewise. (ppc64_elf_start_multitoc_partition): Likewise. (struct ppc_link_hash_table): Delete dot_toc_dot. Replace all uses with elf.hgot. (ppc64_elf_process_dot_syms): Don't make a fake function descriptor for ".TOC.". (ppc64_elf_check_relocs): Mark sections with a reference to .TOC. as needing a toc pointer. (ppc64_elf_size_stubs): Don't set dot_toc_dot here. (ppc64_elf_set_toc): Rename from ppc64_elf_toc. Add info param. Set elf.hgot value. ld/ * emultempl/ppc64elf.em: (ppc_layout_sections_again): Call ppc64_elf_set_toc rather than ppc64_elf_toc/_bfd_set_gp_value. (gld${EMULATION_NAME}_after_allocation): Likewise.
57 lines
2.1 KiB
C
57 lines
2.1 KiB
C
/* PowerPC64-specific support for 64-bit ELF.
|
|
Copyright 2002, 2003, 2004, 2005, 2007, 2008, 2010, 2011, 2012
|
|
Free Software Foundation, Inc.
|
|
|
|
This file is part of BFD, the Binary File Descriptor library.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
|
MA 02110-1301, USA. */
|
|
|
|
bfd_boolean ppc64_elf_init_stub_bfd
|
|
(bfd *, struct bfd_link_info *);
|
|
bfd_boolean ppc64_elf_edit_opd
|
|
(struct bfd_link_info *, bfd_boolean);
|
|
asection *ppc64_elf_tls_setup
|
|
(struct bfd_link_info *, int, int *);
|
|
bfd_boolean ppc64_elf_tls_optimize
|
|
(struct bfd_link_info *);
|
|
bfd_boolean ppc64_elf_edit_toc
|
|
(struct bfd_link_info *);
|
|
bfd_boolean ppc64_elf_has_small_toc_reloc
|
|
(asection *);
|
|
bfd_vma ppc64_elf_set_toc
|
|
(struct bfd_link_info *, bfd *);
|
|
int ppc64_elf_setup_section_lists
|
|
(struct bfd_link_info *, asection *(*) (const char *, asection *),
|
|
void (*) (void));
|
|
void ppc64_elf_start_multitoc_partition
|
|
(struct bfd_link_info *);
|
|
bfd_boolean ppc64_elf_next_toc_section
|
|
(struct bfd_link_info *, asection *);
|
|
bfd_boolean ppc64_elf_layout_multitoc
|
|
(struct bfd_link_info *);
|
|
void ppc64_elf_finish_multitoc_partition
|
|
(struct bfd_link_info *);
|
|
bfd_boolean ppc64_elf_check_init_fini
|
|
(struct bfd_link_info *);
|
|
bfd_boolean ppc64_elf_next_input_section
|
|
(struct bfd_link_info *, asection *);
|
|
bfd_boolean ppc64_elf_size_stubs
|
|
(struct bfd_link_info *, bfd_signed_vma, bfd_boolean, int, int);
|
|
bfd_boolean ppc64_elf_build_stubs
|
|
(bfd_boolean, struct bfd_link_info *, char **);
|
|
void ppc64_elf_restore_symbols
|
|
(struct bfd_link_info *info);
|