1 |
/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically |
/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically |
2 |
generated from "proto.str chew". |
generated from "libbfd-in.h", "init.c", "libbfd.c", "bfdio.c", |
3 |
|
"bfdwin.c", "cache.c", "reloc.c", "archures.c" and "elf.c". |
4 |
Run "make headers" in your build bfd/ to regenerate. */ |
Run "make headers" in your build bfd/ to regenerate. */ |
5 |
|
|
6 |
/* libbfd.h -- Declarations used by bfd library *implementation*. |
/* libbfd.h -- Declarations used by bfd library *implementation*. |
7 |
(This include file is not for users of the library.) |
(This include file is not for users of the library.) |
8 |
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
|
9 |
2000, 2001, 2002 |
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, |
10 |
|
1999, 2000, 2001, 2002, 2003, 2004, 2005 |
11 |
Free Software Foundation, Inc. |
Free Software Foundation, Inc. |
12 |
|
|
13 |
Written by Cygnus Support. |
Written by Cygnus Support. |
14 |
|
|
15 |
This file is part of BFD, the Binary File Descriptor library. |
This file is part of BFD, the Binary File Descriptor library. |
43 |
|
|
44 |
/* Set a tdata field. Can't use the other macros for this, since they |
/* Set a tdata field. Can't use the other macros for this, since they |
45 |
do casts, and casting to the left of assignment isn't portable. */ |
do casts, and casting to the left of assignment isn't portable. */ |
46 |
#define set_tdata(bfd, v) ((bfd)->tdata.any = (PTR) (v)) |
#define set_tdata(bfd, v) ((bfd)->tdata.any = (v)) |
47 |
|
|
48 |
/* If BFD_IN_MEMORY is set for a BFD, then the iostream fields points |
/* If BFD_IN_MEMORY is set for a BFD, then the iostream fields points |
49 |
to an instance of this structure. */ |
to an instance of this structure. */ |
76 |
archive. */ |
archive. */ |
77 |
file_ptr armap_datepos; /* Position within archive to seek to |
file_ptr armap_datepos; /* Position within archive to seek to |
78 |
rewrite the date field. */ |
rewrite the date field. */ |
79 |
PTR tdata; /* Backend specific information. */ |
void *tdata; /* Backend specific information. */ |
80 |
}; |
}; |
81 |
|
|
82 |
#define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data) |
#define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data) |
90 |
|
|
91 |
#define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size) |
#define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size) |
92 |
|
|
93 |
extern PTR bfd_malloc PARAMS ((bfd_size_type)); |
extern void *bfd_malloc |
94 |
extern PTR bfd_realloc PARAMS ((PTR, bfd_size_type)); |
(bfd_size_type); |
95 |
extern PTR bfd_zmalloc PARAMS ((bfd_size_type)); |
extern void *bfd_realloc |
96 |
|
(void *, bfd_size_type); |
97 |
|
extern void *bfd_zmalloc |
98 |
|
(bfd_size_type); |
99 |
|
|
100 |
|
extern void _bfd_default_error_handler (const char *s, ...); |
101 |
extern bfd_error_handler_type _bfd_error_handler; |
extern bfd_error_handler_type _bfd_error_handler; |
102 |
|
|
103 |
/* These routines allocate and free things on the BFD's objalloc. */ |
/* These routines allocate and free things on the BFD's objalloc. */ |
104 |
|
|
105 |
extern PTR bfd_alloc PARAMS ((bfd *, bfd_size_type)); |
extern void *bfd_alloc |
106 |
extern PTR bfd_zalloc PARAMS ((bfd *, bfd_size_type)); |
(bfd *, bfd_size_type); |
107 |
extern void bfd_release PARAMS ((bfd *, PTR)); |
extern void *bfd_zalloc |
108 |
|
(bfd *, bfd_size_type); |
109 |
bfd * _bfd_create_empty_archive_element_shell PARAMS ((bfd *obfd)); |
extern void bfd_release |
110 |
bfd * _bfd_look_for_bfd_in_cache PARAMS ((bfd *, file_ptr)); |
(bfd *, void *); |
111 |
boolean _bfd_add_bfd_to_archive_cache PARAMS ((bfd *, file_ptr, bfd *)); |
|
112 |
boolean _bfd_generic_mkarchive PARAMS ((bfd *abfd)); |
bfd * _bfd_create_empty_archive_element_shell |
113 |
const bfd_target *bfd_generic_archive_p PARAMS ((bfd *abfd)); |
(bfd *obfd); |
114 |
boolean bfd_slurp_armap PARAMS ((bfd *abfd)); |
bfd * _bfd_look_for_bfd_in_cache |
115 |
boolean bfd_slurp_bsd_armap_f2 PARAMS ((bfd *abfd)); |
(bfd *, file_ptr); |
116 |
|
bfd_boolean _bfd_add_bfd_to_archive_cache |
117 |
|
(bfd *, file_ptr, bfd *); |
118 |
|
bfd_boolean _bfd_generic_mkarchive |
119 |
|
(bfd *abfd); |
120 |
|
const bfd_target *bfd_generic_archive_p |
121 |
|
(bfd *abfd); |
122 |
|
bfd_boolean bfd_slurp_armap |
123 |
|
(bfd *abfd); |
124 |
|
bfd_boolean bfd_slurp_bsd_armap_f2 |
125 |
|
(bfd *abfd); |
126 |
#define bfd_slurp_bsd_armap bfd_slurp_armap |
#define bfd_slurp_bsd_armap bfd_slurp_armap |
127 |
#define bfd_slurp_coff_armap bfd_slurp_armap |
#define bfd_slurp_coff_armap bfd_slurp_armap |
128 |
boolean _bfd_slurp_extended_name_table PARAMS ((bfd *abfd)); |
bfd_boolean _bfd_slurp_extended_name_table |
129 |
extern boolean _bfd_construct_extended_name_table |
(bfd *abfd); |
130 |
PARAMS ((bfd *, boolean, char **, bfd_size_type *)); |
extern bfd_boolean _bfd_construct_extended_name_table |
131 |
boolean _bfd_write_archive_contents PARAMS ((bfd *abfd)); |
(bfd *, bfd_boolean, char **, bfd_size_type *); |
132 |
boolean _bfd_compute_and_write_armap PARAMS ((bfd *, unsigned int elength)); |
bfd_boolean _bfd_write_archive_contents |
133 |
bfd *_bfd_get_elt_at_filepos PARAMS ((bfd *archive, file_ptr filepos)); |
(bfd *abfd); |
134 |
extern bfd *_bfd_generic_get_elt_at_index PARAMS ((bfd *, symindex)); |
bfd_boolean _bfd_compute_and_write_armap |
135 |
bfd * _bfd_new_bfd PARAMS ((void)); |
(bfd *, unsigned int elength); |
136 |
void _bfd_delete_bfd PARAMS ((bfd *)); |
bfd *_bfd_get_elt_at_filepos |
137 |
|
(bfd *archive, file_ptr filepos); |
138 |
boolean bfd_false PARAMS ((bfd *ignore)); |
extern bfd *_bfd_generic_get_elt_at_index |
139 |
boolean bfd_true PARAMS ((bfd *ignore)); |
(bfd *, symindex); |
140 |
PTR bfd_nullvoidptr PARAMS ((bfd *ignore)); |
bfd * _bfd_new_bfd |
141 |
int bfd_0 PARAMS ((bfd *ignore)); |
(void); |
142 |
unsigned int bfd_0u PARAMS ((bfd *ignore)); |
void _bfd_delete_bfd |
143 |
long bfd_0l PARAMS ((bfd *ignore)); |
(bfd *); |
144 |
long _bfd_n1 PARAMS ((bfd *ignore)); |
|
145 |
void bfd_void PARAMS ((bfd *ignore)); |
bfd_boolean bfd_false |
146 |
|
(bfd *ignore); |
147 |
bfd *_bfd_new_bfd_contained_in PARAMS ((bfd *)); |
bfd_boolean bfd_true |
148 |
const bfd_target *_bfd_dummy_target PARAMS ((bfd *abfd)); |
(bfd *ignore); |
149 |
|
void *bfd_nullvoidptr |
150 |
void bfd_dont_truncate_arname PARAMS ((bfd *abfd, const char *filename, |
(bfd *ignore); |
151 |
char *hdr)); |
int bfd_0 |
152 |
void bfd_bsd_truncate_arname PARAMS ((bfd *abfd, const char *filename, |
(bfd *ignore); |
153 |
char *hdr)); |
unsigned int bfd_0u |
154 |
void bfd_gnu_truncate_arname PARAMS ((bfd *abfd, const char *filename, |
(bfd *ignore); |
155 |
char *hdr)); |
long bfd_0l |
156 |
|
(bfd *ignore); |
157 |
boolean bsd_write_armap PARAMS ((bfd *arch, unsigned int elength, |
long _bfd_n1 |
158 |
struct orl *map, unsigned int orl_count, int stridx)); |
(bfd *ignore); |
159 |
|
void bfd_void |
160 |
boolean coff_write_armap PARAMS ((bfd *arch, unsigned int elength, |
(bfd *ignore); |
161 |
struct orl *map, unsigned int orl_count, int stridx)); |
|
162 |
|
bfd *_bfd_new_bfd_contained_in |
163 |
|
(bfd *); |
164 |
|
const bfd_target *_bfd_dummy_target |
165 |
|
(bfd *abfd); |
166 |
|
|
167 |
|
void bfd_dont_truncate_arname |
168 |
|
(bfd *abfd, const char *filename, char *hdr); |
169 |
|
void bfd_bsd_truncate_arname |
170 |
|
(bfd *abfd, const char *filename, char *hdr); |
171 |
|
void bfd_gnu_truncate_arname |
172 |
|
(bfd *abfd, const char *filename, char *hdr); |
173 |
|
|
174 |
|
bfd_boolean bsd_write_armap |
175 |
|
(bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count, |
176 |
|
int stridx); |
177 |
|
|
178 |
|
bfd_boolean coff_write_armap |
179 |
|
(bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count, |
180 |
|
int stridx); |
181 |
|
|
182 |
|
extern void *_bfd_generic_read_ar_hdr |
183 |
|
(bfd *); |
184 |
|
|
185 |
extern PTR _bfd_generic_read_ar_hdr PARAMS ((bfd *)); |
extern void *_bfd_generic_read_ar_hdr_mag |
186 |
|
(bfd *, const char *); |
187 |
|
|
188 |
extern PTR _bfd_generic_read_ar_hdr_mag PARAMS ((bfd *, const char *)); |
bfd * bfd_generic_openr_next_archived_file |
189 |
|
(bfd *archive, bfd *last_file); |
190 |
|
|
191 |
bfd * bfd_generic_openr_next_archived_file PARAMS ((bfd *archive, |
int bfd_generic_stat_arch_elt |
192 |
bfd *last_file)); |
(bfd *, struct stat *); |
|
|
|
|
int bfd_generic_stat_arch_elt PARAMS ((bfd *, struct stat *)); |
|
193 |
|
|
194 |
#define _bfd_read_ar_hdr(abfd) \ |
#define _bfd_read_ar_hdr(abfd) \ |
195 |
BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd)) |
BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd)) |
200 |
#define _bfd_generic_close_and_cleanup bfd_true |
#define _bfd_generic_close_and_cleanup bfd_true |
201 |
#define _bfd_generic_bfd_free_cached_info bfd_true |
#define _bfd_generic_bfd_free_cached_info bfd_true |
202 |
#define _bfd_generic_new_section_hook \ |
#define _bfd_generic_new_section_hook \ |
203 |
((boolean (*) PARAMS ((bfd *, asection *))) bfd_true) |
((bfd_boolean (*) (bfd *, asection *)) bfd_true) |
204 |
extern boolean _bfd_generic_get_section_contents |
extern bfd_boolean _bfd_generic_get_section_contents |
205 |
PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type)); |
(bfd *, asection *, void *, file_ptr, bfd_size_type); |
206 |
extern boolean _bfd_generic_get_section_contents_in_window |
extern bfd_boolean _bfd_generic_get_section_contents_in_window |
207 |
PARAMS ((bfd *, asection *, bfd_window *, file_ptr, bfd_size_type)); |
(bfd *, asection *, bfd_window *, file_ptr, bfd_size_type); |
208 |
|
|
209 |
/* Generic routines to use for BFD_JUMP_TABLE_COPY. Use |
/* Generic routines to use for BFD_JUMP_TABLE_COPY. Use |
210 |
BFD_JUMP_TABLE_COPY (_bfd_generic). */ |
BFD_JUMP_TABLE_COPY (_bfd_generic). */ |
211 |
|
|
212 |
#define _bfd_generic_bfd_copy_private_bfd_data \ |
#define _bfd_generic_bfd_copy_private_bfd_data \ |
213 |
((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true) |
((bfd_boolean (*) (bfd *, bfd *)) bfd_true) |
214 |
#define _bfd_generic_bfd_merge_private_bfd_data \ |
#define _bfd_generic_bfd_merge_private_bfd_data \ |
215 |
((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true) |
((bfd_boolean (*) (bfd *, bfd *)) bfd_true) |
216 |
#define _bfd_generic_bfd_set_private_flags \ |
#define _bfd_generic_bfd_set_private_flags \ |
217 |
((boolean (*) PARAMS ((bfd *, flagword))) bfd_true) |
((bfd_boolean (*) (bfd *, flagword)) bfd_true) |
218 |
#define _bfd_generic_bfd_copy_private_section_data \ |
#define _bfd_generic_bfd_copy_private_section_data \ |
219 |
((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true) |
((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true) |
220 |
#define _bfd_generic_bfd_copy_private_symbol_data \ |
#define _bfd_generic_bfd_copy_private_symbol_data \ |
221 |
((boolean (*) PARAMS ((bfd *, asymbol *, bfd *, asymbol *))) bfd_true) |
((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true) |
222 |
|
#define _bfd_generic_bfd_copy_private_header_data \ |
223 |
|
((bfd_boolean (*) (bfd *, bfd *)) bfd_true) |
224 |
#define _bfd_generic_bfd_print_private_bfd_data \ |
#define _bfd_generic_bfd_print_private_bfd_data \ |
225 |
((boolean (*) PARAMS ((bfd *, PTR))) bfd_true) |
((bfd_boolean (*) (bfd *, void *)) bfd_true) |
226 |
|
|
227 |
/* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file |
/* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file |
228 |
support. Use BFD_JUMP_TABLE_CORE (_bfd_nocore). */ |
support. Use BFD_JUMP_TABLE_CORE (_bfd_nocore). */ |
229 |
|
|
230 |
extern char *_bfd_nocore_core_file_failing_command PARAMS ((bfd *)); |
extern char *_bfd_nocore_core_file_failing_command |
231 |
extern int _bfd_nocore_core_file_failing_signal PARAMS ((bfd *)); |
(bfd *); |
232 |
extern boolean _bfd_nocore_core_file_matches_executable_p |
extern int _bfd_nocore_core_file_failing_signal |
233 |
PARAMS ((bfd *, bfd *)); |
(bfd *); |
234 |
|
extern bfd_boolean _bfd_nocore_core_file_matches_executable_p |
235 |
|
(bfd *, bfd *); |
236 |
|
|
237 |
/* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive |
/* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive |
238 |
file support. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive). */ |
file support. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive). */ |
240 |
#define _bfd_noarchive_slurp_armap bfd_false |
#define _bfd_noarchive_slurp_armap bfd_false |
241 |
#define _bfd_noarchive_slurp_extended_name_table bfd_false |
#define _bfd_noarchive_slurp_extended_name_table bfd_false |
242 |
#define _bfd_noarchive_construct_extended_name_table \ |
#define _bfd_noarchive_construct_extended_name_table \ |
243 |
((boolean (*) PARAMS ((bfd *, char **, bfd_size_type *, const char **))) \ |
((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \ |
244 |
bfd_false) |
bfd_false) |
245 |
#define _bfd_noarchive_truncate_arname \ |
#define _bfd_noarchive_truncate_arname \ |
246 |
((void (*) PARAMS ((bfd *, const char *, char *))) bfd_void) |
((void (*) (bfd *, const char *, char *)) bfd_void) |
247 |
#define _bfd_noarchive_write_armap \ |
#define _bfd_noarchive_write_armap \ |
248 |
((boolean (*) \ |
((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \ |
|
PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int))) \ |
|
249 |
bfd_false) |
bfd_false) |
250 |
#define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr |
#define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr |
251 |
#define _bfd_noarchive_openr_next_archived_file \ |
#define _bfd_noarchive_openr_next_archived_file \ |
252 |
((bfd *(*) PARAMS ((bfd *, bfd *))) bfd_nullvoidptr) |
((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr) |
253 |
#define _bfd_noarchive_get_elt_at_index \ |
#define _bfd_noarchive_get_elt_at_index \ |
254 |
((bfd *(*) PARAMS ((bfd *, symindex))) bfd_nullvoidptr) |
((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr) |
255 |
#define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt |
#define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt |
256 |
#define _bfd_noarchive_update_armap_timestamp bfd_false |
#define _bfd_noarchive_update_armap_timestamp bfd_false |
257 |
|
|
261 |
#define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap |
#define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap |
262 |
#define _bfd_archive_bsd_slurp_extended_name_table \ |
#define _bfd_archive_bsd_slurp_extended_name_table \ |
263 |
_bfd_slurp_extended_name_table |
_bfd_slurp_extended_name_table |
264 |
extern boolean _bfd_archive_bsd_construct_extended_name_table |
extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table |
265 |
PARAMS ((bfd *, char **, bfd_size_type *, const char **)); |
(bfd *, char **, bfd_size_type *, const char **); |
266 |
#define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname |
#define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname |
267 |
#define _bfd_archive_bsd_write_armap bsd_write_armap |
#define _bfd_archive_bsd_write_armap bsd_write_armap |
268 |
#define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr |
#define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr |
271 |
#define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index |
#define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index |
272 |
#define _bfd_archive_bsd_generic_stat_arch_elt \ |
#define _bfd_archive_bsd_generic_stat_arch_elt \ |
273 |
bfd_generic_stat_arch_elt |
bfd_generic_stat_arch_elt |
274 |
extern boolean _bfd_archive_bsd_update_armap_timestamp PARAMS ((bfd *)); |
extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp |
275 |
|
(bfd *); |
276 |
|
|
277 |
/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style |
/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style |
278 |
archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff). */ |
archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff). */ |
280 |
#define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap |
#define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap |
281 |
#define _bfd_archive_coff_slurp_extended_name_table \ |
#define _bfd_archive_coff_slurp_extended_name_table \ |
282 |
_bfd_slurp_extended_name_table |
_bfd_slurp_extended_name_table |
283 |
extern boolean _bfd_archive_coff_construct_extended_name_table |
extern bfd_boolean _bfd_archive_coff_construct_extended_name_table |
284 |
PARAMS ((bfd *, char **, bfd_size_type *, const char **)); |
(bfd *, char **, bfd_size_type *, const char **); |
285 |
#define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname |
#define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname |
286 |
#define _bfd_archive_coff_write_armap coff_write_armap |
#define _bfd_archive_coff_write_armap coff_write_armap |
287 |
#define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr |
#define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr |
296 |
support. Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). */ |
support. Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). */ |
297 |
|
|
298 |
#define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1 |
#define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1 |
299 |
#define _bfd_nosymbols_get_symtab \ |
#define _bfd_nosymbols_canonicalize_symtab \ |
300 |
((long (*) PARAMS ((bfd *, asymbol **))) _bfd_n1) |
((long (*) (bfd *, asymbol **)) _bfd_n1) |
301 |
#define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol |
#define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol |
302 |
#define _bfd_nosymbols_print_symbol \ |
#define _bfd_nosymbols_print_symbol \ |
303 |
((void (*) PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type))) bfd_void) |
((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void) |
304 |
#define _bfd_nosymbols_get_symbol_info \ |
#define _bfd_nosymbols_get_symbol_info \ |
305 |
((void (*) PARAMS ((bfd *, asymbol *, symbol_info *))) bfd_void) |
((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void) |
306 |
#define _bfd_nosymbols_bfd_is_local_label_name \ |
#define _bfd_nosymbols_bfd_is_local_label_name \ |
307 |
((boolean (*) PARAMS ((bfd *, const char *))) bfd_false) |
((bfd_boolean (*) (bfd *, const char *)) bfd_false) |
308 |
|
#define _bfd_nosymbols_bfd_is_target_special_symbol \ |
309 |
|
((bfd_boolean (*) (bfd *, asymbol *)) bfd_false) |
310 |
#define _bfd_nosymbols_get_lineno \ |
#define _bfd_nosymbols_get_lineno \ |
311 |
((alent *(*) PARAMS ((bfd *, asymbol *))) bfd_nullvoidptr) |
((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr) |
312 |
#define _bfd_nosymbols_find_nearest_line \ |
#define _bfd_nosymbols_find_nearest_line \ |
313 |
((boolean (*) \ |
((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \ |
314 |
PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **, \ |
const char **, unsigned int *)) \ |
|
const char **, unsigned int *))) \ |
|
315 |
bfd_false) |
bfd_false) |
316 |
#define _bfd_nosymbols_bfd_make_debug_symbol \ |
#define _bfd_nosymbols_bfd_make_debug_symbol \ |
317 |
((asymbol *(*) PARAMS ((bfd *, PTR, unsigned long))) bfd_nullvoidptr) |
((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr) |
318 |
#define _bfd_nosymbols_read_minisymbols \ |
#define _bfd_nosymbols_read_minisymbols \ |
319 |
((long (*) PARAMS ((bfd *, boolean, PTR *, unsigned int *))) _bfd_n1) |
((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1) |
320 |
#define _bfd_nosymbols_minisymbol_to_symbol \ |
#define _bfd_nosymbols_minisymbol_to_symbol \ |
321 |
((asymbol *(*) PARAMS ((bfd *, boolean, const PTR, asymbol *))) \ |
((asymbol *(*) (bfd *, bfd_boolean, const void *, asymbol *)) \ |
322 |
bfd_nullvoidptr) |
bfd_nullvoidptr) |
323 |
|
|
324 |
/* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc |
/* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc |
325 |
support. Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs). */ |
support. Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs). */ |
326 |
|
|
327 |
#define _bfd_norelocs_get_reloc_upper_bound \ |
#define _bfd_norelocs_get_reloc_upper_bound \ |
328 |
((long (*) PARAMS ((bfd *, asection *))) _bfd_n1) |
((long (*) (bfd *, asection *)) _bfd_n1) |
329 |
#define _bfd_norelocs_canonicalize_reloc \ |
#define _bfd_norelocs_canonicalize_reloc \ |
330 |
((long (*) PARAMS ((bfd *, asection *, arelent **, asymbol **))) _bfd_n1) |
((long (*) (bfd *, asection *, arelent **, asymbol **)) _bfd_n1) |
331 |
#define _bfd_norelocs_bfd_reloc_type_lookup \ |
#define _bfd_norelocs_bfd_reloc_type_lookup \ |
332 |
((reloc_howto_type *(*) PARAMS ((bfd *, bfd_reloc_code_real_type))) \ |
((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr) |
|
bfd_nullvoidptr) |
|
333 |
|
|
334 |
/* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not |
/* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not |
335 |
be written. Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite). */ |
be written. Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite). */ |
336 |
|
|
337 |
#define _bfd_nowrite_set_arch_mach \ |
#define _bfd_nowrite_set_arch_mach \ |
338 |
((boolean (*) PARAMS ((bfd *, enum bfd_architecture, unsigned long))) \ |
((bfd_boolean (*) (bfd *, enum bfd_architecture, unsigned long)) \ |
339 |
bfd_false) |
bfd_false) |
340 |
#define _bfd_nowrite_set_section_contents \ |
#define _bfd_nowrite_set_section_contents \ |
341 |
((boolean (*) PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type))) \ |
((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \ |
342 |
bfd_false) |
bfd_false) |
343 |
|
|
344 |
/* Generic routines to use for BFD_JUMP_TABLE_WRITE. Use |
/* Generic routines to use for BFD_JUMP_TABLE_WRITE. Use |
345 |
BFD_JUMP_TABLE_WRITE (_bfd_generic). */ |
BFD_JUMP_TABLE_WRITE (_bfd_generic). */ |
346 |
|
|
347 |
#define _bfd_generic_set_arch_mach bfd_default_set_arch_mach |
#define _bfd_generic_set_arch_mach bfd_default_set_arch_mach |
348 |
extern boolean _bfd_generic_set_section_contents |
extern bfd_boolean _bfd_generic_set_section_contents |
349 |
PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type)); |
(bfd *, asection *, const void *, file_ptr, bfd_size_type); |
350 |
|
|
351 |
/* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not |
/* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not |
352 |
support linking. Use BFD_JUMP_TABLE_LINK (_bfd_nolink). */ |
support linking. Use BFD_JUMP_TABLE_LINK (_bfd_nolink). */ |
353 |
|
|
354 |
#define _bfd_nolink_sizeof_headers ((int (*) PARAMS ((bfd *, boolean))) bfd_0) |
#define _bfd_nolink_sizeof_headers ((int (*) (bfd *, bfd_boolean)) bfd_0) |
355 |
#define _bfd_nolink_bfd_get_relocated_section_contents \ |
#define _bfd_nolink_bfd_get_relocated_section_contents \ |
356 |
((bfd_byte *(*) \ |
((bfd_byte *(*) (bfd *, struct bfd_link_info *, struct bfd_link_order *, \ |
357 |
PARAMS ((bfd *, struct bfd_link_info *, struct bfd_link_order *, \ |
bfd_byte *, bfd_boolean, asymbol **)) \ |
|
bfd_byte *, boolean, asymbol **))) \ |
|
358 |
bfd_nullvoidptr) |
bfd_nullvoidptr) |
359 |
#define _bfd_nolink_bfd_relax_section \ |
#define _bfd_nolink_bfd_relax_section \ |
360 |
((boolean (*) \ |
((bfd_boolean (*) \ |
361 |
PARAMS ((bfd *, asection *, struct bfd_link_info *, boolean *))) \ |
(bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \ |
362 |
bfd_false) |
bfd_false) |
363 |
#define _bfd_nolink_bfd_gc_sections \ |
#define _bfd_nolink_bfd_gc_sections \ |
364 |
((boolean (*) \ |
((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ |
|
PARAMS ((bfd *, struct bfd_link_info *))) \ |
|
365 |
bfd_false) |
bfd_false) |
366 |
#define _bfd_nolink_bfd_merge_sections \ |
#define _bfd_nolink_bfd_merge_sections \ |
367 |
((boolean (*) \ |
((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ |
368 |
PARAMS ((bfd *, struct bfd_link_info *))) \ |
bfd_false) |
369 |
|
#define _bfd_nolink_bfd_is_group_section \ |
370 |
|
((bfd_boolean (*) (bfd *, const struct bfd_section *)) \ |
371 |
bfd_false) |
bfd_false) |
372 |
#define _bfd_nolink_bfd_discard_group \ |
#define _bfd_nolink_bfd_discard_group \ |
373 |
((boolean (*) \ |
((bfd_boolean (*) (bfd *, struct bfd_section *)) \ |
|
PARAMS ((bfd *, struct sec *))) \ |
|
374 |
bfd_false) |
bfd_false) |
375 |
#define _bfd_nolink_bfd_link_hash_table_create \ |
#define _bfd_nolink_bfd_link_hash_table_create \ |
376 |
((struct bfd_link_hash_table *(*) PARAMS ((bfd *))) bfd_nullvoidptr) |
((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr) |
377 |
#define _bfd_nolink_bfd_link_hash_table_free \ |
#define _bfd_nolink_bfd_link_hash_table_free \ |
378 |
((void (*) PARAMS ((struct bfd_link_hash_table *))) bfd_void) |
((void (*) (struct bfd_link_hash_table *)) bfd_void) |
379 |
#define _bfd_nolink_bfd_link_add_symbols \ |
#define _bfd_nolink_bfd_link_add_symbols \ |
380 |
((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false) |
((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false) |
381 |
#define _bfd_nolink_bfd_link_just_syms \ |
#define _bfd_nolink_bfd_link_just_syms \ |
382 |
((void (*) PARAMS ((asection *, struct bfd_link_info *))) bfd_void) |
((void (*) (asection *, struct bfd_link_info *)) bfd_void) |
383 |
#define _bfd_nolink_bfd_final_link \ |
#define _bfd_nolink_bfd_final_link \ |
384 |
((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false) |
((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false) |
385 |
#define _bfd_nolink_bfd_link_split_section \ |
#define _bfd_nolink_bfd_link_split_section \ |
386 |
((boolean (*) PARAMS ((bfd *, struct sec *))) bfd_false) |
((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false) |
387 |
|
#define _bfd_nolink_section_already_linked \ |
388 |
|
((void (*) (bfd *, struct bfd_section *)) bfd_void) |
389 |
|
|
390 |
/* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not |
/* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not |
391 |
have dynamic symbols or relocs. Use BFD_JUMP_TABLE_DYNAMIC |
have dynamic symbols or relocs. Use BFD_JUMP_TABLE_DYNAMIC |
393 |
|
|
394 |
#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1 |
#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1 |
395 |
#define _bfd_nodynamic_canonicalize_dynamic_symtab \ |
#define _bfd_nodynamic_canonicalize_dynamic_symtab \ |
396 |
((long (*) PARAMS ((bfd *, asymbol **))) _bfd_n1) |
((long (*) (bfd *, asymbol **)) _bfd_n1) |
397 |
|
#define _bfd_nodynamic_get_synthetic_symtab \ |
398 |
|
((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1) |
399 |
#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1 |
#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1 |
400 |
#define _bfd_nodynamic_canonicalize_dynamic_reloc \ |
#define _bfd_nodynamic_canonicalize_dynamic_reloc \ |
401 |
((long (*) PARAMS ((bfd *, arelent **, asymbol **))) _bfd_n1) |
((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1) |
402 |
|
|
403 |
/* Generic routine to determine of the given symbol is a local |
/* Generic routine to determine of the given symbol is a local |
404 |
label. */ |
label. */ |
405 |
extern boolean bfd_generic_is_local_label_name PARAMS ((bfd *, const char *)); |
extern bfd_boolean bfd_generic_is_local_label_name |
406 |
|
(bfd *, const char *); |
407 |
|
|
408 |
/* Generic minisymbol routines. */ |
/* Generic minisymbol routines. */ |
409 |
extern long _bfd_generic_read_minisymbols |
extern long _bfd_generic_read_minisymbols |
410 |
PARAMS ((bfd *, boolean, PTR *, unsigned int *)); |
(bfd *, bfd_boolean, void **, unsigned int *); |
411 |
extern asymbol *_bfd_generic_minisymbol_to_symbol |
extern asymbol *_bfd_generic_minisymbol_to_symbol |
412 |
PARAMS ((bfd *, boolean, const PTR, asymbol *)); |
(bfd *, bfd_boolean, const void *, asymbol *); |
413 |
|
|
414 |
/* Find the nearest line using .stab/.stabstr sections. */ |
/* Find the nearest line using .stab/.stabstr sections. */ |
415 |
extern boolean _bfd_stab_section_find_nearest_line |
extern bfd_boolean _bfd_stab_section_find_nearest_line |
416 |
PARAMS ((bfd *, asymbol **, asection *, bfd_vma, boolean *, const char **, |
(bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *, |
417 |
const char **, unsigned int *, PTR *)); |
const char **, const char **, unsigned int *, void **); |
418 |
|
|
419 |
/* Find the neaderst line using DWARF 1 debugging information. */ |
/* Find the neaderst line using DWARF 1 debugging information. */ |
420 |
extern boolean _bfd_dwarf1_find_nearest_line |
extern bfd_boolean _bfd_dwarf1_find_nearest_line |
421 |
PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **, |
(bfd *, asection *, asymbol **, bfd_vma, const char **, |
422 |
const char **, unsigned int *)); |
const char **, unsigned int *); |
423 |
|
|
424 |
/* Find the nearest line using DWARF 2 debugging information. */ |
/* Find the nearest line using DWARF 2 debugging information. */ |
425 |
extern boolean _bfd_dwarf2_find_nearest_line |
extern bfd_boolean _bfd_dwarf2_find_nearest_line |
426 |
PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **, |
(bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, |
427 |
const char **, unsigned int *, unsigned int, |
unsigned int *, unsigned int, void **); |
|
PTR *)); |
|
428 |
|
|
429 |
/* Create a new section entry. */ |
/* Create a new section entry. */ |
430 |
extern struct bfd_hash_entry *bfd_section_hash_newfunc |
extern struct bfd_hash_entry *bfd_section_hash_newfunc |
431 |
PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *)); |
(struct bfd_hash_entry *, struct bfd_hash_table *, const char *); |
432 |
|
|
433 |
/* A routine to create entries for a bfd_link_hash_table. */ |
/* A routine to create entries for a bfd_link_hash_table. */ |
434 |
extern struct bfd_hash_entry *_bfd_link_hash_newfunc |
extern struct bfd_hash_entry *_bfd_link_hash_newfunc |
435 |
PARAMS ((struct bfd_hash_entry *entry, |
(struct bfd_hash_entry *entry, struct bfd_hash_table *table, |
436 |
struct bfd_hash_table *table, |
const char *string); |
|
const char *string)); |
|
437 |
|
|
438 |
/* Initialize a bfd_link_hash_table. */ |
/* Initialize a bfd_link_hash_table. */ |
439 |
extern boolean _bfd_link_hash_table_init |
extern bfd_boolean _bfd_link_hash_table_init |
440 |
PARAMS ((struct bfd_link_hash_table *, bfd *, |
(struct bfd_link_hash_table *, bfd *, |
441 |
struct bfd_hash_entry *(*) (struct bfd_hash_entry *, |
struct bfd_hash_entry *(*) (struct bfd_hash_entry *, |
442 |
struct bfd_hash_table *, |
struct bfd_hash_table *, |
443 |
const char *))); |
const char *)); |
444 |
|
|
445 |
/* Generic link hash table creation routine. */ |
/* Generic link hash table creation routine. */ |
446 |
extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create |
extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create |
447 |
PARAMS ((bfd *)); |
(bfd *); |
448 |
|
|
449 |
/* Generic link hash table destruction routine. */ |
/* Generic link hash table destruction routine. */ |
450 |
extern void _bfd_generic_link_hash_table_free |
extern void _bfd_generic_link_hash_table_free |
451 |
PARAMS ((struct bfd_link_hash_table *)); |
(struct bfd_link_hash_table *); |
452 |
|
|
453 |
/* Generic add symbol routine. */ |
/* Generic add symbol routine. */ |
454 |
extern boolean _bfd_generic_link_add_symbols |
extern bfd_boolean _bfd_generic_link_add_symbols |
455 |
PARAMS ((bfd *, struct bfd_link_info *)); |
(bfd *, struct bfd_link_info *); |
456 |
|
|
457 |
/* Generic add symbol routine. This version is used by targets for |
/* Generic add symbol routine. This version is used by targets for |
458 |
which the linker must collect constructors and destructors by name, |
which the linker must collect constructors and destructors by name, |
459 |
as the collect2 program does. */ |
as the collect2 program does. */ |
460 |
extern boolean _bfd_generic_link_add_symbols_collect |
extern bfd_boolean _bfd_generic_link_add_symbols_collect |
461 |
PARAMS ((bfd *, struct bfd_link_info *)); |
(bfd *, struct bfd_link_info *); |
462 |
|
|
463 |
/* Generic archive add symbol routine. */ |
/* Generic archive add symbol routine. */ |
464 |
extern boolean _bfd_generic_link_add_archive_symbols |
extern bfd_boolean _bfd_generic_link_add_archive_symbols |
465 |
PARAMS ((bfd *, struct bfd_link_info *, |
(bfd *, struct bfd_link_info *, |
466 |
boolean (*checkfn) (bfd *, struct bfd_link_info *, boolean *))); |
bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *)); |
467 |
|
|
468 |
/* Forward declaration to avoid prototype errors. */ |
/* Forward declaration to avoid prototype errors. */ |
469 |
typedef struct bfd_link_hash_entry _bfd_link_hash_entry; |
typedef struct bfd_link_hash_entry _bfd_link_hash_entry; |
470 |
|
|
471 |
/* Generic routine to add a single symbol. */ |
/* Generic routine to add a single symbol. */ |
472 |
extern boolean _bfd_generic_link_add_one_symbol |
extern bfd_boolean _bfd_generic_link_add_one_symbol |
473 |
PARAMS ((struct bfd_link_info *, bfd *, const char *name, flagword, |
(struct bfd_link_info *, bfd *, const char *name, flagword, |
474 |
asection *, bfd_vma, const char *, boolean copy, |
asection *, bfd_vma, const char *, bfd_boolean copy, |
475 |
boolean constructor, struct bfd_link_hash_entry **)); |
bfd_boolean constructor, struct bfd_link_hash_entry **); |
476 |
|
|
477 |
/* Generic routine to mark section as supplying symbols only. */ |
/* Generic routine to mark section as supplying symbols only. */ |
478 |
extern void _bfd_generic_link_just_syms |
extern void _bfd_generic_link_just_syms |
479 |
PARAMS ((asection *, struct bfd_link_info *)); |
(asection *, struct bfd_link_info *); |
480 |
|
|
481 |
/* Generic link routine. */ |
/* Generic link routine. */ |
482 |
extern boolean _bfd_generic_final_link |
extern bfd_boolean _bfd_generic_final_link |
483 |
PARAMS ((bfd *, struct bfd_link_info *)); |
(bfd *, struct bfd_link_info *); |
484 |
|
|
485 |
|
extern bfd_boolean _bfd_generic_link_split_section |
486 |
|
(bfd *, struct bfd_section *); |
487 |
|
|
488 |
extern boolean _bfd_generic_link_split_section |
extern void _bfd_generic_section_already_linked |
489 |
PARAMS ((bfd *, struct sec *)); |
(bfd *, struct bfd_section *); |
490 |
|
|
491 |
/* Generic reloc_link_order processing routine. */ |
/* Generic reloc_link_order processing routine. */ |
492 |
extern boolean _bfd_generic_reloc_link_order |
extern bfd_boolean _bfd_generic_reloc_link_order |
493 |
PARAMS ((bfd *, struct bfd_link_info *, asection *, |
(bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *); |
|
struct bfd_link_order *)); |
|
494 |
|
|
495 |
/* Default link order processing routine. */ |
/* Default link order processing routine. */ |
496 |
extern boolean _bfd_default_link_order |
extern bfd_boolean _bfd_default_link_order |
497 |
PARAMS ((bfd *, struct bfd_link_info *, asection *, |
(bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *); |
|
struct bfd_link_order *)); |
|
498 |
|
|
499 |
/* Count the number of reloc entries in a link order list. */ |
/* Count the number of reloc entries in a link order list. */ |
500 |
extern unsigned int _bfd_count_link_order_relocs |
extern unsigned int _bfd_count_link_order_relocs |
501 |
PARAMS ((struct bfd_link_order *)); |
(struct bfd_link_order *); |
502 |
|
|
503 |
/* Final link relocation routine. */ |
/* Final link relocation routine. */ |
504 |
extern bfd_reloc_status_type _bfd_final_link_relocate |
extern bfd_reloc_status_type _bfd_final_link_relocate |
505 |
PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *, |
(reloc_howto_type *, bfd *, asection *, bfd_byte *, |
506 |
bfd_vma, bfd_vma, bfd_vma)); |
bfd_vma, bfd_vma, bfd_vma); |
507 |
|
|
508 |
/* Relocate a particular location by a howto and a value. */ |
/* Relocate a particular location by a howto and a value. */ |
509 |
extern bfd_reloc_status_type _bfd_relocate_contents |
extern bfd_reloc_status_type _bfd_relocate_contents |
510 |
PARAMS ((reloc_howto_type *, bfd *, bfd_vma, bfd_byte *)); |
(reloc_howto_type *, bfd *, bfd_vma, bfd_byte *); |
511 |
|
|
512 |
/* Link stabs in sections in the first pass. */ |
/* Link stabs in sections in the first pass. */ |
513 |
|
|
514 |
extern boolean _bfd_link_section_stabs |
extern bfd_boolean _bfd_link_section_stabs |
515 |
PARAMS ((bfd *, PTR *, asection *, asection *, PTR *)); |
(bfd *, struct stab_info *, asection *, asection *, void **, |
516 |
|
bfd_size_type *); |
517 |
|
|
518 |
/* Eliminate stabs for discarded functions and symbols. */ |
/* Eliminate stabs for discarded functions and symbols. */ |
519 |
extern boolean _bfd_discard_section_stabs |
extern bfd_boolean _bfd_discard_section_stabs |
520 |
PARAMS ((bfd *, asection *, PTR, |
(bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *); |
|
boolean (*) (bfd_vma, PTR), PTR)); |
|
521 |
|
|
522 |
/* Write out the .stab section when linking stabs in sections. */ |
/* Write out the .stab section when linking stabs in sections. */ |
523 |
|
|
524 |
extern boolean _bfd_write_section_stabs |
extern bfd_boolean _bfd_write_section_stabs |
525 |
PARAMS ((bfd *, PTR *, asection *, PTR *, bfd_byte *)); |
(bfd *, struct stab_info *, asection *, void **, bfd_byte *); |
526 |
|
|
527 |
/* Write out the .stabstr string table when linking stabs in sections. */ |
/* Write out the .stabstr string table when linking stabs in sections. */ |
528 |
|
|
529 |
extern boolean _bfd_write_stab_strings PARAMS ((bfd *, PTR *)); |
extern bfd_boolean _bfd_write_stab_strings |
530 |
|
(bfd *, struct stab_info *); |
531 |
|
|
532 |
/* Find an offset within a .stab section when linking stabs in |
/* Find an offset within a .stab section when linking stabs in |
533 |
sections. */ |
sections. */ |
534 |
|
|
535 |
extern bfd_vma _bfd_stab_section_offset |
extern bfd_vma _bfd_stab_section_offset |
536 |
PARAMS ((bfd *, PTR *, asection *, PTR *, bfd_vma)); |
(asection *, void *, bfd_vma); |
537 |
|
|
538 |
/* Attempt to merge a SEC_MERGE section. */ |
/* Register a SEC_MERGE section as a candidate for merging. */ |
539 |
|
|
540 |
extern boolean _bfd_merge_section |
extern bfd_boolean _bfd_add_merge_section |
541 |
PARAMS ((bfd *, PTR *, asection *, PTR *)); |
(bfd *, void **, asection *, void **); |
542 |
|
|
543 |
/* Attempt to merge SEC_MERGE sections. */ |
/* Attempt to merge SEC_MERGE sections. */ |
544 |
|
|
545 |
extern boolean _bfd_merge_sections |
extern bfd_boolean _bfd_merge_sections |
546 |
PARAMS ((bfd *, PTR, void (*)(bfd *, asection *))); |
(bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *)); |
547 |
|
|
548 |
/* Write out a merged section. */ |
/* Write out a merged section. */ |
549 |
|
|
550 |
extern boolean _bfd_write_merged_section |
extern bfd_boolean _bfd_write_merged_section |
551 |
PARAMS ((bfd *, asection *, PTR)); |
(bfd *, asection *, void *); |
552 |
|
|
553 |
/* Find an offset within a modified SEC_MERGE section. */ |
/* Find an offset within a modified SEC_MERGE section. */ |
554 |
|
|
555 |
extern bfd_vma _bfd_merged_section_offset |
extern bfd_vma _bfd_merged_section_offset |
556 |
PARAMS ((bfd *, asection **, PTR, bfd_vma, bfd_vma)); |
(bfd *, asection **, void *, bfd_vma); |
557 |
|
|
558 |
/* Create a string table. */ |
/* Create a string table. */ |
559 |
extern struct bfd_strtab_hash *_bfd_stringtab_init PARAMS ((void)); |
extern struct bfd_strtab_hash *_bfd_stringtab_init |
560 |
|
(void); |
561 |
|
|
562 |
/* Create an XCOFF .debug section style string table. */ |
/* Create an XCOFF .debug section style string table. */ |
563 |
extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init PARAMS ((void)); |
extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init |
564 |
|
(void); |
565 |
|
|
566 |
/* Free a string table. */ |
/* Free a string table. */ |
567 |
extern void _bfd_stringtab_free PARAMS ((struct bfd_strtab_hash *)); |
extern void _bfd_stringtab_free |
568 |
|
(struct bfd_strtab_hash *); |
569 |
|
|
570 |
/* Get the size of a string table. */ |
/* Get the size of a string table. */ |
571 |
extern bfd_size_type _bfd_stringtab_size PARAMS ((struct bfd_strtab_hash *)); |
extern bfd_size_type _bfd_stringtab_size |
572 |
|
(struct bfd_strtab_hash *); |
573 |
|
|
574 |
/* Add a string to a string table. */ |
/* Add a string to a string table. */ |
575 |
extern bfd_size_type _bfd_stringtab_add |
extern bfd_size_type _bfd_stringtab_add |
576 |
PARAMS ((struct bfd_strtab_hash *, const char *, boolean hash, |
(struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy); |
|
boolean copy)); |
|
577 |
|
|
578 |
/* Write out a string table. */ |
/* Write out a string table. */ |
579 |
extern boolean _bfd_stringtab_emit PARAMS ((bfd *, struct bfd_strtab_hash *)); |
extern bfd_boolean _bfd_stringtab_emit |
580 |
|
(bfd *, struct bfd_strtab_hash *); |
581 |
|
|
582 |
/* Check that endianness of input and output file match. */ |
/* Check that endianness of input and output file match. */ |
583 |
extern boolean _bfd_generic_verify_endian_match PARAMS ((bfd *, bfd *)); |
extern bfd_boolean _bfd_generic_verify_endian_match |
584 |
|
(bfd *, bfd *); |
585 |
|
|
586 |
/* Macros to tell if bfds are read or write enabled. |
/* Macros to tell if bfds are read or write enabled. |
587 |
|
|
592 |
!bfd_read_p, and only sometimes bfd_write_p. |
!bfd_read_p, and only sometimes bfd_write_p. |
593 |
*/ |
*/ |
594 |
|
|
595 |
#define bfd_read_p(abfd) ((abfd)->direction == read_direction || (abfd)->direction == both_direction) |
#define bfd_read_p(abfd) \ |
596 |
#define bfd_write_p(abfd) ((abfd)->direction == write_direction || (abfd)->direction == both_direction) |
((abfd)->direction == read_direction || (abfd)->direction == both_direction) |
597 |
|
#define bfd_write_p(abfd) \ |
598 |
|
((abfd)->direction == write_direction || (abfd)->direction == both_direction) |
599 |
|
|
600 |
void bfd_assert PARAMS ((const char*,int)); |
void bfd_assert |
601 |
|
(const char*,int); |
602 |
|
|
603 |
#define BFD_ASSERT(x) \ |
#define BFD_ASSERT(x) \ |
604 |
{ if (!(x)) bfd_assert(__FILE__,__LINE__); } |
do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0) |
605 |
|
|
606 |
#define BFD_FAIL() \ |
#define BFD_FAIL() \ |
607 |
{ bfd_assert(__FILE__,__LINE__); } |
do { bfd_assert(__FILE__,__LINE__); } while (0) |
608 |
|
|
609 |
extern void _bfd_abort PARAMS ((const char *, int, const char *)) |
extern void _bfd_abort |
610 |
ATTRIBUTE_NORETURN; |
(const char *, int, const char *) ATTRIBUTE_NORETURN; |
611 |
|
|
612 |
/* if gcc >= 2.6, we can give a function name, too */ |
/* if gcc >= 2.6, we can give a function name, too */ |
613 |
#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) |
#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) |
617 |
#undef abort |
#undef abort |
618 |
#define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) |
#define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) |
619 |
|
|
620 |
FILE * bfd_cache_lookup_worker PARAMS ((bfd *)); |
/* Manipulate a system FILE but using BFD's "file_ptr", rather than |
621 |
|
the system "off_t" or "off64_t", as the offset. */ |
622 |
|
extern file_ptr real_ftell (FILE *file); |
623 |
|
extern int real_fseek (FILE *file, file_ptr offset, int whence); |
624 |
|
|
625 |
|
FILE * bfd_cache_lookup_worker |
626 |
|
(bfd *); |
627 |
|
|
628 |
extern bfd *bfd_last_cache; |
extern bfd *bfd_last_cache; |
629 |
|
|
632 |
extern const bfd_target * const *bfd_target_vector; |
extern const bfd_target * const *bfd_target_vector; |
633 |
extern const bfd_target *bfd_default_vector[]; |
extern const bfd_target *bfd_default_vector[]; |
634 |
|
|
635 |
|
/* List of associated target vectors. */ |
636 |
|
extern const bfd_target * const *bfd_associated_vector; |
637 |
|
|
638 |
/* Functions shared by the ECOFF and MIPS ELF backends, which have no |
/* Functions shared by the ECOFF and MIPS ELF backends, which have no |
639 |
other common header files. */ |
other common header files. */ |
640 |
|
|
642 |
struct ecoff_find_line; |
struct ecoff_find_line; |
643 |
#endif |
#endif |
644 |
|
|
645 |
extern boolean _bfd_ecoff_locate_line |
extern bfd_boolean _bfd_ecoff_locate_line |
646 |
PARAMS ((bfd *, asection *, bfd_vma, struct ecoff_debug_info * const, |
(bfd *, asection *, bfd_vma, struct ecoff_debug_info * const, |
647 |
const struct ecoff_debug_swap * const, struct ecoff_find_line *, |
const struct ecoff_debug_swap * const, struct ecoff_find_line *, |
648 |
const char **, const char **, unsigned int *)); |
const char **, const char **, unsigned int *); |
649 |
extern boolean _bfd_ecoff_get_accumulated_pdr PARAMS ((PTR, bfd_byte *)); |
extern bfd_boolean _bfd_ecoff_get_accumulated_pdr |
650 |
extern boolean _bfd_ecoff_get_accumulated_sym PARAMS ((PTR, bfd_byte *)); |
(void *, bfd_byte *); |
651 |
extern boolean _bfd_ecoff_get_accumulated_ss PARAMS ((PTR, bfd_byte *)); |
extern bfd_boolean _bfd_ecoff_get_accumulated_sym |
652 |
|
(void *, bfd_byte *); |
653 |
extern bfd_vma _bfd_get_gp_value PARAMS ((bfd *)); |
extern bfd_boolean _bfd_ecoff_get_accumulated_ss |
654 |
extern void _bfd_set_gp_value PARAMS ((bfd *, bfd_vma)); |
(void *, bfd_byte *); |
655 |
|
|
656 |
|
extern bfd_vma _bfd_get_gp_value |
657 |
|
(bfd *); |
658 |
|
extern void _bfd_set_gp_value |
659 |
|
(bfd *, bfd_vma); |
660 |
|
|
661 |
/* Function shared by the COFF and ELF SH backends, which have no |
/* Function shared by the COFF and ELF SH backends, which have no |
662 |
other common header files. */ |
other common header files. */ |
663 |
|
|
664 |
extern boolean _bfd_sh_align_load_span |
#ifndef _bfd_sh_align_load_span |
665 |
PARAMS ((bfd *, asection *, bfd_byte *, |
extern bfd_boolean _bfd_sh_align_load_span |
666 |
boolean (*) (bfd *, asection *, PTR, bfd_byte *, bfd_vma), |
(bfd *, asection *, bfd_byte *, |
667 |
PTR, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, boolean *)); |
bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma), |
668 |
|
void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *); |
669 |
|
#endif |
670 |
|
|
671 |
|
/* This is the shape of the elements inside the already_linked hash |
672 |
|
table. It maps a name onto a list of already_linked elements with |
673 |
|
the same name. */ |
674 |
|
|
675 |
|
struct bfd_section_already_linked_hash_entry |
676 |
|
{ |
677 |
|
struct bfd_hash_entry root; |
678 |
|
struct bfd_section_already_linked *entry; |
679 |
|
}; |
680 |
|
|
681 |
|
struct bfd_section_already_linked |
682 |
|
{ |
683 |
|
struct bfd_section_already_linked *next; |
684 |
|
asection *sec; |
685 |
|
}; |
686 |
|
|
687 |
|
extern struct bfd_section_already_linked_hash_entry * |
688 |
|
bfd_section_already_linked_table_lookup (const char *); |
689 |
|
extern void bfd_section_already_linked_table_insert |
690 |
|
(struct bfd_section_already_linked_hash_entry *, asection *); |
691 |
|
extern void bfd_section_already_linked_table_traverse |
692 |
|
(bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *, |
693 |
|
void *), void *); |
694 |
|
|
695 |
|
extern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *); |
696 |
|
extern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *); |
697 |
|
|
698 |
/* Extracted from init.c. */ |
/* Extracted from init.c. */ |
699 |
/* Extracted from libbfd.c. */ |
/* Extracted from libbfd.c. */ |
700 |
boolean |
bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int); |
|
bfd_write_bigendian_4byte_int PARAMS ((bfd *, unsigned int)); |
|
701 |
|
|
702 |
unsigned int |
unsigned int bfd_log2 (bfd_vma x); |
|
bfd_log2 PARAMS ((bfd_vma x)); |
|
703 |
|
|
704 |
|
/* Extracted from bfdio.c. */ |
705 |
|
struct bfd_iovec |
706 |
|
{ |
707 |
|
/* To avoid problems with macros, a "b" rather than "f" |
708 |
|
prefix is prepended to each method name. */ |
709 |
|
/* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching |
710 |
|
bytes starting at PTR. Return the number of bytes actually |
711 |
|
transfered (a read past end-of-file returns less than NBYTES), |
712 |
|
or -1 (setting <<bfd_error>>) if an error occurs. */ |
713 |
|
file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes); |
714 |
|
file_ptr (*bwrite) (struct bfd *abfd, const void *ptr, |
715 |
|
file_ptr nbytes); |
716 |
|
/* Return the current IOSTREAM file offset, or -1 (setting <<bfd_error>> |
717 |
|
if an error occurs. */ |
718 |
|
file_ptr (*btell) (struct bfd *abfd); |
719 |
|
/* For the following, on successful completion a value of 0 is returned. |
720 |
|
Otherwise, a value of -1 is returned (and <<bfd_error>> is set). */ |
721 |
|
int (*bseek) (struct bfd *abfd, file_ptr offset, int whence); |
722 |
|
int (*bclose) (struct bfd *abfd); |
723 |
|
int (*bflush) (struct bfd *abfd); |
724 |
|
int (*bstat) (struct bfd *abfd, struct stat *sb); |
725 |
|
}; |
726 |
|
/* Extracted from bfdwin.c. */ |
727 |
|
struct _bfd_window_internal { |
728 |
|
struct _bfd_window_internal *next; |
729 |
|
void *data; |
730 |
|
bfd_size_type size; |
731 |
|
int refcount : 31; /* should be enough... */ |
732 |
|
unsigned mapped : 1; /* 1 = mmap, 0 = malloc */ |
733 |
|
}; |
734 |
/* Extracted from cache.c. */ |
/* Extracted from cache.c. */ |
735 |
#define BFD_CACHE_MAX_OPEN 10 |
#define BFD_CACHE_MAX_OPEN 10 |
736 |
extern bfd *bfd_last_cache; |
extern bfd *bfd_last_cache; |
737 |
|
|
738 |
#define bfd_cache_lookup(x) \ |
#define bfd_cache_lookup(x) \ |
739 |
((x)==bfd_last_cache? \ |
((x) == bfd_last_cache ? \ |
740 |
(FILE*) (bfd_last_cache->iostream): \ |
(FILE *) (bfd_last_cache->iostream): \ |
741 |
bfd_cache_lookup_worker(x)) |
bfd_cache_lookup_worker (x)) |
742 |
boolean |
bfd_boolean bfd_cache_init (bfd *abfd); |
|
bfd_cache_init PARAMS ((bfd *abfd)); |
|
743 |
|
|
744 |
boolean |
bfd_boolean bfd_cache_close (bfd *abfd); |
|
bfd_cache_close PARAMS ((bfd *abfd)); |
|
745 |
|
|
746 |
FILE* |
FILE* bfd_open_file (bfd *abfd); |
|
bfd_open_file PARAMS ((bfd *abfd)); |
|
747 |
|
|
748 |
FILE * |
FILE *bfd_cache_lookup_worker (bfd *abfd); |
|
bfd_cache_lookup_worker PARAMS ((bfd *abfd)); |
|
749 |
|
|
750 |
/* Extracted from reloc.c. */ |
/* Extracted from reloc.c. */ |
751 |
#ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real |
#ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real |
765 |
"BFD_RELOC_16_PCREL", |
"BFD_RELOC_16_PCREL", |
766 |
"BFD_RELOC_12_PCREL", |
"BFD_RELOC_12_PCREL", |
767 |
"BFD_RELOC_8_PCREL", |
"BFD_RELOC_8_PCREL", |
768 |
|
"BFD_RELOC_32_SECREL", |
769 |
"BFD_RELOC_32_GOT_PCREL", |
"BFD_RELOC_32_GOT_PCREL", |
770 |
"BFD_RELOC_16_GOT_PCREL", |
"BFD_RELOC_16_GOT_PCREL", |
771 |
"BFD_RELOC_8_GOT_PCREL", |
"BFD_RELOC_8_GOT_PCREL", |
848 |
"BFD_RELOC_SPARC_L44", |
"BFD_RELOC_SPARC_L44", |
849 |
"BFD_RELOC_SPARC_REGISTER", |
"BFD_RELOC_SPARC_REGISTER", |
850 |
"BFD_RELOC_SPARC_REV32", |
"BFD_RELOC_SPARC_REV32", |
851 |
|
"BFD_RELOC_SPARC_TLS_GD_HI22", |
852 |
|
"BFD_RELOC_SPARC_TLS_GD_LO10", |
853 |
|
"BFD_RELOC_SPARC_TLS_GD_ADD", |
854 |
|
"BFD_RELOC_SPARC_TLS_GD_CALL", |
855 |
|
"BFD_RELOC_SPARC_TLS_LDM_HI22", |
856 |
|
"BFD_RELOC_SPARC_TLS_LDM_LO10", |
857 |
|
"BFD_RELOC_SPARC_TLS_LDM_ADD", |
858 |
|
"BFD_RELOC_SPARC_TLS_LDM_CALL", |
859 |
|
"BFD_RELOC_SPARC_TLS_LDO_HIX22", |
860 |
|
"BFD_RELOC_SPARC_TLS_LDO_LOX10", |
861 |
|
"BFD_RELOC_SPARC_TLS_LDO_ADD", |
862 |
|
"BFD_RELOC_SPARC_TLS_IE_HI22", |
863 |
|
"BFD_RELOC_SPARC_TLS_IE_LO10", |
864 |
|
"BFD_RELOC_SPARC_TLS_IE_LD", |
865 |
|
"BFD_RELOC_SPARC_TLS_IE_LDX", |
866 |
|
"BFD_RELOC_SPARC_TLS_IE_ADD", |
867 |
|
"BFD_RELOC_SPARC_TLS_LE_HIX22", |
868 |
|
"BFD_RELOC_SPARC_TLS_LE_LOX10", |
869 |
|
"BFD_RELOC_SPARC_TLS_DTPMOD32", |
870 |
|
"BFD_RELOC_SPARC_TLS_DTPMOD64", |
871 |
|
"BFD_RELOC_SPARC_TLS_DTPOFF32", |
872 |
|
"BFD_RELOC_SPARC_TLS_DTPOFF64", |
873 |
|
"BFD_RELOC_SPARC_TLS_TPOFF32", |
874 |
|
"BFD_RELOC_SPARC_TLS_TPOFF64", |
875 |
"BFD_RELOC_ALPHA_GPDISP_HI16", |
"BFD_RELOC_ALPHA_GPDISP_HI16", |
876 |
"BFD_RELOC_ALPHA_GPDISP_LO16", |
"BFD_RELOC_ALPHA_GPDISP_LO16", |
877 |
"BFD_RELOC_ALPHA_GPDISP", |
"BFD_RELOC_ALPHA_GPDISP", |
903 |
"BFD_RELOC_HI16", |
"BFD_RELOC_HI16", |
904 |
"BFD_RELOC_HI16_S", |
"BFD_RELOC_HI16_S", |
905 |
"BFD_RELOC_LO16", |
"BFD_RELOC_LO16", |
906 |
"BFD_RELOC_PCREL_HI16_S", |
"BFD_RELOC_MIPS16_HI16", |
907 |
"BFD_RELOC_PCREL_LO16", |
"BFD_RELOC_MIPS16_HI16_S", |
908 |
|
"BFD_RELOC_MIPS16_LO16", |
909 |
"BFD_RELOC_MIPS_LITERAL", |
"BFD_RELOC_MIPS_LITERAL", |
910 |
"BFD_RELOC_MIPS_GOT16", |
"BFD_RELOC_MIPS_GOT16", |
911 |
"BFD_RELOC_MIPS_CALL16", |
"BFD_RELOC_MIPS_CALL16", |
928 |
"BFD_RELOC_MIPS_REL16", |
"BFD_RELOC_MIPS_REL16", |
929 |
"BFD_RELOC_MIPS_RELGOT", |
"BFD_RELOC_MIPS_RELGOT", |
930 |
"BFD_RELOC_MIPS_JALR", |
"BFD_RELOC_MIPS_JALR", |
931 |
|
"BFD_RELOC_MIPS_TLS_DTPMOD32", |
932 |
|
"BFD_RELOC_MIPS_TLS_DTPREL32", |
933 |
|
"BFD_RELOC_MIPS_TLS_DTPMOD64", |
934 |
|
"BFD_RELOC_MIPS_TLS_DTPREL64", |
935 |
|
"BFD_RELOC_MIPS_TLS_GD", |
936 |
|
"BFD_RELOC_MIPS_TLS_LDM", |
937 |
|
"BFD_RELOC_MIPS_TLS_DTPREL_HI16", |
938 |
|
"BFD_RELOC_MIPS_TLS_DTPREL_LO16", |
939 |
|
"BFD_RELOC_MIPS_TLS_GOTTPREL", |
940 |
|
"BFD_RELOC_MIPS_TLS_TPREL32", |
941 |
|
"BFD_RELOC_MIPS_TLS_TPREL64", |
942 |
|
"BFD_RELOC_MIPS_TLS_TPREL_HI16", |
943 |
|
"BFD_RELOC_MIPS_TLS_TPREL_LO16", |
944 |
|
|
945 |
"BFD_RELOC_FRV_LABEL16", |
"BFD_RELOC_FRV_LABEL16", |
946 |
"BFD_RELOC_FRV_LABEL24", |
"BFD_RELOC_FRV_LABEL24", |
947 |
"BFD_RELOC_FRV_LO16", |
"BFD_RELOC_FRV_LO16", |
951 |
"BFD_RELOC_FRV_GPREL32", |
"BFD_RELOC_FRV_GPREL32", |
952 |
"BFD_RELOC_FRV_GPRELHI", |
"BFD_RELOC_FRV_GPRELHI", |
953 |
"BFD_RELOC_FRV_GPRELLO", |
"BFD_RELOC_FRV_GPRELLO", |
954 |
|
"BFD_RELOC_FRV_GOT12", |
955 |
|
"BFD_RELOC_FRV_GOTHI", |
956 |
|
"BFD_RELOC_FRV_GOTLO", |
957 |
|
"BFD_RELOC_FRV_FUNCDESC", |
958 |
|
"BFD_RELOC_FRV_FUNCDESC_GOT12", |
959 |
|
"BFD_RELOC_FRV_FUNCDESC_GOTHI", |
960 |
|
"BFD_RELOC_FRV_FUNCDESC_GOTLO", |
961 |
|
"BFD_RELOC_FRV_FUNCDESC_VALUE", |
962 |
|
"BFD_RELOC_FRV_FUNCDESC_GOTOFF12", |
963 |
|
"BFD_RELOC_FRV_FUNCDESC_GOTOFFHI", |
964 |
|
"BFD_RELOC_FRV_FUNCDESC_GOTOFFLO", |
965 |
|
"BFD_RELOC_FRV_GOTOFF12", |
966 |
|
"BFD_RELOC_FRV_GOTOFFHI", |
967 |
|
"BFD_RELOC_FRV_GOTOFFLO", |
968 |
|
"BFD_RELOC_FRV_GETTLSOFF", |
969 |
|
"BFD_RELOC_FRV_TLSDESC_VALUE", |
970 |
|
"BFD_RELOC_FRV_GOTTLSDESC12", |
971 |
|
"BFD_RELOC_FRV_GOTTLSDESCHI", |
972 |
|
"BFD_RELOC_FRV_GOTTLSDESCLO", |
973 |
|
"BFD_RELOC_FRV_TLSMOFF12", |
974 |
|
"BFD_RELOC_FRV_TLSMOFFHI", |
975 |
|
"BFD_RELOC_FRV_TLSMOFFLO", |
976 |
|
"BFD_RELOC_FRV_GOTTLSOFF12", |
977 |
|
"BFD_RELOC_FRV_GOTTLSOFFHI", |
978 |
|
"BFD_RELOC_FRV_GOTTLSOFFLO", |
979 |
|
"BFD_RELOC_FRV_TLSOFF", |
980 |
|
"BFD_RELOC_FRV_TLSDESC_RELAX", |
981 |
|
"BFD_RELOC_FRV_GETTLSOFF_RELAX", |
982 |
|
"BFD_RELOC_FRV_TLSOFF_RELAX", |
983 |
|
"BFD_RELOC_FRV_TLSMOFF", |
984 |
|
|
985 |
|
"BFD_RELOC_MN10300_GOTOFF24", |
986 |
|
"BFD_RELOC_MN10300_GOT32", |
987 |
|
"BFD_RELOC_MN10300_GOT24", |
988 |
|
"BFD_RELOC_MN10300_GOT16", |
989 |
|
"BFD_RELOC_MN10300_COPY", |
990 |
|
"BFD_RELOC_MN10300_GLOB_DAT", |
991 |
|
"BFD_RELOC_MN10300_JMP_SLOT", |
992 |
|
"BFD_RELOC_MN10300_RELATIVE", |
993 |
|
|
994 |
"BFD_RELOC_386_GOT32", |
"BFD_RELOC_386_GOT32", |
995 |
"BFD_RELOC_386_PLT32", |
"BFD_RELOC_386_PLT32", |
999 |
"BFD_RELOC_386_RELATIVE", |
"BFD_RELOC_386_RELATIVE", |
1000 |
"BFD_RELOC_386_GOTOFF", |
"BFD_RELOC_386_GOTOFF", |
1001 |
"BFD_RELOC_386_GOTPC", |
"BFD_RELOC_386_GOTPC", |
1002 |
|
"BFD_RELOC_386_TLS_TPOFF", |
1003 |
|
"BFD_RELOC_386_TLS_IE", |
1004 |
|
"BFD_RELOC_386_TLS_GOTIE", |
1005 |
"BFD_RELOC_386_TLS_LE", |
"BFD_RELOC_386_TLS_LE", |
1006 |
"BFD_RELOC_386_TLS_GD", |
"BFD_RELOC_386_TLS_GD", |
1007 |
"BFD_RELOC_386_TLS_LDM", |
"BFD_RELOC_386_TLS_LDM", |
1019 |
"BFD_RELOC_X86_64_RELATIVE", |
"BFD_RELOC_X86_64_RELATIVE", |
1020 |
"BFD_RELOC_X86_64_GOTPCREL", |
"BFD_RELOC_X86_64_GOTPCREL", |
1021 |
"BFD_RELOC_X86_64_32S", |
"BFD_RELOC_X86_64_32S", |
1022 |
|
"BFD_RELOC_X86_64_DTPMOD64", |
1023 |
|
"BFD_RELOC_X86_64_DTPOFF64", |
1024 |
|
"BFD_RELOC_X86_64_TPOFF64", |
1025 |
|
"BFD_RELOC_X86_64_TLSGD", |
1026 |
|
"BFD_RELOC_X86_64_TLSLD", |
1027 |
|
"BFD_RELOC_X86_64_DTPOFF32", |
1028 |
|
"BFD_RELOC_X86_64_GOTTPOFF", |
1029 |
|
"BFD_RELOC_X86_64_TPOFF32", |
1030 |
"BFD_RELOC_NS32K_IMM_8", |
"BFD_RELOC_NS32K_IMM_8", |
1031 |
"BFD_RELOC_NS32K_IMM_16", |
"BFD_RELOC_NS32K_IMM_16", |
1032 |
"BFD_RELOC_NS32K_IMM_32", |
"BFD_RELOC_NS32K_IMM_32", |
1100 |
"BFD_RELOC_PPC64_TOC16_LO_DS", |
"BFD_RELOC_PPC64_TOC16_LO_DS", |
1101 |
"BFD_RELOC_PPC64_PLTGOT16_DS", |
"BFD_RELOC_PPC64_PLTGOT16_DS", |
1102 |
"BFD_RELOC_PPC64_PLTGOT16_LO_DS", |
"BFD_RELOC_PPC64_PLTGOT16_LO_DS", |
1103 |
|
"BFD_RELOC_PPC_TLS", |
1104 |
|
"BFD_RELOC_PPC_DTPMOD", |
1105 |
|
"BFD_RELOC_PPC_TPREL16", |
1106 |
|
"BFD_RELOC_PPC_TPREL16_LO", |
1107 |
|
"BFD_RELOC_PPC_TPREL16_HI", |
1108 |
|
"BFD_RELOC_PPC_TPREL16_HA", |
1109 |
|
"BFD_RELOC_PPC_TPREL", |
1110 |
|
"BFD_RELOC_PPC_DTPREL16", |
1111 |
|
"BFD_RELOC_PPC_DTPREL16_LO", |
1112 |
|
"BFD_RELOC_PPC_DTPREL16_HI", |
1113 |
|
"BFD_RELOC_PPC_DTPREL16_HA", |
1114 |
|
"BFD_RELOC_PPC_DTPREL", |
1115 |
|
"BFD_RELOC_PPC_GOT_TLSGD16", |
1116 |
|
"BFD_RELOC_PPC_GOT_TLSGD16_LO", |
1117 |
|
"BFD_RELOC_PPC_GOT_TLSGD16_HI", |
1118 |
|
"BFD_RELOC_PPC_GOT_TLSGD16_HA", |
1119 |
|
"BFD_RELOC_PPC_GOT_TLSLD16", |
1120 |
|
"BFD_RELOC_PPC_GOT_TLSLD16_LO", |
1121 |
|
"BFD_RELOC_PPC_GOT_TLSLD16_HI", |
1122 |
|
"BFD_RELOC_PPC_GOT_TLSLD16_HA", |
1123 |
|
"BFD_RELOC_PPC_GOT_TPREL16", |
1124 |
|
"BFD_RELOC_PPC_GOT_TPREL16_LO", |
1125 |
|
"BFD_RELOC_PPC_GOT_TPREL16_HI", |
1126 |
|
"BFD_RELOC_PPC_GOT_TPREL16_HA", |
1127 |
|
"BFD_RELOC_PPC_GOT_DTPREL16", |
1128 |
|
"BFD_RELOC_PPC_GOT_DTPREL16_LO", |
1129 |
|
"BFD_RELOC_PPC_GOT_DTPREL16_HI", |
1130 |
|
"BFD_RELOC_PPC_GOT_DTPREL16_HA", |
1131 |
|
"BFD_RELOC_PPC64_TPREL16_DS", |
1132 |
|
"BFD_RELOC_PPC64_TPREL16_LO_DS", |
1133 |
|
"BFD_RELOC_PPC64_TPREL16_HIGHER", |
1134 |
|
"BFD_RELOC_PPC64_TPREL16_HIGHERA", |
1135 |
|
"BFD_RELOC_PPC64_TPREL16_HIGHEST", |
1136 |
|
"BFD_RELOC_PPC64_TPREL16_HIGHESTA", |
1137 |
|
"BFD_RELOC_PPC64_DTPREL16_DS", |
1138 |
|
"BFD_RELOC_PPC64_DTPREL16_LO_DS", |
1139 |
|
"BFD_RELOC_PPC64_DTPREL16_HIGHER", |
1140 |
|
"BFD_RELOC_PPC64_DTPREL16_HIGHERA", |
1141 |
|
"BFD_RELOC_PPC64_DTPREL16_HIGHEST", |
1142 |
|
"BFD_RELOC_PPC64_DTPREL16_HIGHESTA", |
1143 |
"BFD_RELOC_I370_D12", |
"BFD_RELOC_I370_D12", |
1144 |
"BFD_RELOC_CTOR", |
"BFD_RELOC_CTOR", |
1145 |
"BFD_RELOC_ARM_PCREL_BRANCH", |
"BFD_RELOC_ARM_PCREL_BRANCH", |
1149 |
"BFD_RELOC_ARM_ADRL_IMMEDIATE", |
"BFD_RELOC_ARM_ADRL_IMMEDIATE", |
1150 |
"BFD_RELOC_ARM_OFFSET_IMM", |
"BFD_RELOC_ARM_OFFSET_IMM", |
1151 |
"BFD_RELOC_ARM_SHIFT_IMM", |
"BFD_RELOC_ARM_SHIFT_IMM", |
1152 |
|
"BFD_RELOC_ARM_SMI", |
1153 |
"BFD_RELOC_ARM_SWI", |
"BFD_RELOC_ARM_SWI", |
1154 |
"BFD_RELOC_ARM_MULTI", |
"BFD_RELOC_ARM_MULTI", |
1155 |
"BFD_RELOC_ARM_CP_OFF_IMM", |
"BFD_RELOC_ARM_CP_OFF_IMM", |
1156 |
|
"BFD_RELOC_ARM_CP_OFF_IMM_S2", |
1157 |
"BFD_RELOC_ARM_ADR_IMM", |
"BFD_RELOC_ARM_ADR_IMM", |
1158 |
"BFD_RELOC_ARM_LDR_IMM", |
"BFD_RELOC_ARM_LDR_IMM", |
1159 |
"BFD_RELOC_ARM_LITERAL", |
"BFD_RELOC_ARM_LITERAL", |
1173 |
"BFD_RELOC_ARM_RELATIVE", |
"BFD_RELOC_ARM_RELATIVE", |
1174 |
"BFD_RELOC_ARM_GOTOFF", |
"BFD_RELOC_ARM_GOTOFF", |
1175 |
"BFD_RELOC_ARM_GOTPC", |
"BFD_RELOC_ARM_GOTPC", |
1176 |
|
"BFD_RELOC_ARM_TARGET1", |
1177 |
|
"BFD_RELOC_ARM_ROSEGREL32", |
1178 |
|
"BFD_RELOC_ARM_SBREL32", |
1179 |
|
"BFD_RELOC_ARM_TARGET2", |
1180 |
|
"BFD_RELOC_ARM_PREL31", |
1181 |
"BFD_RELOC_SH_PCDISP8BY2", |
"BFD_RELOC_SH_PCDISP8BY2", |
1182 |
"BFD_RELOC_SH_PCDISP12BY2", |
"BFD_RELOC_SH_PCDISP12BY2", |
1183 |
|
"BFD_RELOC_SH_IMM3", |
1184 |
|
"BFD_RELOC_SH_IMM3U", |
1185 |
|
"BFD_RELOC_SH_DISP12", |
1186 |
|
"BFD_RELOC_SH_DISP12BY2", |
1187 |
|
"BFD_RELOC_SH_DISP12BY4", |
1188 |
|
"BFD_RELOC_SH_DISP12BY8", |
1189 |
|
"BFD_RELOC_SH_DISP20", |
1190 |
|
"BFD_RELOC_SH_DISP20BY8", |
1191 |
"BFD_RELOC_SH_IMM4", |
"BFD_RELOC_SH_IMM4", |
1192 |
"BFD_RELOC_SH_IMM4BY2", |
"BFD_RELOC_SH_IMM4BY2", |
1193 |
"BFD_RELOC_SH_IMM4BY4", |
"BFD_RELOC_SH_IMM4BY4", |
1260 |
"BFD_RELOC_SH_IMM_HI16", |
"BFD_RELOC_SH_IMM_HI16", |
1261 |
"BFD_RELOC_SH_IMM_HI16_PCREL", |
"BFD_RELOC_SH_IMM_HI16_PCREL", |
1262 |
"BFD_RELOC_SH_PT_16", |
"BFD_RELOC_SH_PT_16", |
1263 |
|
"BFD_RELOC_SH_TLS_GD_32", |
1264 |
|
"BFD_RELOC_SH_TLS_LD_32", |
1265 |
|
"BFD_RELOC_SH_TLS_LDO_32", |
1266 |
|
"BFD_RELOC_SH_TLS_IE_32", |
1267 |
|
"BFD_RELOC_SH_TLS_LE_32", |
1268 |
|
"BFD_RELOC_SH_TLS_DTPMOD32", |
1269 |
|
"BFD_RELOC_SH_TLS_DTPOFF32", |
1270 |
|
"BFD_RELOC_SH_TLS_TPOFF32", |
1271 |
"BFD_RELOC_THUMB_PCREL_BRANCH9", |
"BFD_RELOC_THUMB_PCREL_BRANCH9", |
1272 |
"BFD_RELOC_THUMB_PCREL_BRANCH12", |
"BFD_RELOC_THUMB_PCREL_BRANCH12", |
1273 |
"BFD_RELOC_THUMB_PCREL_BRANCH23", |
"BFD_RELOC_THUMB_PCREL_BRANCH23", |
1299 |
"BFD_RELOC_M32R_HI16_SLO", |
"BFD_RELOC_M32R_HI16_SLO", |
1300 |
"BFD_RELOC_M32R_LO16", |
"BFD_RELOC_M32R_LO16", |
1301 |
"BFD_RELOC_M32R_SDA16", |
"BFD_RELOC_M32R_SDA16", |
1302 |
|
"BFD_RELOC_M32R_GOT24", |
1303 |
|
"BFD_RELOC_M32R_26_PLTREL", |
1304 |
|
"BFD_RELOC_M32R_COPY", |
1305 |
|
"BFD_RELOC_M32R_GLOB_DAT", |
1306 |
|
"BFD_RELOC_M32R_JMP_SLOT", |
1307 |
|
"BFD_RELOC_M32R_RELATIVE", |
1308 |
|
"BFD_RELOC_M32R_GOTOFF", |
1309 |
|
"BFD_RELOC_M32R_GOTOFF_HI_ULO", |
1310 |
|
"BFD_RELOC_M32R_GOTOFF_HI_SLO", |
1311 |
|
"BFD_RELOC_M32R_GOTOFF_LO", |
1312 |
|
"BFD_RELOC_M32R_GOTPC24", |
1313 |
|
"BFD_RELOC_M32R_GOT16_HI_ULO", |
1314 |
|
"BFD_RELOC_M32R_GOT16_HI_SLO", |
1315 |
|
"BFD_RELOC_M32R_GOT16_LO", |
1316 |
|
"BFD_RELOC_M32R_GOTPC_HI_ULO", |
1317 |
|
"BFD_RELOC_M32R_GOTPC_HI_SLO", |
1318 |
|
"BFD_RELOC_M32R_GOTPC_LO", |
1319 |
"BFD_RELOC_V850_9_PCREL", |
"BFD_RELOC_V850_9_PCREL", |
1320 |
"BFD_RELOC_V850_22_PCREL", |
"BFD_RELOC_V850_22_PCREL", |
1321 |
"BFD_RELOC_V850_SDA_16_16_OFFSET", |
"BFD_RELOC_V850_SDA_16_16_OFFSET", |
1332 |
"BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET", |
"BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET", |
1333 |
"BFD_RELOC_V850_CALLT_6_7_OFFSET", |
"BFD_RELOC_V850_CALLT_6_7_OFFSET", |
1334 |
"BFD_RELOC_V850_CALLT_16_16_OFFSET", |
"BFD_RELOC_V850_CALLT_16_16_OFFSET", |
1335 |
|
"BFD_RELOC_V850_LONGCALL", |
1336 |
|
"BFD_RELOC_V850_LONGJUMP", |
1337 |
|
"BFD_RELOC_V850_ALIGN", |
1338 |
|
"BFD_RELOC_V850_LO16_SPLIT_OFFSET", |
1339 |
"BFD_RELOC_MN10300_32_PCREL", |
"BFD_RELOC_MN10300_32_PCREL", |
1340 |
"BFD_RELOC_MN10300_16_PCREL", |
"BFD_RELOC_MN10300_16_PCREL", |
1341 |
"BFD_RELOC_TIC30_LDP", |
"BFD_RELOC_TIC30_LDP", |
1371 |
"BFD_RELOC_MMIX_PUSHJ_1", |
"BFD_RELOC_MMIX_PUSHJ_1", |
1372 |
"BFD_RELOC_MMIX_PUSHJ_2", |
"BFD_RELOC_MMIX_PUSHJ_2", |
1373 |
"BFD_RELOC_MMIX_PUSHJ_3", |
"BFD_RELOC_MMIX_PUSHJ_3", |
1374 |
|
"BFD_RELOC_MMIX_PUSHJ_STUBBABLE", |
1375 |
"BFD_RELOC_MMIX_JMP", |
"BFD_RELOC_MMIX_JMP", |
1376 |
"BFD_RELOC_MMIX_JMP_1", |
"BFD_RELOC_MMIX_JMP_1", |
1377 |
"BFD_RELOC_MMIX_JMP_2", |
"BFD_RELOC_MMIX_JMP_2", |
1398 |
"BFD_RELOC_AVR_HI8_LDI_PM_NEG", |
"BFD_RELOC_AVR_HI8_LDI_PM_NEG", |
1399 |
"BFD_RELOC_AVR_HH8_LDI_PM_NEG", |
"BFD_RELOC_AVR_HH8_LDI_PM_NEG", |
1400 |
"BFD_RELOC_AVR_CALL", |
"BFD_RELOC_AVR_CALL", |
1401 |
|
"BFD_RELOC_AVR_LDI", |
1402 |
|
"BFD_RELOC_AVR_6", |
1403 |
|
"BFD_RELOC_AVR_6_ADIW", |
1404 |
"BFD_RELOC_390_12", |
"BFD_RELOC_390_12", |
1405 |
"BFD_RELOC_390_GOT12", |
"BFD_RELOC_390_GOT12", |
1406 |
"BFD_RELOC_390_PLT32", |
"BFD_RELOC_390_PLT32", |
1418 |
"BFD_RELOC_390_GOT64", |
"BFD_RELOC_390_GOT64", |
1419 |
"BFD_RELOC_390_PLT64", |
"BFD_RELOC_390_PLT64", |
1420 |
"BFD_RELOC_390_GOTENT", |
"BFD_RELOC_390_GOTENT", |
1421 |
|
"BFD_RELOC_390_GOTOFF64", |
1422 |
|
"BFD_RELOC_390_GOTPLT12", |
1423 |
|
"BFD_RELOC_390_GOTPLT16", |
1424 |
|
"BFD_RELOC_390_GOTPLT32", |
1425 |
|
"BFD_RELOC_390_GOTPLT64", |
1426 |
|
"BFD_RELOC_390_GOTPLTENT", |
1427 |
|
"BFD_RELOC_390_PLTOFF16", |
1428 |
|
"BFD_RELOC_390_PLTOFF32", |
1429 |
|
"BFD_RELOC_390_PLTOFF64", |
1430 |
|
"BFD_RELOC_390_TLS_LOAD", |
1431 |
|
"BFD_RELOC_390_TLS_GDCALL", |
1432 |
|
"BFD_RELOC_390_TLS_LDCALL", |
1433 |
|
"BFD_RELOC_390_TLS_GD32", |
1434 |
|
"BFD_RELOC_390_TLS_GD64", |
1435 |
|
"BFD_RELOC_390_TLS_GOTIE12", |
1436 |
|
"BFD_RELOC_390_TLS_GOTIE32", |
1437 |
|
"BFD_RELOC_390_TLS_GOTIE64", |
1438 |
|
"BFD_RELOC_390_TLS_LDM32", |
1439 |
|
"BFD_RELOC_390_TLS_LDM64", |
1440 |
|
"BFD_RELOC_390_TLS_IE32", |
1441 |
|
"BFD_RELOC_390_TLS_IE64", |
1442 |
|
"BFD_RELOC_390_TLS_IEENT", |
1443 |
|
"BFD_RELOC_390_TLS_LE32", |
1444 |
|
"BFD_RELOC_390_TLS_LE64", |
1445 |
|
"BFD_RELOC_390_TLS_LDO32", |
1446 |
|
"BFD_RELOC_390_TLS_LDO64", |
1447 |
|
"BFD_RELOC_390_TLS_DTPMOD", |
1448 |
|
"BFD_RELOC_390_TLS_DTPOFF", |
1449 |
|
"BFD_RELOC_390_TLS_TPOFF", |
1450 |
|
"BFD_RELOC_390_20", |
1451 |
|
"BFD_RELOC_390_GOT20", |
1452 |
|
"BFD_RELOC_390_GOTPLT20", |
1453 |
|
"BFD_RELOC_390_TLS_GOTIE20", |
1454 |
"BFD_RELOC_IP2K_FR9", |
"BFD_RELOC_IP2K_FR9", |
1455 |
"BFD_RELOC_IP2K_BANK", |
"BFD_RELOC_IP2K_BANK", |
1456 |
"BFD_RELOC_IP2K_ADDR16CJP", |
"BFD_RELOC_IP2K_ADDR16CJP", |
1549 |
"BFD_RELOC_M68HC11_HI8", |
"BFD_RELOC_M68HC11_HI8", |
1550 |
"BFD_RELOC_M68HC11_LO8", |
"BFD_RELOC_M68HC11_LO8", |
1551 |
"BFD_RELOC_M68HC11_3B", |
"BFD_RELOC_M68HC11_3B", |
1552 |
|
"BFD_RELOC_M68HC11_RL_JUMP", |
1553 |
|
"BFD_RELOC_M68HC11_RL_GROUP", |
1554 |
|
"BFD_RELOC_M68HC11_LO16", |
1555 |
|
"BFD_RELOC_M68HC11_PAGE", |
1556 |
|
"BFD_RELOC_M68HC11_24", |
1557 |
|
"BFD_RELOC_M68HC12_5B", |
1558 |
|
"BFD_RELOC_16C_NUM08", |
1559 |
|
"BFD_RELOC_16C_NUM08_C", |
1560 |
|
"BFD_RELOC_16C_NUM16", |
1561 |
|
"BFD_RELOC_16C_NUM16_C", |
1562 |
|
"BFD_RELOC_16C_NUM32", |
1563 |
|
"BFD_RELOC_16C_NUM32_C", |
1564 |
|
"BFD_RELOC_16C_DISP04", |
1565 |
|
"BFD_RELOC_16C_DISP04_C", |
1566 |
|
"BFD_RELOC_16C_DISP08", |
1567 |
|
"BFD_RELOC_16C_DISP08_C", |
1568 |
|
"BFD_RELOC_16C_DISP16", |
1569 |
|
"BFD_RELOC_16C_DISP16_C", |
1570 |
|
"BFD_RELOC_16C_DISP24", |
1571 |
|
"BFD_RELOC_16C_DISP24_C", |
1572 |
|
"BFD_RELOC_16C_DISP24a", |
1573 |
|
"BFD_RELOC_16C_DISP24a_C", |
1574 |
|
"BFD_RELOC_16C_REG04", |
1575 |
|
"BFD_RELOC_16C_REG04_C", |
1576 |
|
"BFD_RELOC_16C_REG04a", |
1577 |
|
"BFD_RELOC_16C_REG04a_C", |
1578 |
|
"BFD_RELOC_16C_REG14", |
1579 |
|
"BFD_RELOC_16C_REG14_C", |
1580 |
|
"BFD_RELOC_16C_REG16", |
1581 |
|
"BFD_RELOC_16C_REG16_C", |
1582 |
|
"BFD_RELOC_16C_REG20", |
1583 |
|
"BFD_RELOC_16C_REG20_C", |
1584 |
|
"BFD_RELOC_16C_ABS20", |
1585 |
|
"BFD_RELOC_16C_ABS20_C", |
1586 |
|
"BFD_RELOC_16C_ABS24", |
1587 |
|
"BFD_RELOC_16C_ABS24_C", |
1588 |
|
"BFD_RELOC_16C_IMM04", |
1589 |
|
"BFD_RELOC_16C_IMM04_C", |
1590 |
|
"BFD_RELOC_16C_IMM16", |
1591 |
|
"BFD_RELOC_16C_IMM16_C", |
1592 |
|
"BFD_RELOC_16C_IMM20", |
1593 |
|
"BFD_RELOC_16C_IMM20_C", |
1594 |
|
"BFD_RELOC_16C_IMM24", |
1595 |
|
"BFD_RELOC_16C_IMM24_C", |
1596 |
|
"BFD_RELOC_16C_IMM32", |
1597 |
|
"BFD_RELOC_16C_IMM32_C", |
1598 |
|
"BFD_RELOC_CRX_REL4", |
1599 |
|
"BFD_RELOC_CRX_REL8", |
1600 |
|
"BFD_RELOC_CRX_REL8_CMP", |
1601 |
|
"BFD_RELOC_CRX_REL16", |
1602 |
|
"BFD_RELOC_CRX_REL24", |
1603 |
|
"BFD_RELOC_CRX_REL32", |
1604 |
|
"BFD_RELOC_CRX_REGREL12", |
1605 |
|
"BFD_RELOC_CRX_REGREL22", |
1606 |
|
"BFD_RELOC_CRX_REGREL28", |
1607 |
|
"BFD_RELOC_CRX_REGREL32", |
1608 |
|
"BFD_RELOC_CRX_ABS16", |
1609 |
|
"BFD_RELOC_CRX_ABS32", |
1610 |
|
"BFD_RELOC_CRX_NUM8", |
1611 |
|
"BFD_RELOC_CRX_NUM16", |
1612 |
|
"BFD_RELOC_CRX_NUM32", |
1613 |
|
"BFD_RELOC_CRX_IMM16", |
1614 |
|
"BFD_RELOC_CRX_IMM32", |
1615 |
|
"BFD_RELOC_CRX_SWITCH8", |
1616 |
|
"BFD_RELOC_CRX_SWITCH16", |
1617 |
|
"BFD_RELOC_CRX_SWITCH32", |
1618 |
"BFD_RELOC_CRIS_BDISP8", |
"BFD_RELOC_CRIS_BDISP8", |
1619 |
"BFD_RELOC_CRIS_UNSIGNED_5", |
"BFD_RELOC_CRIS_UNSIGNED_5", |
1620 |
"BFD_RELOC_CRIS_SIGNED_6", |
"BFD_RELOC_CRIS_SIGNED_6", |
1621 |
"BFD_RELOC_CRIS_UNSIGNED_6", |
"BFD_RELOC_CRIS_UNSIGNED_6", |
1622 |
|
"BFD_RELOC_CRIS_SIGNED_8", |
1623 |
|
"BFD_RELOC_CRIS_UNSIGNED_8", |
1624 |
|
"BFD_RELOC_CRIS_SIGNED_16", |
1625 |
|
"BFD_RELOC_CRIS_UNSIGNED_16", |
1626 |
|
"BFD_RELOC_CRIS_LAPCQ_OFFSET", |
1627 |
"BFD_RELOC_CRIS_UNSIGNED_4", |
"BFD_RELOC_CRIS_UNSIGNED_4", |
1628 |
"BFD_RELOC_CRIS_COPY", |
"BFD_RELOC_CRIS_COPY", |
1629 |
"BFD_RELOC_CRIS_GLOB_DAT", |
"BFD_RELOC_CRIS_GLOB_DAT", |
1676 |
"BFD_RELOC_H8_DIR24R8", |
"BFD_RELOC_H8_DIR24R8", |
1677 |
"BFD_RELOC_H8_DIR32A16", |
"BFD_RELOC_H8_DIR32A16", |
1678 |
"BFD_RELOC_XSTORMY16_REL_12", |
"BFD_RELOC_XSTORMY16_REL_12", |
1679 |
|
"BFD_RELOC_XSTORMY16_12", |
1680 |
"BFD_RELOC_XSTORMY16_24", |
"BFD_RELOC_XSTORMY16_24", |
1681 |
"BFD_RELOC_XSTORMY16_FPTR16", |
"BFD_RELOC_XSTORMY16_FPTR16", |
1682 |
"BFD_RELOC_VAX_GLOB_DAT", |
"BFD_RELOC_VAX_GLOB_DAT", |
1683 |
"BFD_RELOC_VAX_JMP_SLOT", |
"BFD_RELOC_VAX_JMP_SLOT", |
1684 |
"BFD_RELOC_VAX_RELATIVE", |
"BFD_RELOC_VAX_RELATIVE", |
1685 |
|
"BFD_RELOC_MSP430_10_PCREL", |
1686 |
|
"BFD_RELOC_MSP430_16_PCREL", |
1687 |
|
"BFD_RELOC_MSP430_16", |
1688 |
|
"BFD_RELOC_MSP430_16_PCREL_BYTE", |
1689 |
|
"BFD_RELOC_MSP430_16_BYTE", |
1690 |
|
"BFD_RELOC_MSP430_2X_PCREL", |
1691 |
|
"BFD_RELOC_MSP430_RL_PCREL", |
1692 |
|
"BFD_RELOC_IQ2000_OFFSET_16", |
1693 |
|
"BFD_RELOC_IQ2000_OFFSET_21", |
1694 |
|
"BFD_RELOC_IQ2000_UHI16", |
1695 |
|
"BFD_RELOC_XTENSA_RTLD", |
1696 |
|
"BFD_RELOC_XTENSA_GLOB_DAT", |
1697 |
|
"BFD_RELOC_XTENSA_JMP_SLOT", |
1698 |
|
"BFD_RELOC_XTENSA_RELATIVE", |
1699 |
|
"BFD_RELOC_XTENSA_PLT", |
1700 |
|
"BFD_RELOC_XTENSA_DIFF8", |
1701 |
|
"BFD_RELOC_XTENSA_DIFF16", |
1702 |
|
"BFD_RELOC_XTENSA_DIFF32", |
1703 |
|
"BFD_RELOC_XTENSA_SLOT0_OP", |
1704 |
|
"BFD_RELOC_XTENSA_SLOT1_OP", |
1705 |
|
"BFD_RELOC_XTENSA_SLOT2_OP", |
1706 |
|
"BFD_RELOC_XTENSA_SLOT3_OP", |
1707 |
|
"BFD_RELOC_XTENSA_SLOT4_OP", |
1708 |
|
"BFD_RELOC_XTENSA_SLOT5_OP", |
1709 |
|
"BFD_RELOC_XTENSA_SLOT6_OP", |
1710 |
|
"BFD_RELOC_XTENSA_SLOT7_OP", |
1711 |
|
"BFD_RELOC_XTENSA_SLOT8_OP", |
1712 |
|
"BFD_RELOC_XTENSA_SLOT9_OP", |
1713 |
|
"BFD_RELOC_XTENSA_SLOT10_OP", |
1714 |
|
"BFD_RELOC_XTENSA_SLOT11_OP", |
1715 |
|
"BFD_RELOC_XTENSA_SLOT12_OP", |
1716 |
|
"BFD_RELOC_XTENSA_SLOT13_OP", |
1717 |
|
"BFD_RELOC_XTENSA_SLOT14_OP", |
1718 |
|
"BFD_RELOC_XTENSA_SLOT0_ALT", |
1719 |
|
"BFD_RELOC_XTENSA_SLOT1_ALT", |
1720 |
|
"BFD_RELOC_XTENSA_SLOT2_ALT", |
1721 |
|
"BFD_RELOC_XTENSA_SLOT3_ALT", |
1722 |
|
"BFD_RELOC_XTENSA_SLOT4_ALT", |
1723 |
|
"BFD_RELOC_XTENSA_SLOT5_ALT", |
1724 |
|
"BFD_RELOC_XTENSA_SLOT6_ALT", |
1725 |
|
"BFD_RELOC_XTENSA_SLOT7_ALT", |
1726 |
|
"BFD_RELOC_XTENSA_SLOT8_ALT", |
1727 |
|
"BFD_RELOC_XTENSA_SLOT9_ALT", |
1728 |
|
"BFD_RELOC_XTENSA_SLOT10_ALT", |
1729 |
|
"BFD_RELOC_XTENSA_SLOT11_ALT", |
1730 |
|
"BFD_RELOC_XTENSA_SLOT12_ALT", |
1731 |
|
"BFD_RELOC_XTENSA_SLOT13_ALT", |
1732 |
|
"BFD_RELOC_XTENSA_SLOT14_ALT", |
1733 |
|
"BFD_RELOC_XTENSA_OP0", |
1734 |
|
"BFD_RELOC_XTENSA_OP1", |
1735 |
|
"BFD_RELOC_XTENSA_OP2", |
1736 |
|
"BFD_RELOC_XTENSA_ASM_EXPAND", |
1737 |
|
"BFD_RELOC_XTENSA_ASM_SIMPLIFY", |
1738 |
"@@overflow: BFD_RELOC_UNUSED@@", |
"@@overflow: BFD_RELOC_UNUSED@@", |
1739 |
}; |
}; |
1740 |
#endif |
#endif |
1741 |
|
|
1742 |
reloc_howto_type * |
reloc_howto_type *bfd_default_reloc_type_lookup |
1743 |
bfd_default_reloc_type_lookup PARAMS ((bfd *abfd, bfd_reloc_code_real_type code)); |
(bfd *abfd, bfd_reloc_code_real_type code); |
1744 |
|
|
1745 |
boolean |
bfd_boolean bfd_generic_relax_section |
1746 |
bfd_generic_relax_section PARAMS ((bfd *abfd, |
(bfd *abfd, |
1747 |
asection *section, |
asection *section, |
1748 |
struct bfd_link_info *, |
struct bfd_link_info *, |
1749 |
boolean *)); |
bfd_boolean *); |
1750 |
|
|
1751 |
boolean |
bfd_boolean bfd_generic_gc_sections |
1752 |
bfd_generic_gc_sections PARAMS ((bfd *, struct bfd_link_info *)); |
(bfd *, struct bfd_link_info *); |
1753 |
|
|
1754 |
boolean |
bfd_boolean bfd_generic_merge_sections |
1755 |
bfd_generic_merge_sections PARAMS ((bfd *, struct bfd_link_info *)); |
(bfd *, struct bfd_link_info *); |
1756 |
|
|
1757 |
bfd_byte * |
bfd_byte *bfd_generic_get_relocated_section_contents |
1758 |
bfd_generic_get_relocated_section_contents PARAMS ((bfd *abfd, |
(bfd *abfd, |
1759 |
struct bfd_link_info *link_info, |
struct bfd_link_info *link_info, |
1760 |
struct bfd_link_order *link_order, |
struct bfd_link_order *link_order, |
1761 |
bfd_byte *data, |
bfd_byte *data, |
1762 |
boolean relocateable, |
bfd_boolean relocatable, |
1763 |
asymbol **symbols)); |
asymbol **symbols); |
1764 |
|
|
1765 |
/* Extracted from archures.c. */ |
/* Extracted from archures.c. */ |
1766 |
extern const bfd_arch_info_type bfd_default_arch_struct; |
extern const bfd_arch_info_type bfd_default_arch_struct; |
1767 |
boolean |
bfd_boolean bfd_default_set_arch_mach |
1768 |
bfd_default_set_arch_mach PARAMS ((bfd *abfd, |
(bfd *abfd, enum bfd_architecture arch, unsigned long mach); |
1769 |
enum bfd_architecture arch, |
|
1770 |
unsigned long mach)); |
const bfd_arch_info_type *bfd_default_compatible |
1771 |
|
(const bfd_arch_info_type *a, const bfd_arch_info_type *b); |
|
const bfd_arch_info_type * |
|
|
bfd_default_compatible PARAMS ((const bfd_arch_info_type *a, |
|
|
const bfd_arch_info_type *b)); |
|
1772 |
|
|
1773 |
boolean |
bfd_boolean bfd_default_scan |
1774 |
bfd_default_scan PARAMS ((const struct bfd_arch_info *info, const char *string)); |
(const struct bfd_arch_info *info, const char *string); |
1775 |
|
|
1776 |
/* Extracted from elf.c. */ |
/* Extracted from elf.c. */ |
1777 |
struct elf_internal_shdr * |
struct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name); |
|
bfd_elf_find_section PARAMS ((bfd *abfd, char *name)); |
|
1778 |
|
|