Back to index

cell-binutils  2.17cvs20070401
elf32-spu.h
Go to the documentation of this file.
00001 /* SPU specific support for 32-bit ELF.
00002 
00003    Copyright 2006, 2007 Free Software Foundation, Inc.
00004 
00005    This file is part of BFD, the Binary File Descriptor library.
00006 
00007    This program is free software; you can redistribute it and/or modify
00008    it under the terms of the GNU General Public License as published by
00009    the Free Software Foundation; either version 2 of the License, or
00010    (at your option) any later version.
00011 
00012    This program is distributed in the hope that it will be useful,
00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015    GNU General Public License for more details.
00016 
00017    You should have received a copy of the GNU General Public License
00018    along with this program; if not, write to the Free Software Foundation,
00019    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
00020 
00021 /* Extra info kept for SPU sections.  */
00022 
00023 struct _spu_elf_section_data
00024 {
00025   struct bfd_elf_section_data elf;
00026 
00027   /* Non-zero for overlay output sections.  */
00028   unsigned int ovl_index;
00029 };
00030 
00031 #define spu_elf_section_data(sec) \
00032   ((struct _spu_elf_section_data *) elf_section_data (sec))
00033 
00034 struct _ovl_stream
00035 {
00036   const void *start;
00037   const void *end;
00038 };
00039 
00040 extern void spu_elf_plugin (int);
00041 extern bfd_boolean spu_elf_open_builtin_lib (bfd **,
00042                                         const struct _ovl_stream *);
00043 extern bfd_boolean spu_elf_create_sections (bfd *,
00044                                        struct bfd_link_info *);
00045 extern bfd_boolean spu_elf_find_overlays (bfd *, struct bfd_link_info *);
00046 extern bfd_boolean spu_elf_size_stubs (bfd *, struct bfd_link_info *, int,
00047                                    asection **, asection **,
00048                                    asection **);
00049 extern bfd_boolean spu_elf_build_stubs (struct bfd_link_info *, int,
00050                                    asection *);
00051 extern asection *spu_elf_check_vma (bfd *, bfd_vma, bfd_vma);