bfd/
[deliverable/binutils-gdb.git] / bfd / elf32-spu.h
CommitLineData
e9f53129
AM
1/* SPU specific support for 32-bit ELF.
2
c65be8d7 3 Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
e9f53129
AM
4
5 This file is part of BFD, the Binary File Descriptor library.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
cd123cb7 9 the Free Software Foundation; either version 3 of the License, or
e9f53129
AM
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software Foundation,
19 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
20
21/* Extra info kept for SPU sections. */
22
49fa1e15
AM
23struct spu_elf_stack_info;
24
e9f53129
AM
25struct _spu_elf_section_data
26{
27 struct bfd_elf_section_data elf;
28
47f6dab9
AM
29 union {
30 /* Info kept for input sections. */
31 struct {
32 /* Stack analysis info kept for this section. */
33 struct spu_elf_stack_info *stack_info;
34 } i;
49fa1e15 35
47f6dab9
AM
36 /* Info kept for output sections. */
37 struct {
38 /* Non-zero for overlay output sections. */
39 unsigned int ovl_index;
40 unsigned int ovl_buf;
41 } o;
42 } u;
e9f53129
AM
43};
44
45#define spu_elf_section_data(sec) \
46 ((struct _spu_elf_section_data *) elf_section_data (sec))
47
48struct _ovl_stream
49{
7a8757b3
AM
50 const void *start;
51 const void *end;
e9f53129
AM
52};
53
54extern void spu_elf_plugin (int);
55extern bfd_boolean spu_elf_open_builtin_lib (bfd **,
56 const struct _ovl_stream *);
c65be8d7
AM
57extern bfd_boolean spu_elf_create_sections (struct bfd_link_info *, int, int);
58extern bfd_boolean spu_elf_find_overlays (struct bfd_link_info *);
59extern int spu_elf_size_stubs (struct bfd_link_info *,
47f6dab9
AM
60 void (*) (asection *, asection *, const char *),
61 int);
62extern bfd_boolean spu_elf_build_stubs (struct bfd_link_info *, int);
9dcc4794
AM
63extern asection *spu_elf_check_vma (struct bfd_link_info *, int,
64 unsigned int, unsigned int, unsigned int,
99302af9 65 unsigned int, int, void (*) (void),
9dcc4794 66 FILE *(*) (void), void (*) (void));
This page took 0.141283 seconds and 4 git commands to generate.