00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #define BFD_ALIGN(this, boundary) \
00042 ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this)) \
00043 ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
00044 : ~ (bfd_vma) 0)
00045
00046
00047
00048 #define DEFAULT_BUFFERSIZE 8192
00049
00050
00051
00052 #define set_tdata(bfd, v) ((bfd)->tdata.any = (v))
00053
00054
00055
00056
00057 struct bfd_in_memory
00058 {
00059
00060 bfd_size_type size;
00061
00062 bfd_byte *buffer;
00063 };
00064
00065
00066
00067
00068 struct artdata {
00069 file_ptr first_file_filepos;
00070
00071 struct ar_cache *cache;
00072 bfd *archive_head;
00073 carsym *symdefs;
00074 symindex symdef_count;
00075 char *extended_names;
00076
00077 long armap_timestamp;
00078
00079
00080
00081
00082
00083 file_ptr armap_datepos;
00084
00085 void *tdata;
00086 };
00087
00088 #define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data)
00089
00090
00091 struct areltdata {
00092 char * arch_header;
00093 unsigned int parsed_size;
00094 char *filename;
00095 };
00096
00097 #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size)
00098
00099 extern void *bfd_malloc
00100 (bfd_size_type);
00101 extern void *bfd_realloc
00102 (void *, bfd_size_type);
00103 extern void *bfd_zmalloc
00104 (bfd_size_type);
00105
00106 extern void _bfd_default_error_handler (const char *s, ...);
00107 extern bfd_error_handler_type _bfd_error_handler;
00108
00109
00110
00111 extern void *bfd_alloc
00112 (bfd *, bfd_size_type);
00113 extern void *bfd_zalloc
00114 (bfd *, bfd_size_type);
00115 extern void bfd_release
00116 (bfd *, void *);
00117
00118 bfd * _bfd_create_empty_archive_element_shell
00119 (bfd *obfd);
00120 bfd * _bfd_look_for_bfd_in_cache
00121 (bfd *, file_ptr);
00122 bfd_boolean _bfd_add_bfd_to_archive_cache
00123 (bfd *, file_ptr, bfd *);
00124 bfd_boolean _bfd_generic_mkarchive
00125 (bfd *abfd);
00126 const bfd_target *bfd_generic_archive_p
00127 (bfd *abfd);
00128 bfd_boolean bfd_slurp_armap
00129 (bfd *abfd);
00130 bfd_boolean bfd_slurp_bsd_armap_f2
00131 (bfd *abfd);
00132 #define bfd_slurp_bsd_armap bfd_slurp_armap
00133 #define bfd_slurp_coff_armap bfd_slurp_armap
00134 bfd_boolean _bfd_slurp_extended_name_table
00135 (bfd *abfd);
00136 extern bfd_boolean _bfd_construct_extended_name_table
00137 (bfd *, bfd_boolean, char **, bfd_size_type *);
00138 bfd_boolean _bfd_write_archive_contents
00139 (bfd *abfd);
00140 bfd_boolean _bfd_compute_and_write_armap
00141 (bfd *, unsigned int elength);
00142 bfd *_bfd_get_elt_at_filepos
00143 (bfd *archive, file_ptr filepos);
00144 extern bfd *_bfd_generic_get_elt_at_index
00145 (bfd *, symindex);
00146 bfd * _bfd_new_bfd
00147 (void);
00148 void _bfd_delete_bfd
00149 (bfd *);
00150
00151 bfd_boolean bfd_false
00152 (bfd *ignore);
00153 bfd_boolean bfd_true
00154 (bfd *ignore);
00155 void *bfd_nullvoidptr
00156 (bfd *ignore);
00157 int bfd_0
00158 (bfd *ignore);
00159 unsigned int bfd_0u
00160 (bfd *ignore);
00161 long bfd_0l
00162 (bfd *ignore);
00163 long _bfd_n1
00164 (bfd *ignore);
00165 void bfd_void
00166 (bfd *ignore);
00167
00168 bfd *_bfd_new_bfd_contained_in
00169 (bfd *);
00170 const bfd_target *_bfd_dummy_target
00171 (bfd *abfd);
00172
00173 void bfd_dont_truncate_arname
00174 (bfd *abfd, const char *filename, char *hdr);
00175 void bfd_bsd_truncate_arname
00176 (bfd *abfd, const char *filename, char *hdr);
00177 void bfd_gnu_truncate_arname
00178 (bfd *abfd, const char *filename, char *hdr);
00179
00180 bfd_boolean bsd_write_armap
00181 (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
00182 int stridx);
00183
00184 bfd_boolean coff_write_armap
00185 (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
00186 int stridx);
00187
00188 extern void *_bfd_generic_read_ar_hdr
00189 (bfd *);
00190
00191 extern void *_bfd_generic_read_ar_hdr_mag
00192 (bfd *, const char *);
00193
00194 bfd * bfd_generic_openr_next_archived_file
00195 (bfd *archive, bfd *last_file);
00196
00197 int bfd_generic_stat_arch_elt
00198 (bfd *, struct stat *);
00199
00200 #define _bfd_read_ar_hdr(abfd) \
00201 BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd))
00202
00203
00204
00205
00206 #define _bfd_generic_close_and_cleanup bfd_true
00207 #define _bfd_generic_bfd_free_cached_info bfd_true
00208 #define _bfd_generic_new_section_hook \
00209 ((bfd_boolean (*) (bfd *, asection *)) bfd_true)
00210 extern bfd_boolean _bfd_generic_get_section_contents
00211 (bfd *, asection *, void *, file_ptr, bfd_size_type);
00212 extern bfd_boolean _bfd_generic_get_section_contents_in_window
00213 (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type);
00214
00215
00216
00217
00218 #define _bfd_generic_bfd_copy_private_bfd_data \
00219 ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
00220 #define _bfd_generic_bfd_merge_private_bfd_data \
00221 ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
00222 #define _bfd_generic_bfd_set_private_flags \
00223 ((bfd_boolean (*) (bfd *, flagword)) bfd_true)
00224 #define _bfd_generic_bfd_copy_private_section_data \
00225 ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true)
00226 #define _bfd_generic_bfd_copy_private_symbol_data \
00227 ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true)
00228 #define _bfd_generic_bfd_copy_private_header_data \
00229 ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
00230 #define _bfd_generic_bfd_print_private_bfd_data \
00231 ((bfd_boolean (*) (bfd *, void *)) bfd_true)
00232
00233
00234
00235
00236 extern char *_bfd_nocore_core_file_failing_command
00237 (bfd *);
00238 extern int _bfd_nocore_core_file_failing_signal
00239 (bfd *);
00240 extern bfd_boolean _bfd_nocore_core_file_matches_executable_p
00241 (bfd *, bfd *);
00242
00243
00244
00245
00246 #define _bfd_noarchive_slurp_armap bfd_false
00247 #define _bfd_noarchive_slurp_extended_name_table bfd_false
00248 #define _bfd_noarchive_construct_extended_name_table \
00249 ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \
00250 bfd_false)
00251 #define _bfd_noarchive_truncate_arname \
00252 ((void (*) (bfd *, const char *, char *)) bfd_void)
00253 #define _bfd_noarchive_write_armap \
00254 ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \
00255 bfd_false)
00256 #define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr
00257 #define _bfd_noarchive_openr_next_archived_file \
00258 ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr)
00259 #define _bfd_noarchive_get_elt_at_index \
00260 ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr)
00261 #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt
00262 #define _bfd_noarchive_update_armap_timestamp bfd_false
00263
00264
00265
00266
00267 #define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap
00268 #define _bfd_archive_bsd_slurp_extended_name_table \
00269 _bfd_slurp_extended_name_table
00270 extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table
00271 (bfd *, char **, bfd_size_type *, const char **);
00272 #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname
00273 #define _bfd_archive_bsd_write_armap bsd_write_armap
00274 #define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr
00275 #define _bfd_archive_bsd_openr_next_archived_file \
00276 bfd_generic_openr_next_archived_file
00277 #define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index
00278 #define _bfd_archive_bsd_generic_stat_arch_elt \
00279 bfd_generic_stat_arch_elt
00280 extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp
00281 (bfd *);
00282
00283
00284
00285
00286 #define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap
00287 #define _bfd_archive_coff_slurp_extended_name_table \
00288 _bfd_slurp_extended_name_table
00289 extern bfd_boolean _bfd_archive_coff_construct_extended_name_table
00290 (bfd *, char **, bfd_size_type *, const char **);
00291 #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname
00292 #define _bfd_archive_coff_write_armap coff_write_armap
00293 #define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr
00294 #define _bfd_archive_coff_openr_next_archived_file \
00295 bfd_generic_openr_next_archived_file
00296 #define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index
00297 #define _bfd_archive_coff_generic_stat_arch_elt \
00298 bfd_generic_stat_arch_elt
00299 #define _bfd_archive_coff_update_armap_timestamp bfd_true
00300
00301
00302
00303
00304 #define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1
00305 #define _bfd_nosymbols_canonicalize_symtab \
00306 ((long (*) (bfd *, asymbol **)) _bfd_n1)
00307 #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol
00308 #define _bfd_nosymbols_print_symbol \
00309 ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
00310 #define _bfd_nosymbols_get_symbol_info \
00311 ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
00312 #define _bfd_nosymbols_bfd_is_local_label_name \
00313 ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
00314 #define _bfd_nosymbols_bfd_is_target_special_symbol \
00315 ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
00316 #define _bfd_nosymbols_get_lineno \
00317 ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
00318 #define _bfd_nosymbols_find_nearest_line \
00319 ((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \
00320 const char **, unsigned int *)) \
00321 bfd_false)
00322 #define _bfd_nosymbols_bfd_make_debug_symbol \
00323 ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
00324 #define _bfd_nosymbols_read_minisymbols \
00325 ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1)
00326 #define _bfd_nosymbols_minisymbol_to_symbol \
00327 ((asymbol *(*) (bfd *, bfd_boolean, const void *, asymbol *)) \
00328 bfd_nullvoidptr)
00329
00330
00331
00332
00333 #define _bfd_norelocs_get_reloc_upper_bound \
00334 ((long (*) (bfd *, asection *)) _bfd_n1)
00335 #define _bfd_norelocs_canonicalize_reloc \
00336 ((long (*) (bfd *, asection *, arelent **, asymbol **)) _bfd_n1)
00337 #define _bfd_norelocs_bfd_reloc_type_lookup \
00338 ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
00339
00340
00341
00342
00343 #define _bfd_nowrite_set_arch_mach \
00344 ((bfd_boolean (*) (bfd *, enum bfd_architecture, unsigned long)) \
00345 bfd_false)
00346 #define _bfd_nowrite_set_section_contents \
00347 ((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \
00348 bfd_false)
00349
00350
00351
00352
00353 #define _bfd_generic_set_arch_mach bfd_default_set_arch_mach
00354 extern bfd_boolean _bfd_generic_set_section_contents
00355 (bfd *, asection *, const void *, file_ptr, bfd_size_type);
00356
00357
00358
00359
00360 #define _bfd_nolink_sizeof_headers ((int (*) (bfd *, bfd_boolean)) bfd_0)
00361 #define _bfd_nolink_bfd_get_relocated_section_contents \
00362 ((bfd_byte *(*) (bfd *, struct bfd_link_info *, struct bfd_link_order *, \
00363 bfd_byte *, bfd_boolean, asymbol **)) \
00364 bfd_nullvoidptr)
00365 #define _bfd_nolink_bfd_relax_section \
00366 ((bfd_boolean (*) \
00367 (bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \
00368 bfd_false)
00369 #define _bfd_nolink_bfd_gc_sections \
00370 ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
00371 bfd_false)
00372 #define _bfd_nolink_bfd_merge_sections \
00373 ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
00374 bfd_false)
00375 #define _bfd_nolink_bfd_is_group_section \
00376 ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
00377 bfd_false)
00378 #define _bfd_nolink_bfd_discard_group \
00379 ((bfd_boolean (*) (bfd *, struct bfd_section *)) \
00380 bfd_false)
00381 #define _bfd_nolink_bfd_link_hash_table_create \
00382 ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
00383 #define _bfd_nolink_bfd_link_hash_table_free \
00384 ((void (*) (struct bfd_link_hash_table *)) bfd_void)
00385 #define _bfd_nolink_bfd_link_add_symbols \
00386 ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
00387 #define _bfd_nolink_bfd_link_just_syms \
00388 ((void (*) (asection *, struct bfd_link_info *)) bfd_void)
00389 #define _bfd_nolink_bfd_final_link \
00390 ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
00391 #define _bfd_nolink_bfd_link_split_section \
00392 ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
00393 #define _bfd_nolink_section_already_linked \
00394 ((void (*) (bfd *, struct bfd_section *)) bfd_void)
00395
00396
00397
00398
00399
00400 #define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
00401 #define _bfd_nodynamic_canonicalize_dynamic_symtab \
00402 ((long (*) (bfd *, asymbol **)) _bfd_n1)
00403 #define _bfd_nodynamic_get_synthetic_symtab \
00404 ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1)
00405 #define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
00406 #define _bfd_nodynamic_canonicalize_dynamic_reloc \
00407 ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
00408
00409
00410
00411 extern bfd_boolean bfd_generic_is_local_label_name
00412 (bfd *, const char *);
00413
00414
00415 extern long _bfd_generic_read_minisymbols
00416 (bfd *, bfd_boolean, void **, unsigned int *);
00417 extern asymbol *_bfd_generic_minisymbol_to_symbol
00418 (bfd *, bfd_boolean, const void *, asymbol *);
00419
00420
00421 extern bfd_boolean _bfd_stab_section_find_nearest_line
00422 (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *,
00423 const char **, const char **, unsigned int *, void **);
00424
00425
00426 extern bfd_boolean _bfd_dwarf1_find_nearest_line
00427 (bfd *, asection *, asymbol **, bfd_vma, const char **,
00428 const char **, unsigned int *);
00429
00430
00431 extern bfd_boolean _bfd_dwarf2_find_nearest_line
00432 (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
00433 unsigned int *, unsigned int, void **);
00434
00435
00436 extern struct bfd_hash_entry *bfd_section_hash_newfunc
00437 (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
00438
00439
00440 extern struct bfd_hash_entry *_bfd_link_hash_newfunc
00441 (struct bfd_hash_entry *entry, struct bfd_hash_table *table,
00442 const char *string);
00443
00444
00445 extern bfd_boolean _bfd_link_hash_table_init
00446 (struct bfd_link_hash_table *, bfd *,
00447 struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
00448 struct bfd_hash_table *,
00449 const char *));
00450
00451
00452 extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create
00453 (bfd *);
00454
00455
00456 extern void _bfd_generic_link_hash_table_free
00457 (struct bfd_link_hash_table *);
00458
00459
00460 extern bfd_boolean _bfd_generic_link_add_symbols
00461 (bfd *, struct bfd_link_info *);
00462
00463
00464
00465
00466 extern bfd_boolean _bfd_generic_link_add_symbols_collect
00467 (bfd *, struct bfd_link_info *);
00468
00469
00470 extern bfd_boolean _bfd_generic_link_add_archive_symbols
00471 (bfd *, struct bfd_link_info *,
00472 bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *));
00473
00474
00475 typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
00476
00477
00478 extern bfd_boolean _bfd_generic_link_add_one_symbol
00479 (struct bfd_link_info *, bfd *, const char *name, flagword,
00480 asection *, bfd_vma, const char *, bfd_boolean copy,
00481 bfd_boolean constructor, struct bfd_link_hash_entry **);
00482
00483
00484 extern void _bfd_generic_link_just_syms
00485 (asection *, struct bfd_link_info *);
00486
00487
00488 extern bfd_boolean _bfd_generic_final_link
00489 (bfd *, struct bfd_link_info *);
00490
00491 extern bfd_boolean _bfd_generic_link_split_section
00492 (bfd *, struct bfd_section *);
00493
00494 extern void _bfd_generic_section_already_linked
00495 (bfd *, struct bfd_section *);
00496
00497
00498 extern bfd_boolean _bfd_generic_reloc_link_order
00499 (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
00500
00501
00502 extern bfd_boolean _bfd_default_link_order
00503 (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
00504
00505
00506 extern unsigned int _bfd_count_link_order_relocs
00507 (struct bfd_link_order *);
00508
00509
00510 extern bfd_reloc_status_type _bfd_final_link_relocate
00511 (reloc_howto_type *, bfd *, asection *, bfd_byte *,
00512 bfd_vma, bfd_vma, bfd_vma);
00513
00514
00515 extern bfd_reloc_status_type _bfd_relocate_contents
00516 (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *);
00517
00518
00519
00520 extern bfd_boolean _bfd_link_section_stabs
00521 (bfd *, struct stab_info *, asection *, asection *, void **,
00522 bfd_size_type *);
00523
00524
00525 extern bfd_boolean _bfd_discard_section_stabs
00526 (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *);
00527
00528
00529
00530 extern bfd_boolean _bfd_write_section_stabs
00531 (bfd *, struct stab_info *, asection *, void **, bfd_byte *);
00532
00533
00534
00535 extern bfd_boolean _bfd_write_stab_strings
00536 (bfd *, struct stab_info *);
00537
00538
00539
00540
00541 extern bfd_vma _bfd_stab_section_offset
00542 (asection *, void *, bfd_vma);
00543
00544
00545
00546 extern bfd_boolean _bfd_add_merge_section
00547 (bfd *, void **, asection *, void **);
00548
00549
00550
00551 extern bfd_boolean _bfd_merge_sections
00552 (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *));
00553
00554
00555
00556 extern bfd_boolean _bfd_write_merged_section
00557 (bfd *, asection *, void *);
00558
00559
00560
00561 extern bfd_vma _bfd_merged_section_offset
00562 (bfd *, asection **, void *, bfd_vma);
00563
00564
00565 extern struct bfd_strtab_hash *_bfd_stringtab_init
00566 (void);
00567
00568
00569 extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init
00570 (void);
00571
00572
00573 extern void _bfd_stringtab_free
00574 (struct bfd_strtab_hash *);
00575
00576
00577 extern bfd_size_type _bfd_stringtab_size
00578 (struct bfd_strtab_hash *);
00579
00580
00581 extern bfd_size_type _bfd_stringtab_add
00582 (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy);
00583
00584
00585 extern bfd_boolean _bfd_stringtab_emit
00586 (bfd *, struct bfd_strtab_hash *);
00587
00588
00589 extern bfd_boolean _bfd_generic_verify_endian_match
00590 (bfd *, bfd *);
00591
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601 #define bfd_read_p(abfd) \
00602 ((abfd)->direction == read_direction || (abfd)->direction == both_direction)
00603 #define bfd_write_p(abfd) \
00604 ((abfd)->direction == write_direction || (abfd)->direction == both_direction)
00605
00606 void bfd_assert
00607 (const char*,int);
00608
00609 #define BFD_ASSERT(x) \
00610 do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0)
00611
00612 #define BFD_FAIL() \
00613 do { bfd_assert(__FILE__,__LINE__); } while (0)
00614
00615 extern void _bfd_abort
00616 (const char *, int, const char *) ATTRIBUTE_NORETURN;
00617
00618
00619 #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)
00620 #define __PRETTY_FUNCTION__ ((char *) NULL)
00621 #endif
00622
00623 #undef abort
00624 #define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
00625
00626
00627
00628 extern file_ptr real_ftell (FILE *file);
00629 extern int real_fseek (FILE *file, file_ptr offset, int whence);
00630
00631 FILE * bfd_cache_lookup_worker
00632 (bfd *);
00633
00634 extern bfd *bfd_last_cache;
00635
00636
00637
00638 extern const bfd_target * const *bfd_target_vector;
00639 extern const bfd_target *bfd_default_vector[];
00640
00641
00642 extern const bfd_target * const *bfd_associated_vector;
00643
00644
00645
00646
00647 #if defined(__STDC__) || defined(ALMOST_STDC)
00648 struct ecoff_find_line;
00649 #endif
00650
00651 extern bfd_boolean _bfd_ecoff_locate_line
00652 (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,
00653 const struct ecoff_debug_swap * const, struct ecoff_find_line *,
00654 const char **, const char **, unsigned int *);
00655 extern bfd_boolean _bfd_ecoff_get_accumulated_pdr
00656 (void *, bfd_byte *);
00657 extern bfd_boolean _bfd_ecoff_get_accumulated_sym
00658 (void *, bfd_byte *);
00659 extern bfd_boolean _bfd_ecoff_get_accumulated_ss
00660 (void *, bfd_byte *);
00661
00662 extern bfd_vma _bfd_get_gp_value
00663 (bfd *);
00664 extern void _bfd_set_gp_value
00665 (bfd *, bfd_vma);
00666
00667
00668
00669
00670 #ifndef _bfd_sh_align_load_span
00671 extern bfd_boolean _bfd_sh_align_load_span
00672 (bfd *, asection *, bfd_byte *,
00673 bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma),
00674 void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *);
00675 #endif
00676
00677
00678
00679
00680
00681 struct bfd_section_already_linked_hash_entry
00682 {
00683 struct bfd_hash_entry root;
00684 struct bfd_section_already_linked *entry;
00685 };
00686
00687 struct bfd_section_already_linked
00688 {
00689 struct bfd_section_already_linked *next;
00690 asection *sec;
00691 };
00692
00693 extern struct bfd_section_already_linked_hash_entry *
00694 bfd_section_already_linked_table_lookup (const char *);
00695 extern void bfd_section_already_linked_table_insert
00696 (struct bfd_section_already_linked_hash_entry *, asection *);
00697 extern void bfd_section_already_linked_table_traverse
00698 (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *,
00699 void *), void *);
00700
00701 extern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
00702 extern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
00703
00704
00705
00706 bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
00707
00708 unsigned int bfd_log2 (bfd_vma x);
00709
00710
00711 struct bfd_iovec
00712 {
00713
00714
00715
00716
00717
00718
00719 file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
00720 file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
00721 file_ptr nbytes);
00722
00723
00724 file_ptr (*btell) (struct bfd *abfd);
00725
00726
00727 int (*bseek) (struct bfd *abfd, file_ptr offset, int whence);
00728 int (*bclose) (struct bfd *abfd);
00729 int (*bflush) (struct bfd *abfd);
00730 int (*bstat) (struct bfd *abfd, struct stat *sb);
00731 };
00732
00733 struct _bfd_window_internal {
00734 struct _bfd_window_internal *next;
00735 void *data;
00736 bfd_size_type size;
00737 int refcount : 31;
00738 unsigned mapped : 1;
00739 };
00740
00741 #define BFD_CACHE_MAX_OPEN 10
00742 extern bfd *bfd_last_cache;
00743
00744 #define bfd_cache_lookup(x) \
00745 ((x) == bfd_last_cache ? \
00746 (FILE *) (bfd_last_cache->iostream): \
00747 bfd_cache_lookup_worker (x))
00748 bfd_boolean bfd_cache_init (bfd *abfd);
00749
00750 bfd_boolean bfd_cache_close (bfd *abfd);
00751
00752 FILE* bfd_open_file (bfd *abfd);
00753
00754 FILE *bfd_cache_lookup_worker (bfd *abfd);
00755
00756
00757 #ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real
00758
00759 static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
00760
00761 "BFD_RELOC_64",
00762 "BFD_RELOC_32",
00763 "BFD_RELOC_26",
00764 "BFD_RELOC_24",
00765 "BFD_RELOC_16",
00766 "BFD_RELOC_14",
00767 "BFD_RELOC_8",
00768 "BFD_RELOC_64_PCREL",
00769 "BFD_RELOC_32_PCREL",
00770 "BFD_RELOC_24_PCREL",
00771 "BFD_RELOC_16_PCREL",
00772 "BFD_RELOC_12_PCREL",
00773 "BFD_RELOC_8_PCREL",
00774 "BFD_RELOC_32_SECREL",
00775 "BFD_RELOC_32_GOT_PCREL",
00776 "BFD_RELOC_16_GOT_PCREL",
00777 "BFD_RELOC_8_GOT_PCREL",
00778 "BFD_RELOC_32_GOTOFF",
00779 "BFD_RELOC_16_GOTOFF",
00780 "BFD_RELOC_LO16_GOTOFF",
00781 "BFD_RELOC_HI16_GOTOFF",
00782 "BFD_RELOC_HI16_S_GOTOFF",
00783 "BFD_RELOC_8_GOTOFF",
00784 "BFD_RELOC_64_PLT_PCREL",
00785 "BFD_RELOC_32_PLT_PCREL",
00786 "BFD_RELOC_24_PLT_PCREL",
00787 "BFD_RELOC_16_PLT_PCREL",
00788 "BFD_RELOC_8_PLT_PCREL",
00789 "BFD_RELOC_64_PLTOFF",
00790 "BFD_RELOC_32_PLTOFF",
00791 "BFD_RELOC_16_PLTOFF",
00792 "BFD_RELOC_LO16_PLTOFF",
00793 "BFD_RELOC_HI16_PLTOFF",
00794 "BFD_RELOC_HI16_S_PLTOFF",
00795 "BFD_RELOC_8_PLTOFF",
00796 "BFD_RELOC_68K_GLOB_DAT",
00797 "BFD_RELOC_68K_JMP_SLOT",
00798 "BFD_RELOC_68K_RELATIVE",
00799 "BFD_RELOC_32_BASEREL",
00800 "BFD_RELOC_16_BASEREL",
00801 "BFD_RELOC_LO16_BASEREL",
00802 "BFD_RELOC_HI16_BASEREL",
00803 "BFD_RELOC_HI16_S_BASEREL",
00804 "BFD_RELOC_8_BASEREL",
00805 "BFD_RELOC_RVA",
00806 "BFD_RELOC_8_FFnn",
00807 "BFD_RELOC_32_PCREL_S2",
00808 "BFD_RELOC_16_PCREL_S2",
00809 "BFD_RELOC_23_PCREL_S2",
00810 "BFD_RELOC_HI22",
00811 "BFD_RELOC_LO10",
00812 "BFD_RELOC_GPREL16",
00813 "BFD_RELOC_GPREL32",
00814 "BFD_RELOC_I960_CALLJ",
00815 "BFD_RELOC_NONE",
00816 "BFD_RELOC_SPARC_WDISP22",
00817 "BFD_RELOC_SPARC22",
00818 "BFD_RELOC_SPARC13",
00819 "BFD_RELOC_SPARC_GOT10",
00820 "BFD_RELOC_SPARC_GOT13",
00821 "BFD_RELOC_SPARC_GOT22",
00822 "BFD_RELOC_SPARC_PC10",
00823 "BFD_RELOC_SPARC_PC22",
00824 "BFD_RELOC_SPARC_WPLT30",
00825 "BFD_RELOC_SPARC_COPY",
00826 "BFD_RELOC_SPARC_GLOB_DAT",
00827 "BFD_RELOC_SPARC_JMP_SLOT",
00828 "BFD_RELOC_SPARC_RELATIVE",
00829 "BFD_RELOC_SPARC_UA16",
00830 "BFD_RELOC_SPARC_UA32",
00831 "BFD_RELOC_SPARC_UA64",
00832 "BFD_RELOC_SPARC_BASE13",
00833 "BFD_RELOC_SPARC_BASE22",
00834 "BFD_RELOC_SPARC_10",
00835 "BFD_RELOC_SPARC_11",
00836 "BFD_RELOC_SPARC_OLO10",
00837 "BFD_RELOC_SPARC_HH22",
00838 "BFD_RELOC_SPARC_HM10",
00839 "BFD_RELOC_SPARC_LM22",
00840 "BFD_RELOC_SPARC_PC_HH22",
00841 "BFD_RELOC_SPARC_PC_HM10",
00842 "BFD_RELOC_SPARC_PC_LM22",
00843 "BFD_RELOC_SPARC_WDISP16",
00844 "BFD_RELOC_SPARC_WDISP19",
00845 "BFD_RELOC_SPARC_7",
00846 "BFD_RELOC_SPARC_6",
00847 "BFD_RELOC_SPARC_5",
00848 "BFD_RELOC_SPARC_PLT32",
00849 "BFD_RELOC_SPARC_PLT64",
00850 "BFD_RELOC_SPARC_HIX22",
00851 "BFD_RELOC_SPARC_LOX10",
00852 "BFD_RELOC_SPARC_H44",
00853 "BFD_RELOC_SPARC_M44",
00854 "BFD_RELOC_SPARC_L44",
00855 "BFD_RELOC_SPARC_REGISTER",
00856 "BFD_RELOC_SPARC_REV32",
00857 "BFD_RELOC_SPARC_TLS_GD_HI22",
00858 "BFD_RELOC_SPARC_TLS_GD_LO10",
00859 "BFD_RELOC_SPARC_TLS_GD_ADD",
00860 "BFD_RELOC_SPARC_TLS_GD_CALL",
00861 "BFD_RELOC_SPARC_TLS_LDM_HI22",
00862 "BFD_RELOC_SPARC_TLS_LDM_LO10",
00863 "BFD_RELOC_SPARC_TLS_LDM_ADD",
00864 "BFD_RELOC_SPARC_TLS_LDM_CALL",
00865 "BFD_RELOC_SPARC_TLS_LDO_HIX22",
00866 "BFD_RELOC_SPARC_TLS_LDO_LOX10",
00867 "BFD_RELOC_SPARC_TLS_LDO_ADD",
00868 "BFD_RELOC_SPARC_TLS_IE_HI22",
00869 "BFD_RELOC_SPARC_TLS_IE_LO10",
00870 "BFD_RELOC_SPARC_TLS_IE_LD",
00871 "BFD_RELOC_SPARC_TLS_IE_LDX",
00872 "BFD_RELOC_SPARC_TLS_IE_ADD",
00873 "BFD_RELOC_SPARC_TLS_LE_HIX22",
00874 "BFD_RELOC_SPARC_TLS_LE_LOX10",
00875 "BFD_RELOC_SPARC_TLS_DTPMOD32",
00876 "BFD_RELOC_SPARC_TLS_DTPMOD64",
00877 "BFD_RELOC_SPARC_TLS_DTPOFF32",
00878 "BFD_RELOC_SPARC_TLS_DTPOFF64",
00879 "BFD_RELOC_SPARC_TLS_TPOFF32",
00880 "BFD_RELOC_SPARC_TLS_TPOFF64",
00881 "BFD_RELOC_ALPHA_GPDISP_HI16",
00882 "BFD_RELOC_ALPHA_GPDISP_LO16",
00883 "BFD_RELOC_ALPHA_GPDISP",
00884 "BFD_RELOC_ALPHA_LITERAL",
00885 "BFD_RELOC_ALPHA_ELF_LITERAL",
00886 "BFD_RELOC_ALPHA_LITUSE",
00887 "BFD_RELOC_ALPHA_HINT",
00888 "BFD_RELOC_ALPHA_LINKAGE",
00889 "BFD_RELOC_ALPHA_CODEADDR",
00890 "BFD_RELOC_ALPHA_GPREL_HI16",
00891 "BFD_RELOC_ALPHA_GPREL_LO16",
00892 "BFD_RELOC_ALPHA_BRSGP",
00893 "BFD_RELOC_ALPHA_TLSGD",
00894 "BFD_RELOC_ALPHA_TLSLDM",
00895 "BFD_RELOC_ALPHA_DTPMOD64",
00896 "BFD_RELOC_ALPHA_GOTDTPREL16",
00897 "BFD_RELOC_ALPHA_DTPREL64",
00898 "BFD_RELOC_ALPHA_DTPREL_HI16",
00899 "BFD_RELOC_ALPHA_DTPREL_LO16",
00900 "BFD_RELOC_ALPHA_DTPREL16",
00901 "BFD_RELOC_ALPHA_GOTTPREL16",
00902 "BFD_RELOC_ALPHA_TPREL64",
00903 "BFD_RELOC_ALPHA_TPREL_HI16",
00904 "BFD_RELOC_ALPHA_TPREL_LO16",
00905 "BFD_RELOC_ALPHA_TPREL16",
00906 "BFD_RELOC_MIPS_JMP",
00907 "BFD_RELOC_MIPS16_JMP",
00908 "BFD_RELOC_MIPS16_GPREL",
00909 "BFD_RELOC_HI16",
00910 "BFD_RELOC_HI16_S",
00911 "BFD_RELOC_LO16",
00912 "BFD_RELOC_MIPS16_HI16",
00913 "BFD_RELOC_MIPS16_HI16_S",
00914 "BFD_RELOC_MIPS16_LO16",
00915 "BFD_RELOC_MIPS_LITERAL",
00916 "BFD_RELOC_MIPS_GOT16",
00917 "BFD_RELOC_MIPS_CALL16",
00918 "BFD_RELOC_MIPS_GOT_HI16",
00919 "BFD_RELOC_MIPS_GOT_LO16",
00920 "BFD_RELOC_MIPS_CALL_HI16",
00921 "BFD_RELOC_MIPS_CALL_LO16",
00922 "BFD_RELOC_MIPS_SUB",
00923 "BFD_RELOC_MIPS_GOT_PAGE",
00924 "BFD_RELOC_MIPS_GOT_OFST",
00925 "BFD_RELOC_MIPS_GOT_DISP",
00926 "BFD_RELOC_MIPS_SHIFT5",
00927 "BFD_RELOC_MIPS_SHIFT6",
00928 "BFD_RELOC_MIPS_INSERT_A",
00929 "BFD_RELOC_MIPS_INSERT_B",
00930 "BFD_RELOC_MIPS_DELETE",
00931 "BFD_RELOC_MIPS_HIGHEST",
00932 "BFD_RELOC_MIPS_HIGHER",
00933 "BFD_RELOC_MIPS_SCN_DISP",
00934 "BFD_RELOC_MIPS_REL16",
00935 "BFD_RELOC_MIPS_RELGOT",
00936 "BFD_RELOC_MIPS_JALR",
00937 "BFD_RELOC_MIPS_TLS_DTPMOD32",
00938 "BFD_RELOC_MIPS_TLS_DTPREL32",
00939 "BFD_RELOC_MIPS_TLS_DTPMOD64",
00940 "BFD_RELOC_MIPS_TLS_DTPREL64",
00941 "BFD_RELOC_MIPS_TLS_GD",
00942 "BFD_RELOC_MIPS_TLS_LDM",
00943 "BFD_RELOC_MIPS_TLS_DTPREL_HI16",
00944 "BFD_RELOC_MIPS_TLS_DTPREL_LO16",
00945 "BFD_RELOC_MIPS_TLS_GOTTPREL",
00946 "BFD_RELOC_MIPS_TLS_TPREL32",
00947 "BFD_RELOC_MIPS_TLS_TPREL64",
00948 "BFD_RELOC_MIPS_TLS_TPREL_HI16",
00949 "BFD_RELOC_MIPS_TLS_TPREL_LO16",
00950
00951 "BFD_RELOC_FRV_LABEL16",
00952 "BFD_RELOC_FRV_LABEL24",
00953 "BFD_RELOC_FRV_LO16",
00954 "BFD_RELOC_FRV_HI16",
00955 "BFD_RELOC_FRV_GPREL12",
00956 "BFD_RELOC_FRV_GPRELU12",
00957 "BFD_RELOC_FRV_GPREL32",
00958 "BFD_RELOC_FRV_GPRELHI",
00959 "BFD_RELOC_FRV_GPRELLO",
00960 "BFD_RELOC_FRV_GOT12",
00961 "BFD_RELOC_FRV_GOTHI",
00962 "BFD_RELOC_FRV_GOTLO",
00963 "BFD_RELOC_FRV_FUNCDESC",
00964 "BFD_RELOC_FRV_FUNCDESC_GOT12",
00965 "BFD_RELOC_FRV_FUNCDESC_GOTHI",
00966 "BFD_RELOC_FRV_FUNCDESC_GOTLO",
00967 "BFD_RELOC_FRV_FUNCDESC_VALUE",
00968 "BFD_RELOC_FRV_FUNCDESC_GOTOFF12",
00969 "BFD_RELOC_FRV_FUNCDESC_GOTOFFHI",
00970 "BFD_RELOC_FRV_FUNCDESC_GOTOFFLO",
00971 "BFD_RELOC_FRV_GOTOFF12",
00972 "BFD_RELOC_FRV_GOTOFFHI",
00973 "BFD_RELOC_FRV_GOTOFFLO",
00974 "BFD_RELOC_FRV_GETTLSOFF",
00975 "BFD_RELOC_FRV_TLSDESC_VALUE",
00976 "BFD_RELOC_FRV_GOTTLSDESC12",
00977 "BFD_RELOC_FRV_GOTTLSDESCHI",
00978 "BFD_RELOC_FRV_GOTTLSDESCLO",
00979 "BFD_RELOC_FRV_TLSMOFF12",
00980 "BFD_RELOC_FRV_TLSMOFFHI",
00981 "BFD_RELOC_FRV_TLSMOFFLO",
00982 "BFD_RELOC_FRV_GOTTLSOFF12",
00983 "BFD_RELOC_FRV_GOTTLSOFFHI",
00984 "BFD_RELOC_FRV_GOTTLSOFFLO",
00985 "BFD_RELOC_FRV_TLSOFF",
00986 "BFD_RELOC_FRV_TLSDESC_RELAX",
00987 "BFD_RELOC_FRV_GETTLSOFF_RELAX",
00988 "BFD_RELOC_FRV_TLSOFF_RELAX",
00989 "BFD_RELOC_FRV_TLSMOFF",
00990
00991 "BFD_RELOC_MN10300_GOTOFF24",
00992 "BFD_RELOC_MN10300_GOT32",
00993 "BFD_RELOC_MN10300_GOT24",
00994 "BFD_RELOC_MN10300_GOT16",
00995 "BFD_RELOC_MN10300_COPY",
00996 "BFD_RELOC_MN10300_GLOB_DAT",
00997 "BFD_RELOC_MN10300_JMP_SLOT",
00998 "BFD_RELOC_MN10300_RELATIVE",
00999
01000 "BFD_RELOC_386_GOT32",
01001 "BFD_RELOC_386_PLT32",
01002 "BFD_RELOC_386_COPY",
01003 "BFD_RELOC_386_GLOB_DAT",
01004 "BFD_RELOC_386_JUMP_SLOT",
01005 "BFD_RELOC_386_RELATIVE",
01006 "BFD_RELOC_386_GOTOFF",
01007 "BFD_RELOC_386_GOTPC",
01008 "BFD_RELOC_386_TLS_TPOFF",
01009 "BFD_RELOC_386_TLS_IE",
01010 "BFD_RELOC_386_TLS_GOTIE",
01011 "BFD_RELOC_386_TLS_LE",
01012 "BFD_RELOC_386_TLS_GD",
01013 "BFD_RELOC_386_TLS_LDM",
01014 "BFD_RELOC_386_TLS_LDO_32",
01015 "BFD_RELOC_386_TLS_IE_32",
01016 "BFD_RELOC_386_TLS_LE_32",
01017 "BFD_RELOC_386_TLS_DTPMOD32",
01018 "BFD_RELOC_386_TLS_DTPOFF32",
01019 "BFD_RELOC_386_TLS_TPOFF32",
01020 "BFD_RELOC_X86_64_GOT32",
01021 "BFD_RELOC_X86_64_PLT32",
01022 "BFD_RELOC_X86_64_COPY",
01023 "BFD_RELOC_X86_64_GLOB_DAT",
01024 "BFD_RELOC_X86_64_JUMP_SLOT",
01025 "BFD_RELOC_X86_64_RELATIVE",
01026 "BFD_RELOC_X86_64_GOTPCREL",
01027 "BFD_RELOC_X86_64_32S",
01028 "BFD_RELOC_X86_64_DTPMOD64",
01029 "BFD_RELOC_X86_64_DTPOFF64",
01030 "BFD_RELOC_X86_64_TPOFF64",
01031 "BFD_RELOC_X86_64_TLSGD",
01032 "BFD_RELOC_X86_64_TLSLD",
01033 "BFD_RELOC_X86_64_DTPOFF32",
01034 "BFD_RELOC_X86_64_GOTTPOFF",
01035 "BFD_RELOC_X86_64_TPOFF32",
01036 "BFD_RELOC_NS32K_IMM_8",
01037 "BFD_RELOC_NS32K_IMM_16",
01038 "BFD_RELOC_NS32K_IMM_32",
01039 "BFD_RELOC_NS32K_IMM_8_PCREL",
01040 "BFD_RELOC_NS32K_IMM_16_PCREL",
01041 "BFD_RELOC_NS32K_IMM_32_PCREL",
01042 "BFD_RELOC_NS32K_DISP_8",
01043 "BFD_RELOC_NS32K_DISP_16",
01044 "BFD_RELOC_NS32K_DISP_32",
01045 "BFD_RELOC_NS32K_DISP_8_PCREL",
01046 "BFD_RELOC_NS32K_DISP_16_PCREL",
01047 "BFD_RELOC_NS32K_DISP_32_PCREL",
01048 "BFD_RELOC_PDP11_DISP_8_PCREL",
01049 "BFD_RELOC_PDP11_DISP_6_PCREL",
01050 "BFD_RELOC_PJ_CODE_HI16",
01051 "BFD_RELOC_PJ_CODE_LO16",
01052 "BFD_RELOC_PJ_CODE_DIR16",
01053 "BFD_RELOC_PJ_CODE_DIR32",
01054 "BFD_RELOC_PJ_CODE_REL16",
01055 "BFD_RELOC_PJ_CODE_REL32",
01056 "BFD_RELOC_PPC_B26",
01057 "BFD_RELOC_PPC_BA26",
01058 "BFD_RELOC_PPC_TOC16",
01059 "BFD_RELOC_PPC_B16",
01060 "BFD_RELOC_PPC_B16_BRTAKEN",
01061 "BFD_RELOC_PPC_B16_BRNTAKEN",
01062 "BFD_RELOC_PPC_BA16",
01063 "BFD_RELOC_PPC_BA16_BRTAKEN",
01064 "BFD_RELOC_PPC_BA16_BRNTAKEN",
01065 "BFD_RELOC_PPC_COPY",
01066 "BFD_RELOC_PPC_GLOB_DAT",
01067 "BFD_RELOC_PPC_JMP_SLOT",
01068 "BFD_RELOC_PPC_RELATIVE",
01069 "BFD_RELOC_PPC_LOCAL24PC",
01070 "BFD_RELOC_PPC_EMB_NADDR32",
01071 "BFD_RELOC_PPC_EMB_NADDR16",
01072 "BFD_RELOC_PPC_EMB_NADDR16_LO",
01073 "BFD_RELOC_PPC_EMB_NADDR16_HI",
01074 "BFD_RELOC_PPC_EMB_NADDR16_HA",
01075 "BFD_RELOC_PPC_EMB_SDAI16",
01076 "BFD_RELOC_PPC_EMB_SDA2I16",
01077 "BFD_RELOC_PPC_EMB_SDA2REL",
01078 "BFD_RELOC_PPC_EMB_SDA21",
01079 "BFD_RELOC_PPC_EMB_MRKREF",
01080 "BFD_RELOC_PPC_EMB_RELSEC16",
01081 "BFD_RELOC_PPC_EMB_RELST_LO",
01082 "BFD_RELOC_PPC_EMB_RELST_HI",
01083 "BFD_RELOC_PPC_EMB_RELST_HA",
01084 "BFD_RELOC_PPC_EMB_BIT_FLD",
01085 "BFD_RELOC_PPC_EMB_RELSDA",
01086 "BFD_RELOC_PPC64_HIGHER",
01087 "BFD_RELOC_PPC64_HIGHER_S",
01088 "BFD_RELOC_PPC64_HIGHEST",
01089 "BFD_RELOC_PPC64_HIGHEST_S",
01090 "BFD_RELOC_PPC64_TOC16_LO",
01091 "BFD_RELOC_PPC64_TOC16_HI",
01092 "BFD_RELOC_PPC64_TOC16_HA",
01093 "BFD_RELOC_PPC64_TOC",
01094 "BFD_RELOC_PPC64_PLTGOT16",
01095 "BFD_RELOC_PPC64_PLTGOT16_LO",
01096 "BFD_RELOC_PPC64_PLTGOT16_HI",
01097 "BFD_RELOC_PPC64_PLTGOT16_HA",
01098 "BFD_RELOC_PPC64_ADDR16_DS",
01099 "BFD_RELOC_PPC64_ADDR16_LO_DS",
01100 "BFD_RELOC_PPC64_GOT16_DS",
01101 "BFD_RELOC_PPC64_GOT16_LO_DS",
01102 "BFD_RELOC_PPC64_PLT16_LO_DS",
01103 "BFD_RELOC_PPC64_SECTOFF_DS",
01104 "BFD_RELOC_PPC64_SECTOFF_LO_DS",
01105 "BFD_RELOC_PPC64_TOC16_DS",
01106 "BFD_RELOC_PPC64_TOC16_LO_DS",
01107 "BFD_RELOC_PPC64_PLTGOT16_DS",
01108 "BFD_RELOC_PPC64_PLTGOT16_LO_DS",
01109 "BFD_RELOC_PPC_TLS",
01110 "BFD_RELOC_PPC_DTPMOD",
01111 "BFD_RELOC_PPC_TPREL16",
01112 "BFD_RELOC_PPC_TPREL16_LO",
01113 "BFD_RELOC_PPC_TPREL16_HI",
01114 "BFD_RELOC_PPC_TPREL16_HA",
01115 "BFD_RELOC_PPC_TPREL",
01116 "BFD_RELOC_PPC_DTPREL16",
01117 "BFD_RELOC_PPC_DTPREL16_LO",
01118 "BFD_RELOC_PPC_DTPREL16_HI",
01119 "BFD_RELOC_PPC_DTPREL16_HA",
01120 "BFD_RELOC_PPC_DTPREL",
01121 "BFD_RELOC_PPC_GOT_TLSGD16",
01122 "BFD_RELOC_PPC_GOT_TLSGD16_LO",
01123 "BFD_RELOC_PPC_GOT_TLSGD16_HI",
01124 "BFD_RELOC_PPC_GOT_TLSGD16_HA",
01125 "BFD_RELOC_PPC_GOT_TLSLD16",
01126 "BFD_RELOC_PPC_GOT_TLSLD16_LO",
01127 "BFD_RELOC_PPC_GOT_TLSLD16_HI",
01128 "BFD_RELOC_PPC_GOT_TLSLD16_HA",
01129 "BFD_RELOC_PPC_GOT_TPREL16",
01130 "BFD_RELOC_PPC_GOT_TPREL16_LO",
01131 "BFD_RELOC_PPC_GOT_TPREL16_HI",
01132 "BFD_RELOC_PPC_GOT_TPREL16_HA",
01133 "BFD_RELOC_PPC_GOT_DTPREL16",
01134 "BFD_RELOC_PPC_GOT_DTPREL16_LO",
01135 "BFD_RELOC_PPC_GOT_DTPREL16_HI",
01136 "BFD_RELOC_PPC_GOT_DTPREL16_HA",
01137 "BFD_RELOC_PPC64_TPREL16_DS",
01138 "BFD_RELOC_PPC64_TPREL16_LO_DS",
01139 "BFD_RELOC_PPC64_TPREL16_HIGHER",
01140 "BFD_RELOC_PPC64_TPREL16_HIGHERA",
01141 "BFD_RELOC_PPC64_TPREL16_HIGHEST",
01142 "BFD_RELOC_PPC64_TPREL16_HIGHESTA",
01143 "BFD_RELOC_PPC64_DTPREL16_DS",
01144 "BFD_RELOC_PPC64_DTPREL16_LO_DS",
01145 "BFD_RELOC_PPC64_DTPREL16_HIGHER",
01146 "BFD_RELOC_PPC64_DTPREL16_HIGHERA",
01147 "BFD_RELOC_PPC64_DTPREL16_HIGHEST",
01148 "BFD_RELOC_PPC64_DTPREL16_HIGHESTA",
01149 "BFD_RELOC_I370_D12",
01150 "BFD_RELOC_CTOR",
01151 "BFD_RELOC_ARM_PCREL_BRANCH",
01152 "BFD_RELOC_ARM_PCREL_BLX",
01153 "BFD_RELOC_THUMB_PCREL_BLX",
01154 "BFD_RELOC_ARM_IMMEDIATE",
01155 "BFD_RELOC_ARM_ADRL_IMMEDIATE",
01156 "BFD_RELOC_ARM_OFFSET_IMM",
01157 "BFD_RELOC_ARM_SHIFT_IMM",
01158 "BFD_RELOC_ARM_SMI",
01159 "BFD_RELOC_ARM_SWI",
01160 "BFD_RELOC_ARM_MULTI",
01161 "BFD_RELOC_ARM_CP_OFF_IMM",
01162 "BFD_RELOC_ARM_CP_OFF_IMM_S2",
01163 "BFD_RELOC_ARM_ADR_IMM",
01164 "BFD_RELOC_ARM_LDR_IMM",
01165 "BFD_RELOC_ARM_LITERAL",
01166 "BFD_RELOC_ARM_IN_POOL",
01167 "BFD_RELOC_ARM_OFFSET_IMM8",
01168 "BFD_RELOC_ARM_HWLITERAL",
01169 "BFD_RELOC_ARM_THUMB_ADD",
01170 "BFD_RELOC_ARM_THUMB_IMM",
01171 "BFD_RELOC_ARM_THUMB_SHIFT",
01172 "BFD_RELOC_ARM_THUMB_OFFSET",
01173 "BFD_RELOC_ARM_GOT12",
01174 "BFD_RELOC_ARM_GOT32",
01175 "BFD_RELOC_ARM_JUMP_SLOT",
01176 "BFD_RELOC_ARM_COPY",
01177 "BFD_RELOC_ARM_GLOB_DAT",
01178 "BFD_RELOC_ARM_PLT32",
01179 "BFD_RELOC_ARM_RELATIVE",
01180 "BFD_RELOC_ARM_GOTOFF",
01181 "BFD_RELOC_ARM_GOTPC",
01182 "BFD_RELOC_ARM_TARGET1",
01183 "BFD_RELOC_ARM_ROSEGREL32",
01184 "BFD_RELOC_ARM_SBREL32",
01185 "BFD_RELOC_ARM_TARGET2",
01186 "BFD_RELOC_ARM_PREL31",
01187 "BFD_RELOC_SH_PCDISP8BY2",
01188 "BFD_RELOC_SH_PCDISP12BY2",
01189 "BFD_RELOC_SH_IMM3",
01190 "BFD_RELOC_SH_IMM3U",
01191 "BFD_RELOC_SH_DISP12",
01192 "BFD_RELOC_SH_DISP12BY2",
01193 "BFD_RELOC_SH_DISP12BY4",
01194 "BFD_RELOC_SH_DISP12BY8",
01195 "BFD_RELOC_SH_DISP20",
01196 "BFD_RELOC_SH_DISP20BY8",
01197 "BFD_RELOC_SH_IMM4",
01198 "BFD_RELOC_SH_IMM4BY2",
01199 "BFD_RELOC_SH_IMM4BY4",
01200 "BFD_RELOC_SH_IMM8",
01201 "BFD_RELOC_SH_IMM8BY2",
01202 "BFD_RELOC_SH_IMM8BY4",
01203 "BFD_RELOC_SH_PCRELIMM8BY2",
01204 "BFD_RELOC_SH_PCRELIMM8BY4",
01205 "BFD_RELOC_SH_SWITCH16",
01206 "BFD_RELOC_SH_SWITCH32",
01207 "BFD_RELOC_SH_USES",
01208 "BFD_RELOC_SH_COUNT",
01209 "BFD_RELOC_SH_ALIGN",
01210 "BFD_RELOC_SH_CODE",
01211 "BFD_RELOC_SH_DATA",
01212 "BFD_RELOC_SH_LABEL",
01213 "BFD_RELOC_SH_LOOP_START",
01214 "BFD_RELOC_SH_LOOP_END",
01215 "BFD_RELOC_SH_COPY",
01216 "BFD_RELOC_SH_GLOB_DAT",
01217 "BFD_RELOC_SH_JMP_SLOT",
01218 "BFD_RELOC_SH_RELATIVE",
01219 "BFD_RELOC_SH_GOTPC",
01220 "BFD_RELOC_SH_GOT_LOW16",
01221 "BFD_RELOC_SH_GOT_MEDLOW16",
01222 "BFD_RELOC_SH_GOT_MEDHI16",
01223 "BFD_RELOC_SH_GOT_HI16",
01224 "BFD_RELOC_SH_GOTPLT_LOW16",
01225 "BFD_RELOC_SH_GOTPLT_MEDLOW16",
01226 "BFD_RELOC_SH_GOTPLT_MEDHI16",
01227 "BFD_RELOC_SH_GOTPLT_HI16",
01228 "BFD_RELOC_SH_PLT_LOW16",
01229 "BFD_RELOC_SH_PLT_MEDLOW16",
01230 "BFD_RELOC_SH_PLT_MEDHI16",
01231 "BFD_RELOC_SH_PLT_HI16",
01232 "BFD_RELOC_SH_GOTOFF_LOW16",
01233 "BFD_RELOC_SH_GOTOFF_MEDLOW16",
01234 "BFD_RELOC_SH_GOTOFF_MEDHI16",
01235 "BFD_RELOC_SH_GOTOFF_HI16",
01236 "BFD_RELOC_SH_GOTPC_LOW16",
01237 "BFD_RELOC_SH_GOTPC_MEDLOW16",
01238 "BFD_RELOC_SH_GOTPC_MEDHI16",
01239 "BFD_RELOC_SH_GOTPC_HI16",
01240 "BFD_RELOC_SH_COPY64",
01241 "BFD_RELOC_SH_GLOB_DAT64",
01242 "BFD_RELOC_SH_JMP_SLOT64",
01243 "BFD_RELOC_SH_RELATIVE64",
01244 "BFD_RELOC_SH_GOT10BY4",
01245 "BFD_RELOC_SH_GOT10BY8",
01246 "BFD_RELOC_SH_GOTPLT10BY4",
01247 "BFD_RELOC_SH_GOTPLT10BY8",
01248 "BFD_RELOC_SH_GOTPLT32",
01249 "BFD_RELOC_SH_SHMEDIA_CODE",
01250 "BFD_RELOC_SH_IMMU5",
01251 "BFD_RELOC_SH_IMMS6",
01252 "BFD_RELOC_SH_IMMS6BY32",
01253 "BFD_RELOC_SH_IMMU6",
01254 "BFD_RELOC_SH_IMMS10",
01255 "BFD_RELOC_SH_IMMS10BY2",
01256 "BFD_RELOC_SH_IMMS10BY4",
01257 "BFD_RELOC_SH_IMMS10BY8",
01258 "BFD_RELOC_SH_IMMS16",
01259 "BFD_RELOC_SH_IMMU16",
01260 "BFD_RELOC_SH_IMM_LOW16",
01261 "BFD_RELOC_SH_IMM_LOW16_PCREL",
01262 "BFD_RELOC_SH_IMM_MEDLOW16",
01263 "BFD_RELOC_SH_IMM_MEDLOW16_PCREL",
01264 "BFD_RELOC_SH_IMM_MEDHI16",
01265 "BFD_RELOC_SH_IMM_MEDHI16_PCREL",
01266 "BFD_RELOC_SH_IMM_HI16",
01267 "BFD_RELOC_SH_IMM_HI16_PCREL",
01268 "BFD_RELOC_SH_PT_16",
01269 "BFD_RELOC_SH_TLS_GD_32",
01270 "BFD_RELOC_SH_TLS_LD_32",
01271 "BFD_RELOC_SH_TLS_LDO_32",
01272 "BFD_RELOC_SH_TLS_IE_32",
01273 "BFD_RELOC_SH_TLS_LE_32",
01274 "BFD_RELOC_SH_TLS_DTPMOD32",
01275 "BFD_RELOC_SH_TLS_DTPOFF32",
01276 "BFD_RELOC_SH_TLS_TPOFF32",
01277 "BFD_RELOC_THUMB_PCREL_BRANCH9",
01278 "BFD_RELOC_THUMB_PCREL_BRANCH12",
01279 "BFD_RELOC_THUMB_PCREL_BRANCH23",
01280 "BFD_RELOC_ARC_B22_PCREL",
01281 "BFD_RELOC_ARC_B26",
01282 "BFD_RELOC_D10V_10_PCREL_R",
01283 "BFD_RELOC_D10V_10_PCREL_L",
01284 "BFD_RELOC_D10V_18",
01285 "BFD_RELOC_D10V_18_PCREL",
01286 "BFD_RELOC_D30V_6",
01287 "BFD_RELOC_D30V_9_PCREL",
01288 "BFD_RELOC_D30V_9_PCREL_R",
01289 "BFD_RELOC_D30V_15",
01290 "BFD_RELOC_D30V_15_PCREL",
01291 "BFD_RELOC_D30V_15_PCREL_R",
01292 "BFD_RELOC_D30V_21",
01293 "BFD_RELOC_D30V_21_PCREL",
01294 "BFD_RELOC_D30V_21_PCREL_R",
01295 "BFD_RELOC_D30V_32",
01296 "BFD_RELOC_D30V_32_PCREL",
01297 "BFD_RELOC_DLX_HI16_S",
01298 "BFD_RELOC_DLX_LO16",
01299 "BFD_RELOC_DLX_JMP26",
01300 "BFD_RELOC_M32R_24",
01301 "BFD_RELOC_M32R_10_PCREL",
01302 "BFD_RELOC_M32R_18_PCREL",
01303 "BFD_RELOC_M32R_26_PCREL",
01304 "BFD_RELOC_M32R_HI16_ULO",
01305 "BFD_RELOC_M32R_HI16_SLO",
01306 "BFD_RELOC_M32R_LO16",
01307 "BFD_RELOC_M32R_SDA16",
01308 "BFD_RELOC_M32R_GOT24",
01309 "BFD_RELOC_M32R_26_PLTREL",
01310 "BFD_RELOC_M32R_COPY",
01311 "BFD_RELOC_M32R_GLOB_DAT",
01312 "BFD_RELOC_M32R_JMP_SLOT",
01313 "BFD_RELOC_M32R_RELATIVE",
01314 "BFD_RELOC_M32R_GOTOFF",
01315 "BFD_RELOC_M32R_GOTOFF_HI_ULO",
01316 "BFD_RELOC_M32R_GOTOFF_HI_SLO",
01317 "BFD_RELOC_M32R_GOTOFF_LO",
01318 "BFD_RELOC_M32R_GOTPC24",
01319 "BFD_RELOC_M32R_GOT16_HI_ULO",
01320 "BFD_RELOC_M32R_GOT16_HI_SLO",
01321 "BFD_RELOC_M32R_GOT16_LO",
01322 "BFD_RELOC_M32R_GOTPC_HI_ULO",
01323 "BFD_RELOC_M32R_GOTPC_HI_SLO",
01324 "BFD_RELOC_M32R_GOTPC_LO",
01325 "BFD_RELOC_V850_9_PCREL",
01326 "BFD_RELOC_V850_22_PCREL",
01327 "BFD_RELOC_V850_SDA_16_16_OFFSET",
01328 "BFD_RELOC_V850_SDA_15_16_OFFSET",
01329 "BFD_RELOC_V850_ZDA_16_16_OFFSET",
01330 "BFD_RELOC_V850_ZDA_15_16_OFFSET",
01331 "BFD_RELOC_V850_TDA_6_8_OFFSET",
01332 "BFD_RELOC_V850_TDA_7_8_OFFSET",
01333 "BFD_RELOC_V850_TDA_7_7_OFFSET",
01334 "BFD_RELOC_V850_TDA_16_16_OFFSET",
01335 "BFD_RELOC_V850_TDA_4_5_OFFSET",
01336 "BFD_RELOC_V850_TDA_4_4_OFFSET",
01337 "BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET",
01338 "BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET",
01339 "BFD_RELOC_V850_CALLT_6_7_OFFSET",
01340 "BFD_RELOC_V850_CALLT_16_16_OFFSET",
01341 "BFD_RELOC_V850_LONGCALL",
01342 "BFD_RELOC_V850_LONGJUMP",
01343 "BFD_RELOC_V850_ALIGN",
01344 "BFD_RELOC_V850_LO16_SPLIT_OFFSET",
01345 "BFD_RELOC_MN10300_32_PCREL",
01346 "BFD_RELOC_MN10300_16_PCREL",
01347 "BFD_RELOC_TIC30_LDP",
01348 "BFD_RELOC_TIC54X_PARTLS7",
01349 "BFD_RELOC_TIC54X_PARTMS9",
01350 "BFD_RELOC_TIC54X_23",
01351 "BFD_RELOC_TIC54X_16_OF_23",
01352 "BFD_RELOC_TIC54X_MS7_OF_23",
01353 "BFD_RELOC_FR30_48",
01354 "BFD_RELOC_FR30_20",
01355 "BFD_RELOC_FR30_6_IN_4",
01356 "BFD_RELOC_FR30_8_IN_8",
01357 "BFD_RELOC_FR30_9_IN_8",
01358 "BFD_RELOC_FR30_10_IN_8",
01359 "BFD_RELOC_FR30_9_PCREL",
01360 "BFD_RELOC_FR30_12_PCREL",
01361 "BFD_RELOC_MCORE_PCREL_IMM8BY4",
01362 "BFD_RELOC_MCORE_PCREL_IMM11BY2",
01363 "BFD_RELOC_MCORE_PCREL_IMM4BY2",
01364 "BFD_RELOC_MCORE_PCREL_32",
01365 "BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2",
01366 "BFD_RELOC_MCORE_RVA",
01367 "BFD_RELOC_MMIX_GETA",
01368 "BFD_RELOC_MMIX_GETA_1",
01369 "BFD_RELOC_MMIX_GETA_2",
01370 "BFD_RELOC_MMIX_GETA_3",
01371 "BFD_RELOC_MMIX_CBRANCH",
01372 "BFD_RELOC_MMIX_CBRANCH_J",
01373 "BFD_RELOC_MMIX_CBRANCH_1",
01374 "BFD_RELOC_MMIX_CBRANCH_2",
01375 "BFD_RELOC_MMIX_CBRANCH_3",
01376 "BFD_RELOC_MMIX_PUSHJ",
01377 "BFD_RELOC_MMIX_PUSHJ_1",
01378 "BFD_RELOC_MMIX_PUSHJ_2",
01379 "BFD_RELOC_MMIX_PUSHJ_3",
01380 "BFD_RELOC_MMIX_PUSHJ_STUBBABLE",
01381 "BFD_RELOC_MMIX_JMP",
01382 "BFD_RELOC_MMIX_JMP_1",
01383 "BFD_RELOC_MMIX_JMP_2",
01384 "BFD_RELOC_MMIX_JMP_3",
01385 "BFD_RELOC_MMIX_ADDR19",
01386 "BFD_RELOC_MMIX_ADDR27",
01387 "BFD_RELOC_MMIX_REG_OR_BYTE",
01388 "BFD_RELOC_MMIX_REG",
01389 "BFD_RELOC_MMIX_BASE_PLUS_OFFSET",
01390 "BFD_RELOC_MMIX_LOCAL",
01391 "BFD_RELOC_AVR_7_PCREL",
01392 "BFD_RELOC_AVR_13_PCREL",
01393 "BFD_RELOC_AVR_16_PM",
01394 "BFD_RELOC_AVR_LO8_LDI",
01395 "BFD_RELOC_AVR_HI8_LDI",
01396 "BFD_RELOC_AVR_HH8_LDI",
01397 "BFD_RELOC_AVR_LO8_LDI_NEG",
01398 "BFD_RELOC_AVR_HI8_LDI_NEG",
01399 "BFD_RELOC_AVR_HH8_LDI_NEG",
01400 "BFD_RELOC_AVR_LO8_LDI_PM",
01401 "BFD_RELOC_AVR_HI8_LDI_PM",
01402 "BFD_RELOC_AVR_HH8_LDI_PM",
01403 "BFD_RELOC_AVR_LO8_LDI_PM_NEG",
01404 "BFD_RELOC_AVR_HI8_LDI_PM_NEG",
01405 "BFD_RELOC_AVR_HH8_LDI_PM_NEG",
01406 "BFD_RELOC_AVR_CALL",
01407 "BFD_RELOC_AVR_LDI",
01408 "BFD_RELOC_AVR_6",
01409 "BFD_RELOC_AVR_6_ADIW",
01410 "BFD_RELOC_390_12",
01411 "BFD_RELOC_390_GOT12",
01412 "BFD_RELOC_390_PLT32",
01413 "BFD_RELOC_390_COPY",
01414 "BFD_RELOC_390_GLOB_DAT",
01415 "BFD_RELOC_390_JMP_SLOT",
01416 "BFD_RELOC_390_RELATIVE",
01417 "BFD_RELOC_390_GOTPC",
01418 "BFD_RELOC_390_GOT16",
01419 "BFD_RELOC_390_PC16DBL",
01420 "BFD_RELOC_390_PLT16DBL",
01421 "BFD_RELOC_390_PC32DBL",
01422 "BFD_RELOC_390_PLT32DBL",
01423 "BFD_RELOC_390_GOTPCDBL",
01424 "BFD_RELOC_390_GOT64",
01425 "BFD_RELOC_390_PLT64",
01426 "BFD_RELOC_390_GOTENT",
01427 "BFD_RELOC_390_GOTOFF64",
01428 "BFD_RELOC_390_GOTPLT12",
01429 "BFD_RELOC_390_GOTPLT16",
01430 "BFD_RELOC_390_GOTPLT32",
01431 "BFD_RELOC_390_GOTPLT64",
01432 "BFD_RELOC_390_GOTPLTENT",
01433 "BFD_RELOC_390_PLTOFF16",
01434 "BFD_RELOC_390_PLTOFF32",
01435 "BFD_RELOC_390_PLTOFF64",
01436 "BFD_RELOC_390_TLS_LOAD",
01437 "BFD_RELOC_390_TLS_GDCALL",
01438 "BFD_RELOC_390_TLS_LDCALL",
01439 "BFD_RELOC_390_TLS_GD32",
01440 "BFD_RELOC_390_TLS_GD64",
01441 "BFD_RELOC_390_TLS_GOTIE12",
01442 "BFD_RELOC_390_TLS_GOTIE32",
01443 "BFD_RELOC_390_TLS_GOTIE64",
01444 "BFD_RELOC_390_TLS_LDM32",
01445 "BFD_RELOC_390_TLS_LDM64",
01446 "BFD_RELOC_390_TLS_IE32",
01447 "BFD_RELOC_390_TLS_IE64",
01448 "BFD_RELOC_390_TLS_IEENT",
01449 "BFD_RELOC_390_TLS_LE32",
01450 "BFD_RELOC_390_TLS_LE64",
01451 "BFD_RELOC_390_TLS_LDO32",
01452 "BFD_RELOC_390_TLS_LDO64",
01453 "BFD_RELOC_390_TLS_DTPMOD",
01454 "BFD_RELOC_390_TLS_DTPOFF",
01455 "BFD_RELOC_390_TLS_TPOFF",
01456 "BFD_RELOC_390_20",
01457 "BFD_RELOC_390_GOT20",
01458 "BFD_RELOC_390_GOTPLT20",
01459 "BFD_RELOC_390_TLS_GOTIE20",
01460 "BFD_RELOC_IP2K_FR9",
01461 "BFD_RELOC_IP2K_BANK",
01462 "BFD_RELOC_IP2K_ADDR16CJP",
01463 "BFD_RELOC_IP2K_PAGE3",
01464 "BFD_RELOC_IP2K_LO8DATA",
01465 "BFD_RELOC_IP2K_HI8DATA",
01466 "BFD_RELOC_IP2K_EX8DATA",
01467 "BFD_RELOC_IP2K_LO8INSN",
01468 "BFD_RELOC_IP2K_HI8INSN",
01469 "BFD_RELOC_IP2K_PC_SKIP",
01470 "BFD_RELOC_IP2K_TEXT",
01471 "BFD_RELOC_IP2K_FR_OFFSET",
01472 "BFD_RELOC_VPE4KMATH_DATA",
01473 "BFD_RELOC_VPE4KMATH_INSN",
01474 "BFD_RELOC_VTABLE_INHERIT",
01475 "BFD_RELOC_VTABLE_ENTRY",
01476 "BFD_RELOC_IA64_IMM14",
01477 "BFD_RELOC_IA64_IMM22",
01478 "BFD_RELOC_IA64_IMM64",
01479 "BFD_RELOC_IA64_DIR32MSB",
01480 "BFD_RELOC_IA64_DIR32LSB",
01481 "BFD_RELOC_IA64_DIR64MSB",
01482 "BFD_RELOC_IA64_DIR64LSB",
01483 "BFD_RELOC_IA64_GPREL22",
01484 "BFD_RELOC_IA64_GPREL64I",
01485 "BFD_RELOC_IA64_GPREL32MSB",
01486 "BFD_RELOC_IA64_GPREL32LSB",
01487 "BFD_RELOC_IA64_GPREL64MSB",
01488 "BFD_RELOC_IA64_GPREL64LSB",
01489 "BFD_RELOC_IA64_LTOFF22",
01490 "BFD_RELOC_IA64_LTOFF64I",
01491 "BFD_RELOC_IA64_PLTOFF22",
01492 "BFD_RELOC_IA64_PLTOFF64I",
01493 "BFD_RELOC_IA64_PLTOFF64MSB",
01494 "BFD_RELOC_IA64_PLTOFF64LSB",
01495 "BFD_RELOC_IA64_FPTR64I",
01496 "BFD_RELOC_IA64_FPTR32MSB",
01497 "BFD_RELOC_IA64_FPTR32LSB",
01498 "BFD_RELOC_IA64_FPTR64MSB",
01499 "BFD_RELOC_IA64_FPTR64LSB",
01500 "BFD_RELOC_IA64_PCREL21B",
01501 "BFD_RELOC_IA64_PCREL21BI",
01502 "BFD_RELOC_IA64_PCREL21M",
01503 "BFD_RELOC_IA64_PCREL21F",
01504 "BFD_RELOC_IA64_PCREL22",
01505 "BFD_RELOC_IA64_PCREL60B",
01506 "BFD_RELOC_IA64_PCREL64I",
01507 "BFD_RELOC_IA64_PCREL32MSB",
01508 "BFD_RELOC_IA64_PCREL32LSB",
01509 "BFD_RELOC_IA64_PCREL64MSB",
01510 "BFD_RELOC_IA64_PCREL64LSB",
01511 "BFD_RELOC_IA64_LTOFF_FPTR22",
01512 "BFD_RELOC_IA64_LTOFF_FPTR64I",
01513 "BFD_RELOC_IA64_LTOFF_FPTR32MSB",
01514 "BFD_RELOC_IA64_LTOFF_FPTR32LSB",
01515 "BFD_RELOC_IA64_LTOFF_FPTR64MSB",
01516 "BFD_RELOC_IA64_LTOFF_FPTR64LSB",
01517 "BFD_RELOC_IA64_SEGREL32MSB",
01518 "BFD_RELOC_IA64_SEGREL32LSB",
01519 "BFD_RELOC_IA64_SEGREL64MSB",
01520 "BFD_RELOC_IA64_SEGREL64LSB",
01521 "BFD_RELOC_IA64_SECREL32MSB",
01522 "BFD_RELOC_IA64_SECREL32LSB",
01523 "BFD_RELOC_IA64_SECREL64MSB",
01524 "BFD_RELOC_IA64_SECREL64LSB",
01525 "BFD_RELOC_IA64_REL32MSB",
01526 "BFD_RELOC_IA64_REL32LSB",
01527 "BFD_RELOC_IA64_REL64MSB",
01528 "BFD_RELOC_IA64_REL64LSB",
01529 "BFD_RELOC_IA64_LTV32MSB",
01530 "BFD_RELOC_IA64_LTV32LSB",
01531 "BFD_RELOC_IA64_LTV64MSB",
01532 "BFD_RELOC_IA64_LTV64LSB",
01533 "BFD_RELOC_IA64_IPLTMSB",
01534 "BFD_RELOC_IA64_IPLTLSB",
01535 "BFD_RELOC_IA64_COPY",
01536 "BFD_RELOC_IA64_LTOFF22X",
01537 "BFD_RELOC_IA64_LDXMOV",
01538 "BFD_RELOC_IA64_TPREL14",
01539 "BFD_RELOC_IA64_TPREL22",
01540 "BFD_RELOC_IA64_TPREL64I",
01541 "BFD_RELOC_IA64_TPREL64MSB",
01542 "BFD_RELOC_IA64_TPREL64LSB",
01543 "BFD_RELOC_IA64_LTOFF_TPREL22",
01544 "BFD_RELOC_IA64_DTPMOD64MSB",
01545 "BFD_RELOC_IA64_DTPMOD64LSB",
01546 "BFD_RELOC_IA64_LTOFF_DTPMOD22",
01547 "BFD_RELOC_IA64_DTPREL14",
01548 "BFD_RELOC_IA64_DTPREL22",
01549 "BFD_RELOC_IA64_DTPREL64I",
01550 "BFD_RELOC_IA64_DTPREL32MSB",
01551 "BFD_RELOC_IA64_DTPREL32LSB",
01552 "BFD_RELOC_IA64_DTPREL64MSB",
01553 "BFD_RELOC_IA64_DTPREL64LSB",
01554 "BFD_RELOC_IA64_LTOFF_DTPREL22",
01555 "BFD_RELOC_M68HC11_HI8",
01556 "BFD_RELOC_M68HC11_LO8",
01557 "BFD_RELOC_M68HC11_3B",
01558 "BFD_RELOC_M68HC11_RL_JUMP",
01559 "BFD_RELOC_M68HC11_RL_GROUP",
01560 "BFD_RELOC_M68HC11_LO16",
01561 "BFD_RELOC_M68HC11_PAGE",
01562 "BFD_RELOC_M68HC11_24",
01563 "BFD_RELOC_M68HC12_5B",
01564 "BFD_RELOC_16C_NUM08",
01565 "BFD_RELOC_16C_NUM08_C",
01566 "BFD_RELOC_16C_NUM16",
01567 "BFD_RELOC_16C_NUM16_C",
01568 "BFD_RELOC_16C_NUM32",
01569 "BFD_RELOC_16C_NUM32_C",
01570 "BFD_RELOC_16C_DISP04",
01571 "BFD_RELOC_16C_DISP04_C",
01572 "BFD_RELOC_16C_DISP08",
01573 "BFD_RELOC_16C_DISP08_C",
01574 "BFD_RELOC_16C_DISP16",
01575 "BFD_RELOC_16C_DISP16_C",
01576 "BFD_RELOC_16C_DISP24",
01577 "BFD_RELOC_16C_DISP24_C",
01578 "BFD_RELOC_16C_DISP24a",
01579 "BFD_RELOC_16C_DISP24a_C",
01580 "BFD_RELOC_16C_REG04",
01581 "BFD_RELOC_16C_REG04_C",
01582 "BFD_RELOC_16C_REG04a",
01583 "BFD_RELOC_16C_REG04a_C",
01584 "BFD_RELOC_16C_REG14",
01585 "BFD_RELOC_16C_REG14_C",
01586 "BFD_RELOC_16C_REG16",
01587 "BFD_RELOC_16C_REG16_C",
01588 "BFD_RELOC_16C_REG20",
01589 "BFD_RELOC_16C_REG20_C",
01590 "BFD_RELOC_16C_ABS20",
01591 "BFD_RELOC_16C_ABS20_C",
01592 "BFD_RELOC_16C_ABS24",
01593 "BFD_RELOC_16C_ABS24_C",
01594 "BFD_RELOC_16C_IMM04",
01595 "BFD_RELOC_16C_IMM04_C",
01596 "BFD_RELOC_16C_IMM16",
01597 "BFD_RELOC_16C_IMM16_C",
01598 "BFD_RELOC_16C_IMM20",
01599 "BFD_RELOC_16C_IMM20_C",
01600 "BFD_RELOC_16C_IMM24",
01601 "BFD_RELOC_16C_IMM24_C",
01602 "BFD_RELOC_16C_IMM32",
01603 "BFD_RELOC_16C_IMM32_C",
01604 "BFD_RELOC_CRX_REL4",
01605 "BFD_RELOC_CRX_REL8",
01606 "BFD_RELOC_CRX_REL8_CMP",
01607 "BFD_RELOC_CRX_REL16",
01608 "BFD_RELOC_CRX_REL24",
01609 "BFD_RELOC_CRX_REL32",
01610 "BFD_RELOC_CRX_REGREL12",
01611 "BFD_RELOC_CRX_REGREL22",
01612 "BFD_RELOC_CRX_REGREL28",
01613 "BFD_RELOC_CRX_REGREL32",
01614 "BFD_RELOC_CRX_ABS16",
01615 "BFD_RELOC_CRX_ABS32",
01616 "BFD_RELOC_CRX_NUM8",
01617 "BFD_RELOC_CRX_NUM16",
01618 "BFD_RELOC_CRX_NUM32",
01619 "BFD_RELOC_CRX_IMM16",
01620 "BFD_RELOC_CRX_IMM32",
01621 "BFD_RELOC_CRX_SWITCH8",
01622 "BFD_RELOC_CRX_SWITCH16",
01623 "BFD_RELOC_CRX_SWITCH32",
01624 "BFD_RELOC_CRIS_BDISP8",
01625 "BFD_RELOC_CRIS_UNSIGNED_5",
01626 "BFD_RELOC_CRIS_SIGNED_6",
01627 "BFD_RELOC_CRIS_UNSIGNED_6",
01628 "BFD_RELOC_CRIS_SIGNED_8",
01629 "BFD_RELOC_CRIS_UNSIGNED_8",
01630 "BFD_RELOC_CRIS_SIGNED_16",
01631 "BFD_RELOC_CRIS_UNSIGNED_16",
01632 "BFD_RELOC_CRIS_LAPCQ_OFFSET",
01633 "BFD_RELOC_CRIS_UNSIGNED_4",
01634 "BFD_RELOC_CRIS_COPY",
01635 "BFD_RELOC_CRIS_GLOB_DAT",
01636 "BFD_RELOC_CRIS_JUMP_SLOT",
01637 "BFD_RELOC_CRIS_RELATIVE",
01638 "BFD_RELOC_CRIS_32_GOT",
01639 "BFD_RELOC_CRIS_16_GOT",
01640 "BFD_RELOC_CRIS_32_GOTPLT",
01641 "BFD_RELOC_CRIS_16_GOTPLT",
01642 "BFD_RELOC_CRIS_32_GOTREL",
01643 "BFD_RELOC_CRIS_32_PLT_GOTREL",
01644 "BFD_RELOC_CRIS_32_PLT_PCREL",
01645 "BFD_RELOC_860_COPY",
01646 "BFD_RELOC_860_GLOB_DAT",
01647 "BFD_RELOC_860_JUMP_SLOT",
01648 "BFD_RELOC_860_RELATIVE",
01649 "BFD_RELOC_860_PC26",
01650 "BFD_RELOC_860_PLT26",
01651 "BFD_RELOC_860_PC16",
01652 "BFD_RELOC_860_LOW0",
01653 "BFD_RELOC_860_SPLIT0",
01654 "BFD_RELOC_860_LOW1",
01655 "BFD_RELOC_860_SPLIT1",
01656 "BFD_RELOC_860_LOW2",
01657 "BFD_RELOC_860_SPLIT2",
01658 "BFD_RELOC_860_LOW3",
01659 "BFD_RELOC_860_LOGOT0",
01660 "BFD_RELOC_860_SPGOT0",
01661 "BFD_RELOC_860_LOGOT1",
01662 "BFD_RELOC_860_SPGOT1",
01663 "BFD_RELOC_860_LOGOTOFF0",
01664 "BFD_RELOC_860_SPGOTOFF0",
01665 "BFD_RELOC_860_LOGOTOFF1",
01666 "BFD_RELOC_860_SPGOTOFF1",
01667 "BFD_RELOC_860_LOGOTOFF2",
01668 "BFD_RELOC_860_LOGOTOFF3",
01669 "BFD_RELOC_860_LOPC",
01670 "BFD_RELOC_860_HIGHADJ",
01671 "BFD_RELOC_860_HAGOT",
01672 "BFD_RELOC_860_HAGOTOFF",
01673 "BFD_RELOC_860_HAPC",
01674 "BFD_RELOC_860_HIGH",
01675 "BFD_RELOC_860_HIGOT",
01676 "BFD_RELOC_860_HIGOTOFF",
01677 "BFD_RELOC_OPENRISC_ABS_26",
01678 "BFD_RELOC_OPENRISC_REL_26",
01679 "BFD_RELOC_H8_DIR16A8",
01680 "BFD_RELOC_H8_DIR16R8",
01681 "BFD_RELOC_H8_DIR24A8",
01682 "BFD_RELOC_H8_DIR24R8",
01683 "BFD_RELOC_H8_DIR32A16",
01684 "BFD_RELOC_XSTORMY16_REL_12",
01685 "BFD_RELOC_XSTORMY16_12",
01686 "BFD_RELOC_XSTORMY16_24",
01687 "BFD_RELOC_XSTORMY16_FPTR16",
01688 "BFD_RELOC_VAX_GLOB_DAT",
01689 "BFD_RELOC_VAX_JMP_SLOT",
01690 "BFD_RELOC_VAX_RELATIVE",
01691 "BFD_RELOC_MSP430_10_PCREL",
01692 "BFD_RELOC_MSP430_16_PCREL",
01693 "BFD_RELOC_MSP430_16",
01694 "BFD_RELOC_MSP430_16_PCREL_BYTE",
01695 "BFD_RELOC_MSP430_16_BYTE",
01696 "BFD_RELOC_MSP430_2X_PCREL",
01697 "BFD_RELOC_MSP430_RL_PCREL",
01698 "BFD_RELOC_IQ2000_OFFSET_16",
01699 "BFD_RELOC_IQ2000_OFFSET_21",
01700 "BFD_RELOC_IQ2000_UHI16",
01701 "BFD_RELOC_XTENSA_RTLD",
01702 "BFD_RELOC_XTENSA_GLOB_DAT",
01703 "BFD_RELOC_XTENSA_JMP_SLOT",
01704 "BFD_RELOC_XTENSA_RELATIVE",
01705 "BFD_RELOC_XTENSA_PLT",
01706 "BFD_RELOC_XTENSA_DIFF8",
01707 "BFD_RELOC_XTENSA_DIFF16",
01708 "BFD_RELOC_XTENSA_DIFF32",
01709 "BFD_RELOC_XTENSA_SLOT0_OP",
01710 "BFD_RELOC_XTENSA_SLOT1_OP",
01711 "BFD_RELOC_XTENSA_SLOT2_OP",
01712 "BFD_RELOC_XTENSA_SLOT3_OP",
01713 "BFD_RELOC_XTENSA_SLOT4_OP",
01714 "BFD_RELOC_XTENSA_SLOT5_OP",
01715 "BFD_RELOC_XTENSA_SLOT6_OP",
01716 "BFD_RELOC_XTENSA_SLOT7_OP",
01717 "BFD_RELOC_XTENSA_SLOT8_OP",
01718 "BFD_RELOC_XTENSA_SLOT9_OP",
01719 "BFD_RELOC_XTENSA_SLOT10_OP",
01720 "BFD_RELOC_XTENSA_SLOT11_OP",
01721 "BFD_RELOC_XTENSA_SLOT12_OP",
01722 "BFD_RELOC_XTENSA_SLOT13_OP",
01723 "BFD_RELOC_XTENSA_SLOT14_OP",
01724 "BFD_RELOC_XTENSA_SLOT0_ALT",
01725 "BFD_RELOC_XTENSA_SLOT1_ALT",
01726 "BFD_RELOC_XTENSA_SLOT2_ALT",
01727 "BFD_RELOC_XTENSA_SLOT3_ALT",
01728 "BFD_RELOC_XTENSA_SLOT4_ALT",
01729 "BFD_RELOC_XTENSA_SLOT5_ALT",
01730 "BFD_RELOC_XTENSA_SLOT6_ALT",
01731 "BFD_RELOC_XTENSA_SLOT7_ALT",
01732 "BFD_RELOC_XTENSA_SLOT8_ALT",
01733 "BFD_RELOC_XTENSA_SLOT9_ALT",
01734 "BFD_RELOC_XTENSA_SLOT10_ALT",
01735 "BFD_RELOC_XTENSA_SLOT11_ALT",
01736 "BFD_RELOC_XTENSA_SLOT12_ALT",
01737 "BFD_RELOC_XTENSA_SLOT13_ALT",
01738 "BFD_RELOC_XTENSA_SLOT14_ALT",
01739 "BFD_RELOC_XTENSA_OP0",
01740 "BFD_RELOC_XTENSA_OP1",
01741 "BFD_RELOC_XTENSA_OP2",
01742 "BFD_RELOC_XTENSA_ASM_EXPAND",
01743 "BFD_RELOC_XTENSA_ASM_SIMPLIFY",
01744 "@@overflow: BFD_RELOC_UNUSED@@",
01745 };
01746 #endif
01747
01748 reloc_howto_type *bfd_default_reloc_type_lookup
01749 (bfd *abfd, bfd_reloc_code_real_type code);
01750
01751 bfd_boolean bfd_generic_relax_section
01752 (bfd *abfd,
01753 asection *section,
01754 struct bfd_link_info *,
01755 bfd_boolean *);
01756
01757 bfd_boolean bfd_generic_gc_sections
01758 (bfd *, struct bfd_link_info *);
01759
01760 bfd_boolean bfd_generic_merge_sections
01761 (bfd *, struct bfd_link_info *);
01762
01763 bfd_byte *bfd_generic_get_relocated_section_contents
01764 (bfd *abfd,
01765 struct bfd_link_info *link_info,
01766 struct bfd_link_order *link_order,
01767 bfd_byte *data,
01768 bfd_boolean relocatable,
01769 asymbol **symbols);
01770
01771
01772 extern const bfd_arch_info_type bfd_default_arch_struct;
01773 bfd_boolean bfd_default_set_arch_mach
01774 (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
01775
01776 const bfd_arch_info_type *bfd_default_compatible
01777 (const bfd_arch_info_type *a, const bfd_arch_info_type *b);
01778
01779 bfd_boolean bfd_default_scan
01780 (const struct bfd_arch_info *info, const char *string);
01781
01782
01783 struct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name);
01784