Correct disassembly of dot product instructions.
[deliverable/binutils-gdb.git] / bfd / libieee.h
CommitLineData
252b5132 1/* IEEE-695 object file formats: definitions internal to BFD.
2571583a 2 Copyright (C) 1990-2017 Free Software Foundation, Inc.
252b5132
RH
3 Written by Cygnus Support. Mostly Steve Chamberlain's fault.
4
cd123cb7 5 This file is part of BFD, the Binary File Descriptor library.
252b5132 6
cd123cb7
NC
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
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
252b5132 11
cd123cb7
NC
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.
252b5132 16
cd123cb7
NC
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
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
252b5132
RH
21
22typedef struct {
23 unsigned int index:24;
24 char letter;
25} ieee_symbol_index_type;
26
27typedef struct ct {
28 bfd *this;
29 struct ct *next;
30} bfd_chain_type;
31
dc810e39 32typedef struct ieee_symbol
252b5132
RH
33{
34 asymbol symbol;
35 struct ieee_symbol *next;
36
37 unsigned int index;
38} ieee_symbol_type;
39
40
41typedef struct ieee_reloc {
42 arelent relent;
43 struct ieee_reloc *next;
44 ieee_symbol_index_type symbol;
45
46} ieee_reloc_type;
47
48#define ieee_symbol(x) ((ieee_symbol_type *)(x))
49
50typedef struct ieee_per_section
51{
52 asection *section;
53 bfd_byte *data;
54 bfd_vma offset;
55 bfd_vma pc;
56 /* For output */
57 file_ptr current_pos;
58 unsigned int current_byte;
b34976b6 59 bfd_boolean initialized;
252b5132
RH
60 ieee_reloc_type **reloc_tail_ptr;
61} ieee_per_section_type;
62
63#define ieee_per_section(x) ((ieee_per_section_type *)((x)->used_by_bfd))
dc810e39 64
252b5132 65typedef struct {
47fda0d3 66 unsigned char *input_p;
acb56a83 67 unsigned char *end_p;
252b5132 68 unsigned char *first_byte;
47fda0d3 69 unsigned char *last_byte;
0a9d414a 70 bfd_size_type total_amt;
252b5132
RH
71 bfd *abfd;
72} common_header_type ;
73
74typedef struct ieee_data_struct
75{
76 common_header_type h;
b34976b6
AM
77 bfd_boolean read_symbols;
78 bfd_boolean read_data;
252b5132
RH
79 file_ptr output_cursor;
80 /* Map of section indexes to section ptrs */
81 asection **section_table;
82 unsigned int section_table_size;
83 ieee_address_descriptor_type ad;
84 ieee_module_begin_type mb;
85 ieee_w_variable_type w;
dc810e39 86
252b5132 87 unsigned int section_count;
dc810e39 88
252b5132
RH
89 unsigned int map_idx;
90 /* List of GLOBAL EXPORT symbols */
91 ieee_symbol_type *external_symbols;
92 /* List of UNDEFINED symbols */
93 ieee_symbol_type *external_reference;
dc810e39 94
252b5132
RH
95 /* When the symbols have been canonicalized, they are in a
96 * special order, we remember various bases here.. */
97 unsigned int external_symbol_max_index;
98 unsigned int external_symbol_min_index;
99 unsigned int external_symbol_count;
100 int external_symbol_base_offset;
dc810e39 101
252b5132
RH
102 unsigned int external_reference_max_index;
103 unsigned int external_reference_min_index;
104 unsigned int external_reference_count;
105 int external_reference_base_offset;
dc810e39 106
252b5132 107
b34976b6 108 bfd_boolean symbol_table_full;
252b5132 109
dc810e39 110
b34976b6 111bfd_boolean done_debug;
252b5132
RH
112
113
114bfd_chain_type *chain_head;
115bfd_chain_type *chain_root;
116
117} ieee_data_type;
118
119typedef struct {
120 file_ptr file_offset;
121 bfd *abfd;
122} ieee_ar_obstack_type;
123
dc810e39 124typedef struct ieee_ar_data_struct
252b5132
RH
125{
126 common_header_type h;
127 ieee_ar_obstack_type *elements;
dc810e39 128
252b5132
RH
129 unsigned int element_index ;
130 unsigned int element_count;
131
132} ieee_ar_data_type;
133
134#define IEEE_DATA(abfd) ((abfd)->tdata.ieee_data)
135#define IEEE_AR_DATA(abfd) ((abfd)->tdata.ieee_ar_data)
136
137#define ptr(abfd) (ieee_data(abfd)->input_p)
This page took 0.974754 seconds and 4 git commands to generate.