X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Felf32-spu.h;h=902ce70d075099d97111b6f8f699bb149e09bcab;hb=ed48ec2e6ec5514f01b9b3a810d6ddf39651114b;hp=442dd5d3b2e830e142427f2cbca90f32b6d88858;hpb=a3a219a90a59440cb2a29cee2a4cde87c6bfaf19;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elf32-spu.h b/bfd/elf32-spu.h index 442dd5d3b2..902ce70d07 100644 --- a/bfd/elf32-spu.h +++ b/bfd/elf32-spu.h @@ -1,6 +1,6 @@ /* SPU specific support for 32-bit ELF. - Copyright 2006, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2006-2019 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -15,8 +15,9 @@ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ struct spu_elf_params { @@ -35,7 +36,8 @@ struct spu_elf_params #define OVERLAY_RODATA 4 /* Type of overlays, enum _ovly_flavour. */ - unsigned int ovly_flavour : 2; + unsigned int ovly_flavour : 1; + unsigned int compact_stub : 1; /* Set if we should emit symbols for stubs. */ unsigned int emit_stub_syms : 1; @@ -44,18 +46,29 @@ struct spu_elf_params non-overlay regions. */ unsigned int non_overlay_stubs : 1; + /* Set if lr liveness analysis should be done. */ + unsigned int lrlive_analysis : 1; + /* Set if stack size analysis should be done. */ unsigned int stack_analysis : 1; /* Set if __stack_* syms will be emitted. */ unsigned int emit_stack_syms : 1; + /* Set if non-icache code should be allowed in icache lines. */ + unsigned int non_ia_text : 1; + + /* Set when the .fixup section should be generated. */ + unsigned int emit_fixups : 1; + /* Range of valid addresses for loadable sections. */ bfd_vma local_store_lo; bfd_vma local_store_hi; /* Control --auto-overlay feature. */ - unsigned int num_regions; + unsigned int num_lines; + unsigned int line_size; + unsigned int max_branch; unsigned int auto_overlay_fixed; unsigned int auto_overlay_reserved; int extra_stack_space; @@ -90,9 +103,8 @@ struct _spu_elf_section_data enum _ovly_flavour { - ovly_compact, ovly_normal, - ovly_none + ovly_soft_icache }; struct _ovl_stream @@ -106,7 +118,8 @@ extern void spu_elf_plugin (int); extern bfd_boolean spu_elf_open_builtin_lib (bfd **, const struct _ovl_stream *); extern bfd_boolean spu_elf_create_sections (struct bfd_link_info *); -extern bfd_boolean spu_elf_find_overlays (struct bfd_link_info *); +extern bfd_boolean spu_elf_size_sections (bfd *, struct bfd_link_info *); +extern int spu_elf_find_overlays (struct bfd_link_info *); extern int spu_elf_size_stubs (struct bfd_link_info *); -extern bfd_boolean spu_elf_build_stubs (struct bfd_link_info *); +extern void spu_elf_place_overlay_data (struct bfd_link_info *); extern asection *spu_elf_check_vma (struct bfd_link_info *);