elf32-spu.h revision 259065
11556Srgrimes/* SPU specific support for 32-bit ELF. 21556Srgrimes 31556Srgrimes Copyright 2006, 2007 Free Software Foundation, Inc. 41556Srgrimes 51556Srgrimes This file is part of BFD, the Binary File Descriptor library. 61556Srgrimes 71556Srgrimes This program is free software; you can redistribute it and/or modify 81556Srgrimes it under the terms of the GNU General Public License as published by 91556Srgrimes the Free Software Foundation; either version 2 of the License, or 101556Srgrimes (at your option) any later version. 111556Srgrimes 121556Srgrimes This program is distributed in the hope that it will be useful, 131556Srgrimes but WITHOUT ANY WARRANTY; without even the implied warranty of 141556Srgrimes MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 151556Srgrimes GNU General Public License for more details. 161556Srgrimes 171556Srgrimes You should have received a copy of the GNU General Public License 181556Srgrimes along with this program; if not, write to the Free Software Foundation, 191556Srgrimes Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 201556Srgrimes 211556Srgrimes/* Extra info kept for SPU sections. */ 221556Srgrimes 231556Srgrimesstruct spu_elf_stack_info; 241556Srgrimes 251556Srgrimesstruct _spu_elf_section_data 261556Srgrimes{ 271556Srgrimes struct bfd_elf_section_data elf; 281556Srgrimes 291556Srgrimes /* Stack analysis info kept for this section. */ 301556Srgrimes 311556Srgrimes struct spu_elf_stack_info *stack_info; 321556Srgrimes 331556Srgrimes /* Non-zero for overlay output sections. */ 341556Srgrimes unsigned int ovl_index; 351556Srgrimes}; 361556Srgrimes 371556Srgrimes#define spu_elf_section_data(sec) \ 3836150Scharnier ((struct _spu_elf_section_data *) elf_section_data (sec)) 3936150Scharnier 4036150Scharnierstruct _ovl_stream 411556Srgrimes{ 4299110Sobrien const void *start; 4399110Sobrien const void *end; 441556Srgrimes}; 4517987Speter 4617987Speterextern void spu_elf_plugin (int); 4717987Speterextern bfd_boolean spu_elf_open_builtin_lib (bfd **, 4899762Stjr const struct _ovl_stream *); 4917987Speterextern bfd_boolean spu_elf_create_sections (bfd *, 5017987Speter struct bfd_link_info *, int, int); 5117987Speterextern bfd_boolean spu_elf_find_overlays (bfd *, struct bfd_link_info *); 5217987Speterextern bfd_boolean spu_elf_size_stubs (bfd *, struct bfd_link_info *, int, int, 5317987Speter asection **, asection **, 5417987Speter asection **); 5569793Sobrienextern bfd_boolean spu_elf_build_stubs (struct bfd_link_info *, int, 5618018Speter asection *); 5717987Speterextern asection *spu_elf_check_vma (bfd *, bfd_vma, bfd_vma); 581556Srgrimes