File indexing completed on 2024-05-18 08:29:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030 #ifndef __BFD_H_SEEN__
0031 #define __BFD_H_SEEN__
0032
0033
0034 #if !defined PACKAGE && !defined PACKAGE_VERSION
0035 #error config.h must be included before this header
0036 #endif
0037
0038 #ifdef __cplusplus
0039 extern "C" {
0040 #endif
0041
0042 #include "ansidecl.h"
0043 #include "symcat.h"
0044 #include <stdint.h>
0045 #include <stdbool.h>
0046 #include "diagnostics.h"
0047 #include <stdarg.h>
0048 #include <string.h>
0049 #include <sys/stat.h>
0050
0051 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
0052 #ifndef SABER
0053
0054
0055
0056
0057
0058 #undef CONCAT4
0059 #define CONCAT4(a,b,c,d) XCONCAT2(CONCAT2(a,b),CONCAT2(c,d))
0060 #endif
0061 #endif
0062
0063
0064
0065
0066
0067 #define STRING_COMMA_LEN(STR) (STR), (sizeof (STR) - 1)
0068
0069 #define BFD_SUPPORTS_PLUGINS 1
0070
0071
0072
0073
0074 #define BFD_ARCH_SIZE 64
0075
0076
0077 #define BFD_DEFAULT_TARGET_SIZE 64
0078
0079 #define BFD_HOST_64BIT_LONG 1
0080 #define BFD_HOST_64BIT_LONG_LONG 0
0081 #if 1
0082 #define BFD_HOST_64_BIT long
0083 #define BFD_HOST_U_64_BIT unsigned long
0084 typedef BFD_HOST_64_BIT bfd_int64_t;
0085 typedef BFD_HOST_U_64_BIT bfd_uint64_t;
0086 #endif
0087
0088 #include <inttypes.h>
0089
0090 #if BFD_ARCH_SIZE >= 64
0091 #define BFD64
0092 #endif
0093
0094
0095 #define BFD_HOSTPTR_T unsigned long
0096 typedef BFD_HOSTPTR_T bfd_hostptr_t;
0097
0098
0099 typedef struct bfd bfd;
0100
0101
0102
0103
0104
0105 #ifdef POISON_BFD_BOOLEAN
0106 # pragma GCC poison bfd_boolean
0107 #else
0108 # define bfd_boolean bool
0109 # undef FALSE
0110 # undef TRUE
0111 # define FALSE 0
0112 # define TRUE 1
0113 #endif
0114
0115
0116 #define PTR_ADD(P,A) ((A) != 0 ? (P) + (A) : (P))
0117
0118 #define NPTR_ADD(P,A) ((P) != NULL ? (P) + (A) : (P))
0119
0120 #ifdef BFD64
0121
0122 #ifndef BFD_HOST_64_BIT
0123 #error No 64 bit integer type available
0124 #endif
0125
0126 typedef BFD_HOST_U_64_BIT bfd_vma;
0127 typedef BFD_HOST_64_BIT bfd_signed_vma;
0128 typedef BFD_HOST_U_64_BIT bfd_size_type;
0129 typedef BFD_HOST_U_64_BIT symvalue;
0130
0131 #if BFD_HOST_64BIT_LONG
0132 #define BFD_VMA_FMT "l"
0133 #elif defined (__MSVCRT__)
0134 #define BFD_VMA_FMT "I64"
0135 #else
0136 #define BFD_VMA_FMT "ll"
0137 #endif
0138
0139 #ifndef fprintf_vma
0140 #define sprintf_vma(s,x) sprintf (s, "%016" BFD_VMA_FMT "x", x)
0141 #define fprintf_vma(f,x) fprintf (f, "%016" BFD_VMA_FMT "x", x)
0142 #endif
0143
0144 #else
0145
0146
0147
0148
0149 typedef unsigned long bfd_vma;
0150
0151
0152
0153
0154
0155 typedef long bfd_signed_vma;
0156
0157 typedef unsigned long symvalue;
0158 typedef unsigned long bfd_size_type;
0159
0160
0161 #define BFD_VMA_FMT "l"
0162 #define fprintf_vma(s,x) fprintf (s, "%08" BFD_VMA_FMT "x", x)
0163 #define sprintf_vma(s,x) sprintf (s, "%08" BFD_VMA_FMT "x", x)
0164
0165 #endif
0166
0167 #define HALF_BFD_SIZE_TYPE \
0168 (((bfd_size_type) 1) << (8 * sizeof (bfd_size_type) / 2))
0169
0170 #ifndef BFD_HOST_64_BIT
0171
0172
0173
0174
0175 typedef bfd_signed_vma bfd_int64_t;
0176 typedef bfd_vma bfd_uint64_t;
0177 #endif
0178
0179
0180
0181 typedef BFD_HOST_64_BIT file_ptr;
0182 typedef unsigned BFD_HOST_64_BIT ufile_ptr;
0183
0184 extern void bfd_sprintf_vma (bfd *, char *, bfd_vma);
0185 extern void bfd_fprintf_vma (bfd *, void *, bfd_vma);
0186
0187 #define printf_vma(x) fprintf_vma(stdout,x)
0188 #define bfd_printf_vma(abfd,x) bfd_fprintf_vma (abfd,stdout,x)
0189
0190 typedef unsigned int flagword;
0191 typedef unsigned char bfd_byte;
0192
0193
0194
0195 typedef enum bfd_format
0196 {
0197 bfd_unknown = 0,
0198 bfd_object,
0199 bfd_archive,
0200 bfd_core,
0201 bfd_type_end
0202 }
0203 bfd_format;
0204
0205
0206
0207
0208 typedef unsigned long symindex;
0209
0210 #define BFD_NO_MORE_SYMBOLS ((symindex) ~0)
0211
0212
0213
0214 typedef struct carsym
0215 {
0216 const char *name;
0217 file_ptr file_offset;
0218 }
0219 carsym;
0220
0221
0222
0223 struct orl
0224 {
0225 char **name;
0226 union
0227 {
0228 file_ptr pos;
0229 bfd *abfd;
0230 } u;
0231 int namidx;
0232 };
0233
0234
0235 typedef struct lineno_cache_entry
0236 {
0237 unsigned int line_number;
0238 union
0239 {
0240 struct bfd_symbol *sym;
0241 bfd_vma offset;
0242 } u;
0243 }
0244 alent;
0245
0246
0247 typedef struct bfd_section *sec_ptr;
0248
0249 #define align_power(addr, align) \
0250 (((addr) + ((bfd_vma) 1 << (align)) - 1) & (-((bfd_vma) 1 << (align))))
0251
0252
0253
0254
0255
0256 #define BFD_ALIGN(this, boundary) \
0257 ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this)) \
0258 ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
0259 : ~ (bfd_vma) 0)
0260
0261 typedef enum bfd_print_symbol
0262 {
0263 bfd_print_symbol_name,
0264 bfd_print_symbol_more,
0265 bfd_print_symbol_all
0266 } bfd_print_symbol_type;
0267
0268
0269
0270 typedef struct _symbol_info
0271 {
0272 symvalue value;
0273 char type;
0274 const char *name;
0275 unsigned char stab_type;
0276 char stab_other;
0277 short stab_desc;
0278 const char *stab_name;
0279 } symbol_info;
0280
0281
0282
0283 extern const char *bfd_get_stab_name (int);
0284
0285
0286
0287
0288
0289
0290 struct bfd_hash_entry
0291 {
0292
0293 struct bfd_hash_entry *next;
0294
0295 const char *string;
0296
0297
0298 unsigned long hash;
0299 };
0300
0301
0302
0303 struct bfd_hash_table
0304 {
0305
0306 struct bfd_hash_entry **table;
0307
0308
0309
0310
0311
0312
0313
0314 struct bfd_hash_entry *(*newfunc)
0315 (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
0316
0317
0318 void *memory;
0319
0320 unsigned int size;
0321
0322 unsigned int count;
0323
0324 unsigned int entsize;
0325
0326 unsigned int frozen:1;
0327 };
0328
0329
0330 extern bool bfd_hash_table_init
0331 (struct bfd_hash_table *,
0332 struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
0333 struct bfd_hash_table *,
0334 const char *),
0335 unsigned int);
0336
0337
0338 extern bool bfd_hash_table_init_n
0339 (struct bfd_hash_table *,
0340 struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
0341 struct bfd_hash_table *,
0342 const char *),
0343 unsigned int, unsigned int);
0344
0345
0346 extern void bfd_hash_table_free
0347 (struct bfd_hash_table *);
0348
0349
0350
0351
0352
0353 extern struct bfd_hash_entry *bfd_hash_lookup
0354 (struct bfd_hash_table *, const char *, bool create, bool copy);
0355
0356
0357 extern struct bfd_hash_entry *bfd_hash_insert
0358 (struct bfd_hash_table *, const char *, unsigned long);
0359
0360
0361 extern void bfd_hash_rename
0362 (struct bfd_hash_table *, const char *, struct bfd_hash_entry *);
0363
0364
0365 extern void bfd_hash_replace
0366 (struct bfd_hash_table *, struct bfd_hash_entry *old,
0367 struct bfd_hash_entry *nw);
0368
0369
0370 extern struct bfd_hash_entry *bfd_hash_newfunc
0371 (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
0372
0373
0374 extern void *bfd_hash_allocate
0375 (struct bfd_hash_table *, unsigned int);
0376
0377
0378
0379
0380 extern void bfd_hash_traverse
0381 (struct bfd_hash_table *,
0382 bool (*) (struct bfd_hash_entry *, void *),
0383 void *info);
0384
0385
0386
0387
0388 extern unsigned long bfd_hash_set_default_size (unsigned long);
0389
0390
0391
0392 enum compressed_debug_section_type
0393 {
0394 COMPRESS_DEBUG_NONE = 0,
0395 COMPRESS_DEBUG = 1 << 0,
0396 COMPRESS_DEBUG_GNU_ZLIB = COMPRESS_DEBUG | 1 << 1,
0397 COMPRESS_DEBUG_GABI_ZLIB = COMPRESS_DEBUG | 1 << 2
0398 };
0399
0400
0401
0402
0403 struct stab_info
0404 {
0405
0406 struct bfd_strtab_hash *strings;
0407
0408 struct bfd_hash_table includes;
0409
0410 struct bfd_section *stabstr;
0411 };
0412
0413 #define COFF_SWAP_TABLE (void *) &bfd_coff_std_swap_table
0414
0415
0416
0417
0418
0419
0420 extern bfd_size_type bfd_bread (void *, bfd_size_type, bfd *);
0421 extern bfd_size_type bfd_bwrite (const void *, bfd_size_type, bfd *);
0422 extern int bfd_seek (bfd *, file_ptr, int);
0423 extern file_ptr bfd_tell (bfd *);
0424 extern int bfd_flush (bfd *);
0425 extern int bfd_stat (bfd *, struct stat *);
0426
0427
0428 #if __GNUC__
0429 #define bfd_read(BUF, ELTSIZE, NITEMS, ABFD) \
0430 (_bfd_warn_deprecated ("bfd_read", __FILE__, __LINE__, __FUNCTION__), \
0431 bfd_bread ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
0432 #define bfd_write(BUF, ELTSIZE, NITEMS, ABFD) \
0433 (_bfd_warn_deprecated ("bfd_write", __FILE__, __LINE__, __FUNCTION__), \
0434 bfd_bwrite ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
0435 #else
0436 #define bfd_read(BUF, ELTSIZE, NITEMS, ABFD) \
0437 (_bfd_warn_deprecated ("bfd_read", (const char *) 0, 0, (const char *) 0), \
0438 bfd_bread ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
0439 #define bfd_write(BUF, ELTSIZE, NITEMS, ABFD) \
0440 (_bfd_warn_deprecated ("bfd_write", (const char *) 0, 0, (const char *) 0),\
0441 bfd_bwrite ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
0442 #endif
0443 extern void _bfd_warn_deprecated (const char *, const char *, int, const char *);
0444
0445 extern bool bfd_cache_close
0446 (bfd *abfd);
0447
0448
0449 extern bool bfd_cache_close_all (void);
0450
0451 extern bool bfd_record_phdr
0452 (bfd *, unsigned long, bool, flagword, bool, bfd_vma,
0453 bool, bool, unsigned int, struct bfd_section **);
0454
0455
0456
0457 bfd_uint64_t bfd_getb64 (const void *);
0458 bfd_uint64_t bfd_getl64 (const void *);
0459 bfd_int64_t bfd_getb_signed_64 (const void *);
0460 bfd_int64_t bfd_getl_signed_64 (const void *);
0461 bfd_vma bfd_getb32 (const void *);
0462 bfd_vma bfd_getl32 (const void *);
0463 bfd_signed_vma bfd_getb_signed_32 (const void *);
0464 bfd_signed_vma bfd_getl_signed_32 (const void *);
0465 bfd_vma bfd_getb16 (const void *);
0466 bfd_vma bfd_getl16 (const void *);
0467 bfd_signed_vma bfd_getb_signed_16 (const void *);
0468 bfd_signed_vma bfd_getl_signed_16 (const void *);
0469 void bfd_putb64 (bfd_uint64_t, void *);
0470 void bfd_putl64 (bfd_uint64_t, void *);
0471 void bfd_putb32 (bfd_vma, void *);
0472 void bfd_putl32 (bfd_vma, void *);
0473 void bfd_putb24 (bfd_vma, void *);
0474 void bfd_putl24 (bfd_vma, void *);
0475 void bfd_putb16 (bfd_vma, void *);
0476 void bfd_putl16 (bfd_vma, void *);
0477
0478
0479
0480 bfd_uint64_t bfd_get_bits (const void *, int, bool);
0481 void bfd_put_bits (bfd_uint64_t, void *, int, bool);
0482
0483
0484
0485
0486 struct _bfd_window_internal;
0487 typedef struct _bfd_window_internal bfd_window_internal;
0488
0489 typedef struct _bfd_window
0490 {
0491
0492 void *data;
0493 bfd_size_type size;
0494
0495
0496
0497
0498
0499
0500 struct _bfd_window_internal *i;
0501 }
0502 bfd_window;
0503
0504 extern void bfd_init_window
0505 (bfd_window *);
0506 extern void bfd_free_window
0507 (bfd_window *);
0508 extern bool bfd_get_file_window
0509 (bfd *, file_ptr, bfd_size_type, bfd_window *, bool);
0510
0511
0512
0513
0514
0515
0516
0517
0518
0519
0520
0521
0522
0523
0524
0525
0526
0527 extern bfd *bfd_elf_bfd_from_remote_memory
0528 (bfd *templ, bfd_vma ehdr_vma, bfd_size_type size, bfd_vma *loadbasep,
0529 int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr,
0530 bfd_size_type len));
0531
0532
0533 struct ecoff_debug_info;
0534 struct ecoff_debug_swap;
0535 struct ecoff_extr;
0536 struct bfd_link_info;
0537 struct bfd_link_hash_entry;
0538
0539
0540
0541 static inline bool
0542 startswith (const char *str, const char *prefix)
0543 {
0544 return strncmp (str, prefix, strlen (prefix)) == 0;
0545 }
0546
0547 unsigned int bfd_init (void);
0548
0549
0550
0551
0552 #define BFD_INIT_MAGIC (sizeof (struct bfd_section))
0553
0554
0555 extern unsigned int bfd_use_reserved_id;
0556 bfd *bfd_fopen (const char *filename, const char *target,
0557 const char *mode, int fd);
0558
0559 bfd *bfd_openr (const char *filename, const char *target);
0560
0561 bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
0562
0563 bfd *bfd_fdopenw (const char *filename, const char *target, int fd);
0564
0565 bfd *bfd_openstreamr (const char * filename, const char * target,
0566 void * stream);
0567
0568 bfd *bfd_openr_iovec (const char *filename, const char *target,
0569 void *(*open_func) (struct bfd *nbfd,
0570 void *open_closure),
0571 void *open_closure,
0572 file_ptr (*pread_func) (struct bfd *nbfd,
0573 void *stream,
0574 void *buf,
0575 file_ptr nbytes,
0576 file_ptr offset),
0577 int (*close_func) (struct bfd *nbfd,
0578 void *stream),
0579 int (*stat_func) (struct bfd *abfd,
0580 void *stream,
0581 struct stat *sb));
0582
0583 bfd *bfd_openw (const char *filename, const char *target);
0584
0585 bool bfd_close (bfd *abfd);
0586
0587 bool bfd_close_all_done (bfd *);
0588
0589 bfd *bfd_create (const char *filename, bfd *templ);
0590
0591 bool bfd_make_writable (bfd *abfd);
0592
0593 bool bfd_make_readable (bfd *abfd);
0594
0595 void *bfd_alloc (bfd *abfd, bfd_size_type wanted);
0596
0597 void *bfd_zalloc (bfd *abfd, bfd_size_type wanted);
0598
0599 unsigned long bfd_calc_gnu_debuglink_crc32
0600 (unsigned long crc, const unsigned char *buf, bfd_size_type len);
0601
0602 char *bfd_get_debug_link_info (bfd *abfd, unsigned long *crc32_out);
0603
0604 char *bfd_get_alt_debug_link_info (bfd * abfd,
0605 bfd_size_type *buildid_len,
0606 bfd_byte **buildid_out);
0607
0608 char *bfd_follow_gnu_debuglink (bfd *abfd, const char *dir);
0609
0610 char *bfd_follow_gnu_debugaltlink (bfd *abfd, const char *dir);
0611
0612 struct bfd_section *bfd_create_gnu_debuglink_section
0613 (bfd *abfd, const char *filename);
0614
0615 bool bfd_fill_in_gnu_debuglink_section
0616 (bfd *abfd, struct bfd_section *sect, const char *filename);
0617
0618 char *bfd_follow_build_id_debuglink (bfd *abfd, const char *dir);
0619
0620 const char *bfd_set_filename (bfd *abfd, const char *filename);
0621
0622
0623
0624
0625
0626 #define bfd_put_8(abfd, val, ptr) \
0627 ((void) (*((unsigned char *) (ptr)) = (val) & 0xff))
0628 #define bfd_put_signed_8 \
0629 bfd_put_8
0630 #define bfd_get_8(abfd, ptr) \
0631 ((bfd_vma) *(const unsigned char *) (ptr) & 0xff)
0632 #define bfd_get_signed_8(abfd, ptr) \
0633 ((((bfd_signed_vma) *(const unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
0634
0635 #define bfd_put_16(abfd, val, ptr) \
0636 BFD_SEND (abfd, bfd_putx16, ((val),(ptr)))
0637 #define bfd_put_signed_16 \
0638 bfd_put_16
0639 #define bfd_get_16(abfd, ptr) \
0640 BFD_SEND (abfd, bfd_getx16, (ptr))
0641 #define bfd_get_signed_16(abfd, ptr) \
0642 BFD_SEND (abfd, bfd_getx_signed_16, (ptr))
0643
0644 #define bfd_put_24(abfd, val, ptr) \
0645 do \
0646 if (bfd_big_endian (abfd)) \
0647 bfd_putb24 ((val), (ptr)); \
0648 else \
0649 bfd_putl24 ((val), (ptr)); \
0650 while (0)
0651
0652 bfd_vma bfd_getb24 (const void *p);
0653 bfd_vma bfd_getl24 (const void *p);
0654
0655 #define bfd_get_24(abfd, ptr) \
0656 (bfd_big_endian (abfd) ? bfd_getb24 (ptr) : bfd_getl24 (ptr))
0657
0658 #define bfd_put_32(abfd, val, ptr) \
0659 BFD_SEND (abfd, bfd_putx32, ((val),(ptr)))
0660 #define bfd_put_signed_32 \
0661 bfd_put_32
0662 #define bfd_get_32(abfd, ptr) \
0663 BFD_SEND (abfd, bfd_getx32, (ptr))
0664 #define bfd_get_signed_32(abfd, ptr) \
0665 BFD_SEND (abfd, bfd_getx_signed_32, (ptr))
0666
0667 #define bfd_put_64(abfd, val, ptr) \
0668 BFD_SEND (abfd, bfd_putx64, ((val), (ptr)))
0669 #define bfd_put_signed_64 \
0670 bfd_put_64
0671 #define bfd_get_64(abfd, ptr) \
0672 BFD_SEND (abfd, bfd_getx64, (ptr))
0673 #define bfd_get_signed_64(abfd, ptr) \
0674 BFD_SEND (abfd, bfd_getx_signed_64, (ptr))
0675
0676 #define bfd_get(bits, abfd, ptr) \
0677 ((bits) == 8 ? bfd_get_8 (abfd, ptr) \
0678 : (bits) == 16 ? bfd_get_16 (abfd, ptr) \
0679 : (bits) == 32 ? bfd_get_32 (abfd, ptr) \
0680 : (bits) == 64 ? bfd_get_64 (abfd, ptr) \
0681 : (abort (), (bfd_vma) - 1))
0682
0683 #define bfd_put(bits, abfd, val, ptr) \
0684 ((bits) == 8 ? bfd_put_8 (abfd, val, ptr) \
0685 : (bits) == 16 ? bfd_put_16 (abfd, val, ptr) \
0686 : (bits) == 32 ? bfd_put_32 (abfd, val, ptr) \
0687 : (bits) == 64 ? bfd_put_64 (abfd, val, ptr) \
0688 : (abort (), (void) 0))
0689
0690
0691
0692
0693 #define bfd_h_put_8(abfd, val, ptr) \
0694 bfd_put_8 (abfd, val, ptr)
0695 #define bfd_h_put_signed_8(abfd, val, ptr) \
0696 bfd_put_8 (abfd, val, ptr)
0697 #define bfd_h_get_8(abfd, ptr) \
0698 bfd_get_8 (abfd, ptr)
0699 #define bfd_h_get_signed_8(abfd, ptr) \
0700 bfd_get_signed_8 (abfd, ptr)
0701
0702 #define bfd_h_put_16(abfd, val, ptr) \
0703 BFD_SEND (abfd, bfd_h_putx16, (val, ptr))
0704 #define bfd_h_put_signed_16 \
0705 bfd_h_put_16
0706 #define bfd_h_get_16(abfd, ptr) \
0707 BFD_SEND (abfd, bfd_h_getx16, (ptr))
0708 #define bfd_h_get_signed_16(abfd, ptr) \
0709 BFD_SEND (abfd, bfd_h_getx_signed_16, (ptr))
0710
0711 #define bfd_h_put_32(abfd, val, ptr) \
0712 BFD_SEND (abfd, bfd_h_putx32, (val, ptr))
0713 #define bfd_h_put_signed_32 \
0714 bfd_h_put_32
0715 #define bfd_h_get_32(abfd, ptr) \
0716 BFD_SEND (abfd, bfd_h_getx32, (ptr))
0717 #define bfd_h_get_signed_32(abfd, ptr) \
0718 BFD_SEND (abfd, bfd_h_getx_signed_32, (ptr))
0719
0720 #define bfd_h_put_64(abfd, val, ptr) \
0721 BFD_SEND (abfd, bfd_h_putx64, (val, ptr))
0722 #define bfd_h_put_signed_64 \
0723 bfd_h_put_64
0724 #define bfd_h_get_64(abfd, ptr) \
0725 BFD_SEND (abfd, bfd_h_getx64, (ptr))
0726 #define bfd_h_get_signed_64(abfd, ptr) \
0727 BFD_SEND (abfd, bfd_h_getx_signed_64, (ptr))
0728
0729
0730
0731 #define H_PUT_64 bfd_h_put_64
0732 #define H_PUT_32 bfd_h_put_32
0733 #define H_PUT_16 bfd_h_put_16
0734 #define H_PUT_8 bfd_h_put_8
0735 #define H_PUT_S64 bfd_h_put_signed_64
0736 #define H_PUT_S32 bfd_h_put_signed_32
0737 #define H_PUT_S16 bfd_h_put_signed_16
0738 #define H_PUT_S8 bfd_h_put_signed_8
0739 #define H_GET_64 bfd_h_get_64
0740 #define H_GET_32 bfd_h_get_32
0741 #define H_GET_16 bfd_h_get_16
0742 #define H_GET_8 bfd_h_get_8
0743 #define H_GET_S64 bfd_h_get_signed_64
0744 #define H_GET_S32 bfd_h_get_signed_32
0745 #define H_GET_S16 bfd_h_get_signed_16
0746 #define H_GET_S8 bfd_h_get_signed_8
0747
0748
0749
0750 long bfd_get_mtime (bfd *abfd);
0751
0752 ufile_ptr bfd_get_size (bfd *abfd);
0753
0754 ufile_ptr bfd_get_file_size (bfd *abfd);
0755
0756 void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
0757 int prot, int flags, file_ptr offset,
0758 void **map_addr, bfd_size_type *map_len);
0759
0760
0761
0762
0763 typedef struct bfd_section
0764 {
0765
0766
0767 const char *name;
0768
0769
0770 unsigned int id;
0771
0772
0773
0774 unsigned int section_id;
0775
0776
0777 unsigned int index;
0778
0779
0780 struct bfd_section *next;
0781
0782
0783 struct bfd_section *prev;
0784
0785
0786
0787
0788 flagword flags;
0789
0790 #define SEC_NO_FLAGS 0x0
0791
0792
0793
0794 #define SEC_ALLOC 0x1
0795
0796
0797
0798 #define SEC_LOAD 0x2
0799
0800
0801
0802 #define SEC_RELOC 0x4
0803
0804
0805 #define SEC_READONLY 0x8
0806
0807
0808 #define SEC_CODE 0x10
0809
0810
0811 #define SEC_DATA 0x20
0812
0813
0814 #define SEC_ROM 0x40
0815
0816
0817
0818
0819
0820
0821
0822
0823
0824
0825
0826 #define SEC_CONSTRUCTOR 0x80
0827
0828
0829
0830
0831 #define SEC_HAS_CONTENTS 0x100
0832
0833
0834
0835 #define SEC_NEVER_LOAD 0x200
0836
0837
0838 #define SEC_THREAD_LOCAL 0x400
0839
0840
0841
0842
0843 #define SEC_FIXED_SIZE 0x800
0844
0845
0846
0847
0848
0849
0850 #define SEC_IS_COMMON 0x1000
0851
0852
0853
0854
0855
0856 #define SEC_DEBUGGING 0x2000
0857
0858
0859
0860
0861 #define SEC_IN_MEMORY 0x4000
0862
0863
0864
0865
0866 #define SEC_EXCLUDE 0x8000
0867
0868
0869
0870
0871
0872 #define SEC_SORT_ENTRIES 0x10000
0873
0874
0875
0876
0877
0878 #define SEC_LINK_ONCE 0x20000
0879
0880
0881
0882 #define SEC_LINK_DUPLICATES 0xc0000
0883
0884
0885
0886 #define SEC_LINK_DUPLICATES_DISCARD 0x0
0887
0888
0889
0890
0891 #define SEC_LINK_DUPLICATES_ONE_ONLY 0x40000
0892
0893
0894
0895 #define SEC_LINK_DUPLICATES_SAME_SIZE 0x80000
0896
0897
0898
0899
0900 #define SEC_LINK_DUPLICATES_SAME_CONTENTS \
0901 (SEC_LINK_DUPLICATES_ONE_ONLY | SEC_LINK_DUPLICATES_SAME_SIZE)
0902
0903
0904
0905
0906
0907 #define SEC_LINKER_CREATED 0x100000
0908
0909
0910
0911 #define SEC_ASSEMBLER_SECTION_ID 0x100000
0912
0913
0914
0915
0916 #define SEC_KEEP 0x200000
0917
0918
0919
0920 #define SEC_SMALL_DATA 0x400000
0921
0922
0923
0924 #define SEC_MERGE 0x800000
0925
0926
0927
0928
0929 #define SEC_STRINGS 0x1000000
0930
0931
0932 #define SEC_GROUP 0x2000000
0933
0934
0935
0936
0937
0938
0939
0940
0941
0942
0943 #define SEC_COFF_SHARED_LIBRARY 0x4000000
0944
0945
0946
0947
0948 #define SEC_ELF_REVERSE_COPY 0x4000000
0949
0950
0951
0952 #define SEC_COFF_SHARED 0x8000000
0953
0954
0955
0956 #define SEC_ELF_COMPRESS 0x8000000
0957
0958
0959
0960
0961
0962
0963 #define SEC_TIC54X_BLOCK 0x10000000
0964
0965
0966
0967 #define SEC_ELF_RENAME 0x10000000
0968
0969
0970
0971
0972 #define SEC_TIC54X_CLINK 0x20000000
0973
0974
0975 #define SEC_MEP_VLIW 0x20000000
0976
0977
0978
0979
0980 #define SEC_ELF_OCTETS 0x40000000
0981
0982
0983
0984 #define SEC_COFF_NOREAD 0x40000000
0985
0986
0987 #define SEC_ELF_PURECODE 0x80000000
0988
0989
0990
0991
0992
0993
0994 unsigned int user_set_vma : 1;
0995
0996
0997 unsigned int linker_mark : 1;
0998
0999
1000
1001 unsigned int linker_has_input : 1;
1002
1003
1004 unsigned int gc_mark : 1;
1005
1006
1007 unsigned int compress_status : 2;
1008 #define COMPRESS_SECTION_NONE 0
1009 #define COMPRESS_SECTION_DONE 1
1010 #define DECOMPRESS_SECTION_SIZED 2
1011
1012
1013
1014
1015 unsigned int segment_mark : 1;
1016
1017
1018 unsigned int sec_info_type:3;
1019 #define SEC_INFO_TYPE_NONE 0
1020 #define SEC_INFO_TYPE_STABS 1
1021 #define SEC_INFO_TYPE_MERGE 2
1022 #define SEC_INFO_TYPE_EH_FRAME 3
1023 #define SEC_INFO_TYPE_JUST_SYMS 4
1024 #define SEC_INFO_TYPE_TARGET 5
1025 #define SEC_INFO_TYPE_EH_FRAME_ENTRY 6
1026
1027
1028 unsigned int use_rela_p:1;
1029
1030
1031
1032
1033 unsigned int sec_flg0:1;
1034 unsigned int sec_flg1:1;
1035 unsigned int sec_flg2:1;
1036 unsigned int sec_flg3:1;
1037 unsigned int sec_flg4:1;
1038 unsigned int sec_flg5:1;
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048 bfd_vma vma;
1049
1050
1051
1052
1053 bfd_vma lma;
1054
1055
1056
1057
1058 bfd_size_type size;
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068 bfd_size_type rawsize;
1069
1070
1071 bfd_size_type compressed_size;
1072
1073
1074 struct relax_table *relax;
1075
1076
1077 int relax_count;
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087 bfd_vma output_offset;
1088
1089
1090 struct bfd_section *output_section;
1091
1092
1093
1094 unsigned int alignment_power;
1095
1096
1097
1098 struct reloc_cache_entry *relocation;
1099
1100
1101
1102 struct reloc_cache_entry **orelocation;
1103
1104
1105 unsigned reloc_count;
1106
1107
1108
1109
1110
1111 file_ptr filepos;
1112
1113
1114 file_ptr rel_filepos;
1115
1116
1117 file_ptr line_filepos;
1118
1119
1120 void *userdata;
1121
1122
1123
1124 unsigned char *contents;
1125
1126
1127 alent *lineno;
1128
1129
1130 unsigned int lineno_count;
1131
1132
1133 unsigned int entsize;
1134
1135
1136
1137 struct bfd_section *kept_section;
1138
1139
1140
1141 file_ptr moving_line_filepos;
1142
1143
1144 int target_index;
1145
1146 void *used_by_bfd;
1147
1148
1149
1150 struct relent_chain *constructor_chain;
1151
1152
1153 bfd *owner;
1154
1155
1156 struct bfd_symbol *symbol;
1157 struct bfd_symbol **symbol_ptr_ptr;
1158
1159
1160
1161
1162
1163
1164 union {
1165 struct bfd_link_order *link_order;
1166 struct bfd_section *s;
1167 const char *linked_to_symbol_name;
1168 } map_head, map_tail;
1169
1170
1171
1172
1173 struct bfd_section *already_assigned;
1174
1175
1176 unsigned int type;
1177
1178 } asection;
1179
1180
1181
1182
1183 struct relax_table {
1184
1185 bfd_vma addr;
1186
1187
1188 int size;
1189 };
1190
1191 static inline const char *
1192 bfd_section_name (const asection *sec)
1193 {
1194 return sec->name;
1195 }
1196
1197 static inline bfd_size_type
1198 bfd_section_size (const asection *sec)
1199 {
1200 return sec->size;
1201 }
1202
1203 static inline bfd_vma
1204 bfd_section_vma (const asection *sec)
1205 {
1206 return sec->vma;
1207 }
1208
1209 static inline bfd_vma
1210 bfd_section_lma (const asection *sec)
1211 {
1212 return sec->lma;
1213 }
1214
1215 static inline unsigned int
1216 bfd_section_alignment (const asection *sec)
1217 {
1218 return sec->alignment_power;
1219 }
1220
1221 static inline flagword
1222 bfd_section_flags (const asection *sec)
1223 {
1224 return sec->flags;
1225 }
1226
1227 static inline void *
1228 bfd_section_userdata (const asection *sec)
1229 {
1230 return sec->userdata;
1231 }
1232 static inline bool
1233 bfd_is_com_section (const asection *sec)
1234 {
1235 return (sec->flags & SEC_IS_COMMON) != 0;
1236 }
1237
1238
1239
1240
1241
1242 static inline bool
1243 bfd_set_section_userdata (asection *sec, void *val)
1244 {
1245 sec->userdata = val;
1246 return true;
1247 }
1248
1249 static inline bool
1250 bfd_set_section_vma (asection *sec, bfd_vma val)
1251 {
1252 sec->vma = sec->lma = val;
1253 sec->user_set_vma = true;
1254 return true;
1255 }
1256
1257 static inline bool
1258 bfd_set_section_lma (asection *sec, bfd_vma val)
1259 {
1260 sec->lma = val;
1261 return true;
1262 }
1263
1264 static inline bool
1265 bfd_set_section_alignment (asection *sec, unsigned int val)
1266 {
1267 sec->alignment_power = val;
1268 return true;
1269 }
1270
1271
1272
1273
1274 extern asection _bfd_std_section[4];
1275
1276 #define BFD_ABS_SECTION_NAME "*ABS*"
1277 #define BFD_UND_SECTION_NAME "*UND*"
1278 #define BFD_COM_SECTION_NAME "*COM*"
1279 #define BFD_IND_SECTION_NAME "*IND*"
1280
1281
1282 #define bfd_com_section_ptr (&_bfd_std_section[0])
1283
1284 #define bfd_und_section_ptr (&_bfd_std_section[1])
1285
1286 #define bfd_abs_section_ptr (&_bfd_std_section[2])
1287
1288 #define bfd_ind_section_ptr (&_bfd_std_section[3])
1289
1290 static inline bool
1291 bfd_is_und_section (const asection *sec)
1292 {
1293 return sec == bfd_und_section_ptr;
1294 }
1295
1296 static inline bool
1297 bfd_is_abs_section (const asection *sec)
1298 {
1299 return sec == bfd_abs_section_ptr;
1300 }
1301
1302 static inline bool
1303 bfd_is_ind_section (const asection *sec)
1304 {
1305 return sec == bfd_ind_section_ptr;
1306 }
1307
1308 static inline bool
1309 bfd_is_const_section (const asection *sec)
1310 {
1311 return (sec >= _bfd_std_section
1312 && sec < _bfd_std_section + (sizeof (_bfd_std_section)
1313 / sizeof (_bfd_std_section[0])));
1314 }
1315
1316
1317 static inline bool
1318 discarded_section (const asection *sec)
1319 {
1320 return (!bfd_is_abs_section (sec)
1321 && bfd_is_abs_section (sec->output_section)
1322 && sec->sec_info_type != SEC_INFO_TYPE_MERGE
1323 && sec->sec_info_type != SEC_INFO_TYPE_JUST_SYMS);
1324 }
1325
1326 #define BFD_FAKE_SECTION(SEC, SYM, NAME, IDX, FLAGS) \
1327 \
1328 { NAME, IDX, 0, 0, NULL, NULL, FLAGS, 0, \
1329 \
1330 \
1331 0, 0, 1, 0, \
1332 \
1333 \
1334 0, 0, 0, \
1335 \
1336 \
1337 0, 0, 0, 0, 0, 0, \
1338 \
1339 \
1340 0, 0, 0, 0, 0, 0, 0, \
1341 \
1342 \
1343 0, &SEC, 0, \
1344 \
1345 \
1346 NULL, NULL, 0, 0, 0, \
1347 \
1348 \
1349 0, NULL, NULL, NULL, 0, \
1350 \
1351 \
1352 0, NULL, 0, \
1353 \
1354 \
1355 0, NULL, NULL, NULL, \
1356 \
1357 \
1358 (struct bfd_symbol *) SYM, &SEC.symbol, \
1359 \
1360 \
1361 { NULL }, { NULL }, NULL, 0 \
1362 \
1363 }
1364
1365
1366
1367
1368
1369 #ifdef __STDC__
1370 #define GLOBAL_SYM_INIT(NAME, SECTION) \
1371 { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
1372 #else
1373 #define GLOBAL_SYM_INIT(NAME, SECTION) \
1374 { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
1375 #endif
1376
1377 void bfd_section_list_clear (bfd *);
1378
1379 asection *bfd_get_section_by_name (bfd *abfd, const char *name);
1380
1381 asection *bfd_get_next_section_by_name (bfd *ibfd, asection *sec);
1382
1383 asection *bfd_get_linker_section (bfd *abfd, const char *name);
1384
1385 asection *bfd_get_section_by_name_if
1386 (bfd *abfd,
1387 const char *name,
1388 bool (*func) (bfd *abfd, asection *sect, void *obj),
1389 void *obj);
1390
1391 char *bfd_get_unique_section_name
1392 (bfd *abfd, const char *templat, int *count);
1393
1394 asection *bfd_make_section_old_way (bfd *abfd, const char *name);
1395
1396 asection *bfd_make_section_anyway_with_flags
1397 (bfd *abfd, const char *name, flagword flags);
1398
1399 asection *bfd_make_section_anyway (bfd *abfd, const char *name);
1400
1401 asection *bfd_make_section_with_flags
1402 (bfd *, const char *name, flagword flags);
1403
1404 asection *bfd_make_section (bfd *, const char *name);
1405
1406 bool bfd_set_section_flags (asection *sec, flagword flags);
1407
1408 void bfd_rename_section
1409 (asection *sec, const char *newname);
1410
1411 void bfd_map_over_sections
1412 (bfd *abfd,
1413 void (*func) (bfd *abfd, asection *sect, void *obj),
1414 void *obj);
1415
1416 asection *bfd_sections_find_if
1417 (bfd *abfd,
1418 bool (*operation) (bfd *abfd, asection *sect, void *obj),
1419 void *obj);
1420
1421 bool bfd_set_section_size (asection *sec, bfd_size_type val);
1422
1423 bool bfd_set_section_contents
1424 (bfd *abfd, asection *section, const void *data,
1425 file_ptr offset, bfd_size_type count);
1426
1427 bool bfd_get_section_contents
1428 (bfd *abfd, asection *section, void *location, file_ptr offset,
1429 bfd_size_type count);
1430
1431 bool bfd_malloc_and_get_section
1432 (bfd *abfd, asection *section, bfd_byte **buf);
1433
1434 bool bfd_copy_private_section_data
1435 (bfd *ibfd, asection *isec, bfd *obfd, asection *osec);
1436
1437 #define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \
1438 BFD_SEND (obfd, _bfd_copy_private_section_data, \
1439 (ibfd, isection, obfd, osection))
1440 bool bfd_generic_is_group_section (bfd *, const asection *sec);
1441
1442 const char *bfd_generic_group_name (bfd *, const asection *sec);
1443
1444 bool bfd_generic_discard_group (bfd *abfd, asection *group);
1445
1446
1447 enum bfd_architecture
1448 {
1449 bfd_arch_unknown,
1450 bfd_arch_obscure,
1451 bfd_arch_m68k,
1452 #define bfd_mach_m68000 1
1453 #define bfd_mach_m68008 2
1454 #define bfd_mach_m68010 3
1455 #define bfd_mach_m68020 4
1456 #define bfd_mach_m68030 5
1457 #define bfd_mach_m68040 6
1458 #define bfd_mach_m68060 7
1459 #define bfd_mach_cpu32 8
1460 #define bfd_mach_fido 9
1461 #define bfd_mach_mcf_isa_a_nodiv 10
1462 #define bfd_mach_mcf_isa_a 11
1463 #define bfd_mach_mcf_isa_a_mac 12
1464 #define bfd_mach_mcf_isa_a_emac 13
1465 #define bfd_mach_mcf_isa_aplus 14
1466 #define bfd_mach_mcf_isa_aplus_mac 15
1467 #define bfd_mach_mcf_isa_aplus_emac 16
1468 #define bfd_mach_mcf_isa_b_nousp 17
1469 #define bfd_mach_mcf_isa_b_nousp_mac 18
1470 #define bfd_mach_mcf_isa_b_nousp_emac 19
1471 #define bfd_mach_mcf_isa_b 20
1472 #define bfd_mach_mcf_isa_b_mac 21
1473 #define bfd_mach_mcf_isa_b_emac 22
1474 #define bfd_mach_mcf_isa_b_float 23
1475 #define bfd_mach_mcf_isa_b_float_mac 24
1476 #define bfd_mach_mcf_isa_b_float_emac 25
1477 #define bfd_mach_mcf_isa_c 26
1478 #define bfd_mach_mcf_isa_c_mac 27
1479 #define bfd_mach_mcf_isa_c_emac 28
1480 #define bfd_mach_mcf_isa_c_nodiv 29
1481 #define bfd_mach_mcf_isa_c_nodiv_mac 30
1482 #define bfd_mach_mcf_isa_c_nodiv_emac 31
1483 bfd_arch_vax,
1484
1485 bfd_arch_or1k,
1486 #define bfd_mach_or1k 1
1487 #define bfd_mach_or1knd 2
1488
1489 bfd_arch_sparc,
1490 #define bfd_mach_sparc 1
1491
1492 #define bfd_mach_sparc_sparclet 2
1493 #define bfd_mach_sparc_sparclite 3
1494 #define bfd_mach_sparc_v8plus 4
1495 #define bfd_mach_sparc_v8plusa 5
1496 #define bfd_mach_sparc_sparclite_le 6
1497 #define bfd_mach_sparc_v9 7
1498 #define bfd_mach_sparc_v9a 8
1499 #define bfd_mach_sparc_v8plusb 9
1500 #define bfd_mach_sparc_v9b 10
1501 #define bfd_mach_sparc_v8plusc 11
1502 #define bfd_mach_sparc_v9c 12
1503 #define bfd_mach_sparc_v8plusd 13
1504 #define bfd_mach_sparc_v9d 14
1505 #define bfd_mach_sparc_v8pluse 15
1506 #define bfd_mach_sparc_v9e 16
1507 #define bfd_mach_sparc_v8plusv 17
1508 #define bfd_mach_sparc_v9v 18
1509 #define bfd_mach_sparc_v8plusm 19
1510 #define bfd_mach_sparc_v9m 20
1511 #define bfd_mach_sparc_v8plusm8 21
1512 #define bfd_mach_sparc_v9m8 22
1513
1514 #define bfd_mach_sparc_v9_p(mach) \
1515 ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9m8 \
1516 && (mach) != bfd_mach_sparc_sparclite_le)
1517
1518 #define bfd_mach_sparc_64bit_p(mach) \
1519 ((mach) >= bfd_mach_sparc_v9 \
1520 && (mach) != bfd_mach_sparc_v8plusb \
1521 && (mach) != bfd_mach_sparc_v8plusc \
1522 && (mach) != bfd_mach_sparc_v8plusd \
1523 && (mach) != bfd_mach_sparc_v8pluse \
1524 && (mach) != bfd_mach_sparc_v8plusv \
1525 && (mach) != bfd_mach_sparc_v8plusm \
1526 && (mach) != bfd_mach_sparc_v8plusm8)
1527 bfd_arch_spu,
1528 #define bfd_mach_spu 256
1529 bfd_arch_mips,
1530 #define bfd_mach_mips3000 3000
1531 #define bfd_mach_mips3900 3900
1532 #define bfd_mach_mips4000 4000
1533 #define bfd_mach_mips4010 4010
1534 #define bfd_mach_mips4100 4100
1535 #define bfd_mach_mips4111 4111
1536 #define bfd_mach_mips4120 4120
1537 #define bfd_mach_mips4300 4300
1538 #define bfd_mach_mips4400 4400
1539 #define bfd_mach_mips4600 4600
1540 #define bfd_mach_mips4650 4650
1541 #define bfd_mach_mips5000 5000
1542 #define bfd_mach_mips5400 5400
1543 #define bfd_mach_mips5500 5500
1544 #define bfd_mach_mips5900 5900
1545 #define bfd_mach_mips6000 6000
1546 #define bfd_mach_mips7000 7000
1547 #define bfd_mach_mips8000 8000
1548 #define bfd_mach_mips9000 9000
1549 #define bfd_mach_mips10000 10000
1550 #define bfd_mach_mips12000 12000
1551 #define bfd_mach_mips14000 14000
1552 #define bfd_mach_mips16000 16000
1553 #define bfd_mach_mips16 16
1554 #define bfd_mach_mips5 5
1555 #define bfd_mach_mips_loongson_2e 3001
1556 #define bfd_mach_mips_loongson_2f 3002
1557 #define bfd_mach_mips_gs464 3003
1558 #define bfd_mach_mips_gs464e 3004
1559 #define bfd_mach_mips_gs264e 3005
1560 #define bfd_mach_mips_sb1 12310201
1561 #define bfd_mach_mips_octeon 6501
1562 #define bfd_mach_mips_octeonp 6601
1563 #define bfd_mach_mips_octeon2 6502
1564 #define bfd_mach_mips_octeon3 6503
1565 #define bfd_mach_mips_xlr 887682
1566 #define bfd_mach_mips_interaptiv_mr2 736550
1567 #define bfd_mach_mipsisa32 32
1568 #define bfd_mach_mipsisa32r2 33
1569 #define bfd_mach_mipsisa32r3 34
1570 #define bfd_mach_mipsisa32r5 36
1571 #define bfd_mach_mipsisa32r6 37
1572 #define bfd_mach_mipsisa64 64
1573 #define bfd_mach_mipsisa64r2 65
1574 #define bfd_mach_mipsisa64r3 66
1575 #define bfd_mach_mipsisa64r5 68
1576 #define bfd_mach_mipsisa64r6 69
1577 #define bfd_mach_mips_micromips 96
1578 bfd_arch_i386,
1579 #define bfd_mach_i386_intel_syntax (1 << 0)
1580 #define bfd_mach_i386_i8086 (1 << 1)
1581 #define bfd_mach_i386_i386 (1 << 2)
1582 #define bfd_mach_x86_64 (1 << 3)
1583 #define bfd_mach_x64_32 (1 << 4)
1584 #define bfd_mach_i386_i386_intel_syntax (bfd_mach_i386_i386 | bfd_mach_i386_intel_syntax)
1585 #define bfd_mach_x86_64_intel_syntax (bfd_mach_x86_64 | bfd_mach_i386_intel_syntax)
1586 #define bfd_mach_x64_32_intel_syntax (bfd_mach_x64_32 | bfd_mach_i386_intel_syntax)
1587 bfd_arch_l1om,
1588 #define bfd_mach_l1om (1 << 5)
1589 #define bfd_mach_l1om_intel_syntax (bfd_mach_l1om | bfd_mach_i386_intel_syntax)
1590 bfd_arch_k1om,
1591 #define bfd_mach_k1om (1 << 6)
1592 #define bfd_mach_k1om_intel_syntax (bfd_mach_k1om | bfd_mach_i386_intel_syntax)
1593 bfd_arch_iamcu,
1594 #define bfd_mach_iamcu (1 << 8)
1595 #define bfd_mach_i386_iamcu (bfd_mach_i386_i386 | bfd_mach_iamcu)
1596 #define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax)
1597 bfd_arch_romp,
1598 bfd_arch_convex,
1599 bfd_arch_m98k,
1600 bfd_arch_pyramid,
1601 bfd_arch_h8300,
1602 #define bfd_mach_h8300 1
1603 #define bfd_mach_h8300h 2
1604 #define bfd_mach_h8300s 3
1605 #define bfd_mach_h8300hn 4
1606 #define bfd_mach_h8300sn 5
1607 #define bfd_mach_h8300sx 6
1608 #define bfd_mach_h8300sxn 7
1609 bfd_arch_pdp11,
1610 bfd_arch_powerpc,
1611 #define bfd_mach_ppc 32
1612 #define bfd_mach_ppc64 64
1613 #define bfd_mach_ppc_403 403
1614 #define bfd_mach_ppc_403gc 4030
1615 #define bfd_mach_ppc_405 405
1616 #define bfd_mach_ppc_505 505
1617 #define bfd_mach_ppc_601 601
1618 #define bfd_mach_ppc_602 602
1619 #define bfd_mach_ppc_603 603
1620 #define bfd_mach_ppc_ec603e 6031
1621 #define bfd_mach_ppc_604 604
1622 #define bfd_mach_ppc_620 620
1623 #define bfd_mach_ppc_630 630
1624 #define bfd_mach_ppc_750 750
1625 #define bfd_mach_ppc_860 860
1626 #define bfd_mach_ppc_a35 35
1627 #define bfd_mach_ppc_rs64ii 642
1628 #define bfd_mach_ppc_rs64iii 643
1629 #define bfd_mach_ppc_7400 7400
1630 #define bfd_mach_ppc_e500 500
1631 #define bfd_mach_ppc_e500mc 5001
1632 #define bfd_mach_ppc_e500mc64 5005
1633 #define bfd_mach_ppc_e5500 5006
1634 #define bfd_mach_ppc_e6500 5007
1635 #define bfd_mach_ppc_titan 83
1636 #define bfd_mach_ppc_vle 84
1637 bfd_arch_rs6000,
1638 #define bfd_mach_rs6k 6000
1639 #define bfd_mach_rs6k_rs1 6001
1640 #define bfd_mach_rs6k_rsc 6003
1641 #define bfd_mach_rs6k_rs2 6002
1642 bfd_arch_hppa,
1643 #define bfd_mach_hppa10 10
1644 #define bfd_mach_hppa11 11
1645 #define bfd_mach_hppa20 20
1646 #define bfd_mach_hppa20w 25
1647 bfd_arch_d10v,
1648 #define bfd_mach_d10v 1
1649 #define bfd_mach_d10v_ts2 2
1650 #define bfd_mach_d10v_ts3 3
1651 bfd_arch_d30v,
1652 bfd_arch_dlx,
1653 bfd_arch_m68hc11,
1654 bfd_arch_m68hc12,
1655 #define bfd_mach_m6812_default 0
1656 #define bfd_mach_m6812 1
1657 #define bfd_mach_m6812s 2
1658 bfd_arch_m9s12x,
1659 bfd_arch_m9s12xg,
1660 bfd_arch_s12z,
1661 #define bfd_mach_s12z_default 0
1662 bfd_arch_z8k,
1663 #define bfd_mach_z8001 1
1664 #define bfd_mach_z8002 2
1665 bfd_arch_sh,
1666 #define bfd_mach_sh 1
1667 #define bfd_mach_sh2 0x20
1668 #define bfd_mach_sh_dsp 0x2d
1669 #define bfd_mach_sh2a 0x2a
1670 #define bfd_mach_sh2a_nofpu 0x2b
1671 #define bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu 0x2a1
1672 #define bfd_mach_sh2a_nofpu_or_sh3_nommu 0x2a2
1673 #define bfd_mach_sh2a_or_sh4 0x2a3
1674 #define bfd_mach_sh2a_or_sh3e 0x2a4
1675 #define bfd_mach_sh2e 0x2e
1676 #define bfd_mach_sh3 0x30
1677 #define bfd_mach_sh3_nommu 0x31
1678 #define bfd_mach_sh3_dsp 0x3d
1679 #define bfd_mach_sh3e 0x3e
1680 #define bfd_mach_sh4 0x40
1681 #define bfd_mach_sh4_nofpu 0x41
1682 #define bfd_mach_sh4_nommu_nofpu 0x42
1683 #define bfd_mach_sh4a 0x4a
1684 #define bfd_mach_sh4a_nofpu 0x4b
1685 #define bfd_mach_sh4al_dsp 0x4d
1686 bfd_arch_alpha,
1687 #define bfd_mach_alpha_ev4 0x10
1688 #define bfd_mach_alpha_ev5 0x20
1689 #define bfd_mach_alpha_ev6 0x30
1690 bfd_arch_arm,
1691 #define bfd_mach_arm_unknown 0
1692 #define bfd_mach_arm_2 1
1693 #define bfd_mach_arm_2a 2
1694 #define bfd_mach_arm_3 3
1695 #define bfd_mach_arm_3M 4
1696 #define bfd_mach_arm_4 5
1697 #define bfd_mach_arm_4T 6
1698 #define bfd_mach_arm_5 7
1699 #define bfd_mach_arm_5T 8
1700 #define bfd_mach_arm_5TE 9
1701 #define bfd_mach_arm_XScale 10
1702 #define bfd_mach_arm_ep9312 11
1703 #define bfd_mach_arm_iWMMXt 12
1704 #define bfd_mach_arm_iWMMXt2 13
1705 #define bfd_mach_arm_5TEJ 14
1706 #define bfd_mach_arm_6 15
1707 #define bfd_mach_arm_6KZ 16
1708 #define bfd_mach_arm_6T2 17
1709 #define bfd_mach_arm_6K 18
1710 #define bfd_mach_arm_7 19
1711 #define bfd_mach_arm_6M 20
1712 #define bfd_mach_arm_6SM 21
1713 #define bfd_mach_arm_7EM 22
1714 #define bfd_mach_arm_8 23
1715 #define bfd_mach_arm_8R 24
1716 #define bfd_mach_arm_8M_BASE 25
1717 #define bfd_mach_arm_8M_MAIN 26
1718 #define bfd_mach_arm_8_1M_MAIN 27
1719 #define bfd_mach_arm_9 28
1720 bfd_arch_nds32,
1721 #define bfd_mach_n1 1
1722 #define bfd_mach_n1h 2
1723 #define bfd_mach_n1h_v2 3
1724 #define bfd_mach_n1h_v3 4
1725 #define bfd_mach_n1h_v3m 5
1726 bfd_arch_ns32k,
1727 bfd_arch_tic30,
1728 bfd_arch_tic4x,
1729 #define bfd_mach_tic3x 30
1730 #define bfd_mach_tic4x 40
1731 bfd_arch_tic54x,
1732 bfd_arch_tic6x,
1733 bfd_arch_v850,
1734 bfd_arch_v850_rh850,
1735 #define bfd_mach_v850 1
1736 #define bfd_mach_v850e 'E'
1737 #define bfd_mach_v850e1 '1'
1738 #define bfd_mach_v850e2 0x4532
1739 #define bfd_mach_v850e2v3 0x45325633
1740 #define bfd_mach_v850e3v5 0x45335635
1741 bfd_arch_arc,
1742 #define bfd_mach_arc_a4 0
1743 #define bfd_mach_arc_a5 1
1744 #define bfd_mach_arc_arc600 2
1745 #define bfd_mach_arc_arc601 4
1746 #define bfd_mach_arc_arc700 3
1747 #define bfd_mach_arc_arcv2 5
1748 bfd_arch_m32c,
1749 #define bfd_mach_m16c 0x75
1750 #define bfd_mach_m32c 0x78
1751 bfd_arch_m32r,
1752 #define bfd_mach_m32r 1
1753 #define bfd_mach_m32rx 'x'
1754 #define bfd_mach_m32r2 '2'
1755 bfd_arch_mn10200,
1756 bfd_arch_mn10300,
1757 #define bfd_mach_mn10300 300
1758 #define bfd_mach_am33 330
1759 #define bfd_mach_am33_2 332
1760 bfd_arch_fr30,
1761 #define bfd_mach_fr30 0x46523330
1762 bfd_arch_frv,
1763 #define bfd_mach_frv 1
1764 #define bfd_mach_frvsimple 2
1765 #define bfd_mach_fr300 300
1766 #define bfd_mach_fr400 400
1767 #define bfd_mach_fr450 450
1768 #define bfd_mach_frvtomcat 499
1769 #define bfd_mach_fr500 500
1770 #define bfd_mach_fr550 550
1771 bfd_arch_moxie,
1772 #define bfd_mach_moxie 1
1773 bfd_arch_ft32,
1774 #define bfd_mach_ft32 1
1775 #define bfd_mach_ft32b 2
1776 bfd_arch_mcore,
1777 bfd_arch_mep,
1778 #define bfd_mach_mep 1
1779 #define bfd_mach_mep_h1 0x6831
1780 #define bfd_mach_mep_c5 0x6335
1781 bfd_arch_metag,
1782 #define bfd_mach_metag 1
1783 bfd_arch_ia64,
1784 #define bfd_mach_ia64_elf64 64
1785 #define bfd_mach_ia64_elf32 32
1786 bfd_arch_ip2k,
1787 #define bfd_mach_ip2022 1
1788 #define bfd_mach_ip2022ext 2
1789 bfd_arch_iq2000,
1790 #define bfd_mach_iq2000 1
1791 #define bfd_mach_iq10 2
1792 bfd_arch_bpf,
1793 #define bfd_mach_bpf 1
1794 #define bfd_mach_xbpf 2
1795 bfd_arch_epiphany,
1796 #define bfd_mach_epiphany16 1
1797 #define bfd_mach_epiphany32 2
1798 bfd_arch_mt,
1799 #define bfd_mach_ms1 1
1800 #define bfd_mach_mrisc2 2
1801 #define bfd_mach_ms2 3
1802 bfd_arch_pj,
1803 bfd_arch_avr,
1804 #define bfd_mach_avr1 1
1805 #define bfd_mach_avr2 2
1806 #define bfd_mach_avr25 25
1807 #define bfd_mach_avr3 3
1808 #define bfd_mach_avr31 31
1809 #define bfd_mach_avr35 35
1810 #define bfd_mach_avr4 4
1811 #define bfd_mach_avr5 5
1812 #define bfd_mach_avr51 51
1813 #define bfd_mach_avr6 6
1814 #define bfd_mach_avrtiny 100
1815 #define bfd_mach_avrxmega1 101
1816 #define bfd_mach_avrxmega2 102
1817 #define bfd_mach_avrxmega3 103
1818 #define bfd_mach_avrxmega4 104
1819 #define bfd_mach_avrxmega5 105
1820 #define bfd_mach_avrxmega6 106
1821 #define bfd_mach_avrxmega7 107
1822 bfd_arch_bfin,
1823 #define bfd_mach_bfin 1
1824 bfd_arch_cr16,
1825 #define bfd_mach_cr16 1
1826 bfd_arch_crx,
1827 #define bfd_mach_crx 1
1828 bfd_arch_cris,
1829 #define bfd_mach_cris_v0_v10 255
1830 #define bfd_mach_cris_v32 32
1831 #define bfd_mach_cris_v10_v32 1032
1832 bfd_arch_riscv,
1833 #define bfd_mach_riscv32 132
1834 #define bfd_mach_riscv64 164
1835 bfd_arch_rl78,
1836 #define bfd_mach_rl78 0x75
1837 bfd_arch_rx,
1838 #define bfd_mach_rx 0x75
1839 #define bfd_mach_rx_v2 0x76
1840 #define bfd_mach_rx_v3 0x77
1841 bfd_arch_s390,
1842 #define bfd_mach_s390_31 31
1843 #define bfd_mach_s390_64 64
1844 bfd_arch_score,
1845 #define bfd_mach_score3 3
1846 #define bfd_mach_score7 7
1847 bfd_arch_mmix,
1848 bfd_arch_xstormy16,
1849 #define bfd_mach_xstormy16 1
1850 bfd_arch_msp430,
1851 #define bfd_mach_msp11 11
1852 #define bfd_mach_msp110 110
1853 #define bfd_mach_msp12 12
1854 #define bfd_mach_msp13 13
1855 #define bfd_mach_msp14 14
1856 #define bfd_mach_msp15 15
1857 #define bfd_mach_msp16 16
1858 #define bfd_mach_msp20 20
1859 #define bfd_mach_msp21 21
1860 #define bfd_mach_msp22 22
1861 #define bfd_mach_msp23 23
1862 #define bfd_mach_msp24 24
1863 #define bfd_mach_msp26 26
1864 #define bfd_mach_msp31 31
1865 #define bfd_mach_msp32 32
1866 #define bfd_mach_msp33 33
1867 #define bfd_mach_msp41 41
1868 #define bfd_mach_msp42 42
1869 #define bfd_mach_msp43 43
1870 #define bfd_mach_msp44 44
1871 #define bfd_mach_msp430x 45
1872 #define bfd_mach_msp46 46
1873 #define bfd_mach_msp47 47
1874 #define bfd_mach_msp54 54
1875 bfd_arch_xc16x,
1876 #define bfd_mach_xc16x 1
1877 #define bfd_mach_xc16xl 2
1878 #define bfd_mach_xc16xs 3
1879 bfd_arch_xgate,
1880 #define bfd_mach_xgate 1
1881 bfd_arch_xtensa,
1882 #define bfd_mach_xtensa 1
1883 bfd_arch_z80,
1884
1885 #define bfd_mach_z80strict 1
1886
1887
1888 #define bfd_mach_z180 2
1889
1890 #define bfd_mach_z80 3
1891
1892 #define bfd_mach_ez80_z80 4
1893
1894 #define bfd_mach_ez80_adl 5
1895
1896 #define bfd_mach_z80n 6
1897
1898 #define bfd_mach_z80full 7
1899
1900 #define bfd_mach_gbz80 8
1901
1902 #define bfd_mach_r800 11
1903 bfd_arch_lm32,
1904 #define bfd_mach_lm32 1
1905 bfd_arch_microblaze,
1906 bfd_arch_tilepro,
1907 bfd_arch_tilegx,
1908 #define bfd_mach_tilepro 1
1909 #define bfd_mach_tilegx 1
1910 #define bfd_mach_tilegx32 2
1911 bfd_arch_aarch64,
1912 #define bfd_mach_aarch64 0
1913 #define bfd_mach_aarch64_8R 1
1914 #define bfd_mach_aarch64_ilp32 32
1915 bfd_arch_nios2,
1916 #define bfd_mach_nios2 0
1917 #define bfd_mach_nios2r1 1
1918 #define bfd_mach_nios2r2 2
1919 bfd_arch_visium,
1920 #define bfd_mach_visium 1
1921 bfd_arch_wasm32,
1922 #define bfd_mach_wasm32 1
1923 bfd_arch_pru,
1924 #define bfd_mach_pru 0
1925 bfd_arch_nfp,
1926 #define bfd_mach_nfp3200 0x3200
1927 #define bfd_mach_nfp6000 0x6000
1928 bfd_arch_csky,
1929 #define bfd_mach_ck_unknown 0
1930 #define bfd_mach_ck510 1
1931 #define bfd_mach_ck610 2
1932 #define bfd_mach_ck801 3
1933 #define bfd_mach_ck802 4
1934 #define bfd_mach_ck803 5
1935 #define bfd_mach_ck807 6
1936 #define bfd_mach_ck810 7
1937 #define bfd_mach_ck860 8
1938 bfd_arch_loongarch,
1939 #define bfd_mach_loongarch32 1
1940 #define bfd_mach_loongarch64 2
1941 bfd_arch_amdgcn,
1942 #define bfd_mach_amdgcn_unknown 0x000
1943 #define bfd_mach_amdgcn_gfx900 0x02c
1944 #define bfd_mach_amdgcn_gfx904 0x02e
1945 #define bfd_mach_amdgcn_gfx906 0x02f
1946 #define bfd_mach_amdgcn_gfx908 0x030
1947 #define bfd_mach_amdgcn_gfx90a 0x03f
1948 #define bfd_mach_amdgcn_gfx1010 0x033
1949 #define bfd_mach_amdgcn_gfx1011 0x034
1950 #define bfd_mach_amdgcn_gfx1012 0x035
1951 #define bfd_mach_amdgcn_gfx1030 0x036
1952 #define bfd_mach_amdgcn_gfx1031 0x037
1953 #define bfd_mach_amdgcn_gfx1032 0x038
1954 bfd_arch_last
1955 };
1956
1957 typedef struct bfd_arch_info
1958 {
1959 int bits_per_word;
1960 int bits_per_address;
1961 int bits_per_byte;
1962 enum bfd_architecture arch;
1963 unsigned long mach;
1964 const char *arch_name;
1965 const char *printable_name;
1966 unsigned int section_align_power;
1967
1968
1969
1970 bool the_default;
1971 const struct bfd_arch_info * (*compatible) (const struct bfd_arch_info *,
1972 const struct bfd_arch_info *);
1973
1974 bool (*scan) (const struct bfd_arch_info *, const char *);
1975
1976
1977
1978
1979 void *(*fill) (bfd_size_type count, bool is_bigendian, bool code);
1980
1981 const struct bfd_arch_info *next;
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991 signed int max_reloc_offset_into_insn;
1992 }
1993 bfd_arch_info_type;
1994
1995 const char *bfd_printable_name (bfd *abfd);
1996
1997 const bfd_arch_info_type *bfd_scan_arch (const char *string);
1998
1999 const char **bfd_arch_list (void);
2000
2001 const bfd_arch_info_type *bfd_arch_get_compatible
2002 (const bfd *abfd, const bfd *bbfd, bool accept_unknowns);
2003
2004 void bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg);
2005
2006 bool bfd_default_set_arch_mach
2007 (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
2008
2009 enum bfd_architecture bfd_get_arch (const bfd *abfd);
2010
2011 unsigned long bfd_get_mach (const bfd *abfd);
2012
2013 unsigned int bfd_arch_bits_per_byte (const bfd *abfd);
2014
2015 unsigned int bfd_arch_bits_per_address (const bfd *abfd);
2016
2017 const bfd_arch_info_type *bfd_get_arch_info (bfd *abfd);
2018
2019 const bfd_arch_info_type *bfd_lookup_arch
2020 (enum bfd_architecture arch, unsigned long machine);
2021
2022 const char *bfd_printable_arch_mach
2023 (enum bfd_architecture arch, unsigned long machine);
2024
2025 unsigned int bfd_octets_per_byte (const bfd *abfd,
2026 const asection *sec);
2027
2028 unsigned int bfd_arch_mach_octets_per_byte
2029 (enum bfd_architecture arch, unsigned long machine);
2030
2031
2032
2033 typedef enum bfd_reloc_status
2034 {
2035
2036
2037 bfd_reloc_ok = 2,
2038
2039
2040 bfd_reloc_overflow,
2041
2042
2043 bfd_reloc_outofrange,
2044
2045
2046 bfd_reloc_continue,
2047
2048
2049 bfd_reloc_notsupported,
2050
2051
2052 bfd_reloc_other,
2053
2054
2055 bfd_reloc_undefined,
2056
2057
2058
2059
2060 bfd_reloc_dangerous
2061 }
2062 bfd_reloc_status_type;
2063
2064 typedef const struct reloc_howto_struct reloc_howto_type;
2065
2066 typedef struct reloc_cache_entry
2067 {
2068
2069 struct bfd_symbol **sym_ptr_ptr;
2070
2071
2072 bfd_size_type address;
2073
2074
2075 bfd_vma addend;
2076
2077
2078 reloc_howto_type *howto;
2079
2080 }
2081 arelent;
2082
2083
2084 enum complain_overflow
2085 {
2086
2087 complain_overflow_dont,
2088
2089
2090
2091
2092 complain_overflow_bitfield,
2093
2094
2095
2096 complain_overflow_signed,
2097
2098
2099
2100 complain_overflow_unsigned
2101 };
2102 struct reloc_howto_struct
2103 {
2104
2105
2106
2107 unsigned int type;
2108
2109
2110
2111
2112 unsigned int size:3;
2113
2114
2115
2116 unsigned int bitsize:7;
2117
2118
2119
2120 unsigned int rightshift:6;
2121
2122
2123
2124 unsigned int bitpos:6;
2125
2126
2127
2128 ENUM_BITFIELD (complain_overflow) complain_on_overflow:2;
2129
2130
2131 unsigned int negate:1;
2132
2133
2134 unsigned int pc_relative:1;
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151 unsigned int partial_inplace:1;
2152
2153
2154
2155
2156
2157
2158
2159 unsigned int pcrel_offset:1;
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169 bfd_vma src_mask;
2170
2171
2172
2173 bfd_vma dst_mask;
2174
2175
2176
2177
2178 bfd_reloc_status_type (*special_function)
2179 (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
2180 bfd *, char **);
2181
2182
2183 const char *name;
2184 };
2185
2186 #define HOWTO(type, right, size, bits, pcrel, left, ovf, func, name, \
2187 inplace, src_mask, dst_mask, pcrel_off) \
2188 { (unsigned) type, size < 0 ? -size : size, bits, right, left, ovf, \
2189 size < 0, pcrel, inplace, pcrel_off, src_mask, dst_mask, func, name }
2190 #define EMPTY_HOWTO(C) \
2191 HOWTO ((C), 0, 0, 0, false, 0, complain_overflow_dont, NULL, \
2192 NULL, false, 0, 0, false)
2193
2194 unsigned int bfd_get_reloc_size (reloc_howto_type *);
2195
2196 typedef struct relent_chain
2197 {
2198 arelent relent;
2199 struct relent_chain *next;
2200 }
2201 arelent_chain;
2202
2203 bfd_reloc_status_type bfd_check_overflow
2204 (enum complain_overflow how,
2205 unsigned int bitsize,
2206 unsigned int rightshift,
2207 unsigned int addrsize,
2208 bfd_vma relocation);
2209
2210 bool bfd_reloc_offset_in_range
2211 (reloc_howto_type *howto,
2212 bfd *abfd,
2213 asection *section,
2214 bfd_size_type offset);
2215
2216 bfd_reloc_status_type bfd_perform_relocation
2217 (bfd *abfd,
2218 arelent *reloc_entry,
2219 void *data,
2220 asection *input_section,
2221 bfd *output_bfd,
2222 char **error_message);
2223
2224 bfd_reloc_status_type bfd_install_relocation
2225 (bfd *abfd,
2226 arelent *reloc_entry,
2227 void *data, bfd_vma data_start,
2228 asection *input_section,
2229 char **error_message);
2230
2231 enum bfd_reloc_code_real {
2232 _dummy_first_bfd_reloc_code_real,
2233
2234
2235
2236 BFD_RELOC_64,
2237 BFD_RELOC_32,
2238 BFD_RELOC_26,
2239 BFD_RELOC_24,
2240 BFD_RELOC_16,
2241 BFD_RELOC_14,
2242 BFD_RELOC_8,
2243
2244
2245
2246
2247 BFD_RELOC_64_PCREL,
2248 BFD_RELOC_32_PCREL,
2249 BFD_RELOC_24_PCREL,
2250 BFD_RELOC_16_PCREL,
2251 BFD_RELOC_12_PCREL,
2252 BFD_RELOC_8_PCREL,
2253
2254
2255 BFD_RELOC_32_SECREL,
2256
2257
2258 BFD_RELOC_32_GOT_PCREL,
2259 BFD_RELOC_16_GOT_PCREL,
2260 BFD_RELOC_8_GOT_PCREL,
2261 BFD_RELOC_32_GOTOFF,
2262 BFD_RELOC_16_GOTOFF,
2263 BFD_RELOC_LO16_GOTOFF,
2264 BFD_RELOC_HI16_GOTOFF,
2265 BFD_RELOC_HI16_S_GOTOFF,
2266 BFD_RELOC_8_GOTOFF,
2267 BFD_RELOC_64_PLT_PCREL,
2268 BFD_RELOC_32_PLT_PCREL,
2269 BFD_RELOC_24_PLT_PCREL,
2270 BFD_RELOC_16_PLT_PCREL,
2271 BFD_RELOC_8_PLT_PCREL,
2272 BFD_RELOC_64_PLTOFF,
2273 BFD_RELOC_32_PLTOFF,
2274 BFD_RELOC_16_PLTOFF,
2275 BFD_RELOC_LO16_PLTOFF,
2276 BFD_RELOC_HI16_PLTOFF,
2277 BFD_RELOC_HI16_S_PLTOFF,
2278 BFD_RELOC_8_PLTOFF,
2279
2280
2281 BFD_RELOC_SIZE32,
2282 BFD_RELOC_SIZE64,
2283
2284
2285 BFD_RELOC_68K_GLOB_DAT,
2286 BFD_RELOC_68K_JMP_SLOT,
2287 BFD_RELOC_68K_RELATIVE,
2288 BFD_RELOC_68K_TLS_GD32,
2289 BFD_RELOC_68K_TLS_GD16,
2290 BFD_RELOC_68K_TLS_GD8,
2291 BFD_RELOC_68K_TLS_LDM32,
2292 BFD_RELOC_68K_TLS_LDM16,
2293 BFD_RELOC_68K_TLS_LDM8,
2294 BFD_RELOC_68K_TLS_LDO32,
2295 BFD_RELOC_68K_TLS_LDO16,
2296 BFD_RELOC_68K_TLS_LDO8,
2297 BFD_RELOC_68K_TLS_IE32,
2298 BFD_RELOC_68K_TLS_IE16,
2299 BFD_RELOC_68K_TLS_IE8,
2300 BFD_RELOC_68K_TLS_LE32,
2301 BFD_RELOC_68K_TLS_LE16,
2302 BFD_RELOC_68K_TLS_LE8,
2303
2304
2305 BFD_RELOC_32_BASEREL,
2306 BFD_RELOC_16_BASEREL,
2307 BFD_RELOC_LO16_BASEREL,
2308 BFD_RELOC_HI16_BASEREL,
2309 BFD_RELOC_HI16_S_BASEREL,
2310 BFD_RELOC_8_BASEREL,
2311 BFD_RELOC_RVA,
2312
2313
2314 BFD_RELOC_8_FFnn,
2315
2316
2317
2318
2319
2320
2321
2322 BFD_RELOC_32_PCREL_S2,
2323 BFD_RELOC_16_PCREL_S2,
2324 BFD_RELOC_23_PCREL_S2,
2325
2326
2327
2328 BFD_RELOC_HI22,
2329 BFD_RELOC_LO10,
2330
2331
2332
2333
2334
2335 BFD_RELOC_GPREL16,
2336 BFD_RELOC_GPREL32,
2337
2338
2339
2340 BFD_RELOC_NONE,
2341 BFD_RELOC_SPARC_WDISP22,
2342 BFD_RELOC_SPARC22,
2343 BFD_RELOC_SPARC13,
2344 BFD_RELOC_SPARC_GOT10,
2345 BFD_RELOC_SPARC_GOT13,
2346 BFD_RELOC_SPARC_GOT22,
2347 BFD_RELOC_SPARC_PC10,
2348 BFD_RELOC_SPARC_PC22,
2349 BFD_RELOC_SPARC_WPLT30,
2350 BFD_RELOC_SPARC_COPY,
2351 BFD_RELOC_SPARC_GLOB_DAT,
2352 BFD_RELOC_SPARC_JMP_SLOT,
2353 BFD_RELOC_SPARC_RELATIVE,
2354 BFD_RELOC_SPARC_UA16,
2355 BFD_RELOC_SPARC_UA32,
2356 BFD_RELOC_SPARC_UA64,
2357 BFD_RELOC_SPARC_GOTDATA_HIX22,
2358 BFD_RELOC_SPARC_GOTDATA_LOX10,
2359 BFD_RELOC_SPARC_GOTDATA_OP_HIX22,
2360 BFD_RELOC_SPARC_GOTDATA_OP_LOX10,
2361 BFD_RELOC_SPARC_GOTDATA_OP,
2362 BFD_RELOC_SPARC_JMP_IREL,
2363 BFD_RELOC_SPARC_IRELATIVE,
2364
2365
2366 BFD_RELOC_SPARC_BASE13,
2367 BFD_RELOC_SPARC_BASE22,
2368
2369
2370 #define BFD_RELOC_SPARC_64 BFD_RELOC_64
2371 BFD_RELOC_SPARC_10,
2372 BFD_RELOC_SPARC_11,
2373 BFD_RELOC_SPARC_OLO10,
2374 BFD_RELOC_SPARC_HH22,
2375 BFD_RELOC_SPARC_HM10,
2376 BFD_RELOC_SPARC_LM22,
2377 BFD_RELOC_SPARC_PC_HH22,
2378 BFD_RELOC_SPARC_PC_HM10,
2379 BFD_RELOC_SPARC_PC_LM22,
2380 BFD_RELOC_SPARC_WDISP16,
2381 BFD_RELOC_SPARC_WDISP19,
2382 BFD_RELOC_SPARC_7,
2383 BFD_RELOC_SPARC_6,
2384 BFD_RELOC_SPARC_5,
2385 #define BFD_RELOC_SPARC_DISP64 BFD_RELOC_64_PCREL
2386 BFD_RELOC_SPARC_PLT32,
2387 BFD_RELOC_SPARC_PLT64,
2388 BFD_RELOC_SPARC_HIX22,
2389 BFD_RELOC_SPARC_LOX10,
2390 BFD_RELOC_SPARC_H44,
2391 BFD_RELOC_SPARC_M44,
2392 BFD_RELOC_SPARC_L44,
2393 BFD_RELOC_SPARC_REGISTER,
2394 BFD_RELOC_SPARC_H34,
2395 BFD_RELOC_SPARC_SIZE32,
2396 BFD_RELOC_SPARC_SIZE64,
2397 BFD_RELOC_SPARC_WDISP10,
2398
2399
2400 BFD_RELOC_SPARC_REV32,
2401
2402
2403 BFD_RELOC_SPARC_TLS_GD_HI22,
2404 BFD_RELOC_SPARC_TLS_GD_LO10,
2405 BFD_RELOC_SPARC_TLS_GD_ADD,
2406 BFD_RELOC_SPARC_TLS_GD_CALL,
2407 BFD_RELOC_SPARC_TLS_LDM_HI22,
2408 BFD_RELOC_SPARC_TLS_LDM_LO10,
2409 BFD_RELOC_SPARC_TLS_LDM_ADD,
2410 BFD_RELOC_SPARC_TLS_LDM_CALL,
2411 BFD_RELOC_SPARC_TLS_LDO_HIX22,
2412 BFD_RELOC_SPARC_TLS_LDO_LOX10,
2413 BFD_RELOC_SPARC_TLS_LDO_ADD,
2414 BFD_RELOC_SPARC_TLS_IE_HI22,
2415 BFD_RELOC_SPARC_TLS_IE_LO10,
2416 BFD_RELOC_SPARC_TLS_IE_LD,
2417 BFD_RELOC_SPARC_TLS_IE_LDX,
2418 BFD_RELOC_SPARC_TLS_IE_ADD,
2419 BFD_RELOC_SPARC_TLS_LE_HIX22,
2420 BFD_RELOC_SPARC_TLS_LE_LOX10,
2421 BFD_RELOC_SPARC_TLS_DTPMOD32,
2422 BFD_RELOC_SPARC_TLS_DTPMOD64,
2423 BFD_RELOC_SPARC_TLS_DTPOFF32,
2424 BFD_RELOC_SPARC_TLS_DTPOFF64,
2425 BFD_RELOC_SPARC_TLS_TPOFF32,
2426 BFD_RELOC_SPARC_TLS_TPOFF64,
2427
2428
2429 BFD_RELOC_SPU_IMM7,
2430 BFD_RELOC_SPU_IMM8,
2431 BFD_RELOC_SPU_IMM10,
2432 BFD_RELOC_SPU_IMM10W,
2433 BFD_RELOC_SPU_IMM16,
2434 BFD_RELOC_SPU_IMM16W,
2435 BFD_RELOC_SPU_IMM18,
2436 BFD_RELOC_SPU_PCREL9a,
2437 BFD_RELOC_SPU_PCREL9b,
2438 BFD_RELOC_SPU_PCREL16,
2439 BFD_RELOC_SPU_LO16,
2440 BFD_RELOC_SPU_HI16,
2441 BFD_RELOC_SPU_PPU32,
2442 BFD_RELOC_SPU_PPU64,
2443 BFD_RELOC_SPU_ADD_PIC,
2444
2445
2446
2447
2448
2449
2450
2451 BFD_RELOC_ALPHA_GPDISP_HI16,
2452
2453
2454
2455
2456
2457 BFD_RELOC_ALPHA_GPDISP_LO16,
2458
2459
2460
2461
2462 BFD_RELOC_ALPHA_GPDISP,
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487 BFD_RELOC_ALPHA_LITERAL,
2488 BFD_RELOC_ALPHA_ELF_LITERAL,
2489 BFD_RELOC_ALPHA_LITUSE,
2490
2491
2492
2493
2494 BFD_RELOC_ALPHA_HINT,
2495
2496
2497
2498 BFD_RELOC_ALPHA_LINKAGE,
2499
2500
2501
2502 BFD_RELOC_ALPHA_CODEADDR,
2503
2504
2505
2506 BFD_RELOC_ALPHA_GPREL_HI16,
2507 BFD_RELOC_ALPHA_GPREL_LO16,
2508
2509
2510
2511
2512 BFD_RELOC_ALPHA_BRSGP,
2513
2514
2515
2516 BFD_RELOC_ALPHA_NOP,
2517
2518
2519
2520 BFD_RELOC_ALPHA_BSR,
2521
2522
2523
2524 BFD_RELOC_ALPHA_LDA,
2525
2526
2527
2528 BFD_RELOC_ALPHA_BOH,
2529
2530
2531 BFD_RELOC_ALPHA_TLSGD,
2532 BFD_RELOC_ALPHA_TLSLDM,
2533 BFD_RELOC_ALPHA_DTPMOD64,
2534 BFD_RELOC_ALPHA_GOTDTPREL16,
2535 BFD_RELOC_ALPHA_DTPREL64,
2536 BFD_RELOC_ALPHA_DTPREL_HI16,
2537 BFD_RELOC_ALPHA_DTPREL_LO16,
2538 BFD_RELOC_ALPHA_DTPREL16,
2539 BFD_RELOC_ALPHA_GOTTPREL16,
2540 BFD_RELOC_ALPHA_TPREL64,
2541 BFD_RELOC_ALPHA_TPREL_HI16,
2542 BFD_RELOC_ALPHA_TPREL_LO16,
2543 BFD_RELOC_ALPHA_TPREL16,
2544
2545
2546 BFD_RELOC_MIPS_JMP,
2547 BFD_RELOC_MICROMIPS_JMP,
2548
2549
2550 BFD_RELOC_MIPS16_JMP,
2551
2552
2553 BFD_RELOC_MIPS16_GPREL,
2554
2555
2556 BFD_RELOC_HI16,
2557
2558
2559
2560
2561
2562 BFD_RELOC_HI16_S,
2563
2564
2565 BFD_RELOC_LO16,
2566
2567
2568 BFD_RELOC_HI16_PCREL,
2569
2570
2571 BFD_RELOC_HI16_S_PCREL,
2572
2573
2574 BFD_RELOC_LO16_PCREL,
2575
2576
2577
2578 BFD_RELOC_MIPS16_GOT16,
2579 BFD_RELOC_MIPS16_CALL16,
2580
2581
2582 BFD_RELOC_MIPS16_HI16,
2583
2584
2585
2586
2587
2588 BFD_RELOC_MIPS16_HI16_S,
2589
2590
2591 BFD_RELOC_MIPS16_LO16,
2592
2593
2594 BFD_RELOC_MIPS16_TLS_GD,
2595 BFD_RELOC_MIPS16_TLS_LDM,
2596 BFD_RELOC_MIPS16_TLS_DTPREL_HI16,
2597 BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
2598 BFD_RELOC_MIPS16_TLS_GOTTPREL,
2599 BFD_RELOC_MIPS16_TLS_TPREL_HI16,
2600 BFD_RELOC_MIPS16_TLS_TPREL_LO16,
2601
2602
2603 BFD_RELOC_MIPS_LITERAL,
2604 BFD_RELOC_MICROMIPS_LITERAL,
2605
2606
2607 BFD_RELOC_MICROMIPS_7_PCREL_S1,
2608 BFD_RELOC_MICROMIPS_10_PCREL_S1,
2609 BFD_RELOC_MICROMIPS_16_PCREL_S1,
2610
2611
2612 BFD_RELOC_MIPS16_16_PCREL_S1,
2613
2614
2615 BFD_RELOC_MIPS_21_PCREL_S2,
2616 BFD_RELOC_MIPS_26_PCREL_S2,
2617 BFD_RELOC_MIPS_18_PCREL_S3,
2618 BFD_RELOC_MIPS_19_PCREL_S2,
2619
2620
2621 BFD_RELOC_MICROMIPS_GPREL16,
2622 BFD_RELOC_MICROMIPS_HI16,
2623 BFD_RELOC_MICROMIPS_HI16_S,
2624 BFD_RELOC_MICROMIPS_LO16,
2625
2626
2627 BFD_RELOC_MIPS_GOT16,
2628 BFD_RELOC_MICROMIPS_GOT16,
2629 BFD_RELOC_MIPS_CALL16,
2630 BFD_RELOC_MICROMIPS_CALL16,
2631 BFD_RELOC_MIPS_GOT_HI16,
2632 BFD_RELOC_MICROMIPS_GOT_HI16,
2633 BFD_RELOC_MIPS_GOT_LO16,
2634 BFD_RELOC_MICROMIPS_GOT_LO16,
2635 BFD_RELOC_MIPS_CALL_HI16,
2636 BFD_RELOC_MICROMIPS_CALL_HI16,
2637 BFD_RELOC_MIPS_CALL_LO16,
2638 BFD_RELOC_MICROMIPS_CALL_LO16,
2639 BFD_RELOC_MIPS_SUB,
2640 BFD_RELOC_MICROMIPS_SUB,
2641 BFD_RELOC_MIPS_GOT_PAGE,
2642 BFD_RELOC_MICROMIPS_GOT_PAGE,
2643 BFD_RELOC_MIPS_GOT_OFST,
2644 BFD_RELOC_MICROMIPS_GOT_OFST,
2645 BFD_RELOC_MIPS_GOT_DISP,
2646 BFD_RELOC_MICROMIPS_GOT_DISP,
2647 BFD_RELOC_MIPS_SHIFT5,
2648 BFD_RELOC_MIPS_SHIFT6,
2649 BFD_RELOC_MIPS_INSERT_A,
2650 BFD_RELOC_MIPS_INSERT_B,
2651 BFD_RELOC_MIPS_DELETE,
2652 BFD_RELOC_MIPS_HIGHEST,
2653 BFD_RELOC_MICROMIPS_HIGHEST,
2654 BFD_RELOC_MIPS_HIGHER,
2655 BFD_RELOC_MICROMIPS_HIGHER,
2656 BFD_RELOC_MIPS_SCN_DISP,
2657 BFD_RELOC_MICROMIPS_SCN_DISP,
2658 BFD_RELOC_MIPS_REL16,
2659 BFD_RELOC_MIPS_RELGOT,
2660 BFD_RELOC_MIPS_JALR,
2661 BFD_RELOC_MICROMIPS_JALR,
2662 BFD_RELOC_MIPS_TLS_DTPMOD32,
2663 BFD_RELOC_MIPS_TLS_DTPREL32,
2664 BFD_RELOC_MIPS_TLS_DTPMOD64,
2665 BFD_RELOC_MIPS_TLS_DTPREL64,
2666 BFD_RELOC_MIPS_TLS_GD,
2667 BFD_RELOC_MICROMIPS_TLS_GD,
2668 BFD_RELOC_MIPS_TLS_LDM,
2669 BFD_RELOC_MICROMIPS_TLS_LDM,
2670 BFD_RELOC_MIPS_TLS_DTPREL_HI16,
2671 BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16,
2672 BFD_RELOC_MIPS_TLS_DTPREL_LO16,
2673 BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16,
2674 BFD_RELOC_MIPS_TLS_GOTTPREL,
2675 BFD_RELOC_MICROMIPS_TLS_GOTTPREL,
2676 BFD_RELOC_MIPS_TLS_TPREL32,
2677 BFD_RELOC_MIPS_TLS_TPREL64,
2678 BFD_RELOC_MIPS_TLS_TPREL_HI16,
2679 BFD_RELOC_MICROMIPS_TLS_TPREL_HI16,
2680 BFD_RELOC_MIPS_TLS_TPREL_LO16,
2681 BFD_RELOC_MICROMIPS_TLS_TPREL_LO16,
2682 BFD_RELOC_MIPS_EH,
2683
2684
2685
2686 BFD_RELOC_MIPS_COPY,
2687 BFD_RELOC_MIPS_JUMP_SLOT,
2688
2689
2690
2691 BFD_RELOC_MOXIE_10_PCREL,
2692
2693
2694
2695 BFD_RELOC_FT32_10,
2696 BFD_RELOC_FT32_20,
2697 BFD_RELOC_FT32_17,
2698 BFD_RELOC_FT32_18,
2699 BFD_RELOC_FT32_RELAX,
2700 BFD_RELOC_FT32_SC0,
2701 BFD_RELOC_FT32_SC1,
2702 BFD_RELOC_FT32_15,
2703 BFD_RELOC_FT32_DIFF32,
2704
2705
2706
2707 BFD_RELOC_FRV_LABEL16,
2708 BFD_RELOC_FRV_LABEL24,
2709 BFD_RELOC_FRV_LO16,
2710 BFD_RELOC_FRV_HI16,
2711 BFD_RELOC_FRV_GPREL12,
2712 BFD_RELOC_FRV_GPRELU12,
2713 BFD_RELOC_FRV_GPREL32,
2714 BFD_RELOC_FRV_GPRELHI,
2715 BFD_RELOC_FRV_GPRELLO,
2716 BFD_RELOC_FRV_GOT12,
2717 BFD_RELOC_FRV_GOTHI,
2718 BFD_RELOC_FRV_GOTLO,
2719 BFD_RELOC_FRV_FUNCDESC,
2720 BFD_RELOC_FRV_FUNCDESC_GOT12,
2721 BFD_RELOC_FRV_FUNCDESC_GOTHI,
2722 BFD_RELOC_FRV_FUNCDESC_GOTLO,
2723 BFD_RELOC_FRV_FUNCDESC_VALUE,
2724 BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
2725 BFD_RELOC_FRV_FUNCDESC_GOTOFFHI,
2726 BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
2727 BFD_RELOC_FRV_GOTOFF12,
2728 BFD_RELOC_FRV_GOTOFFHI,
2729 BFD_RELOC_FRV_GOTOFFLO,
2730 BFD_RELOC_FRV_GETTLSOFF,
2731 BFD_RELOC_FRV_TLSDESC_VALUE,
2732 BFD_RELOC_FRV_GOTTLSDESC12,
2733 BFD_RELOC_FRV_GOTTLSDESCHI,
2734 BFD_RELOC_FRV_GOTTLSDESCLO,
2735 BFD_RELOC_FRV_TLSMOFF12,
2736 BFD_RELOC_FRV_TLSMOFFHI,
2737 BFD_RELOC_FRV_TLSMOFFLO,
2738 BFD_RELOC_FRV_GOTTLSOFF12,
2739 BFD_RELOC_FRV_GOTTLSOFFHI,
2740 BFD_RELOC_FRV_GOTTLSOFFLO,
2741 BFD_RELOC_FRV_TLSOFF,
2742 BFD_RELOC_FRV_TLSDESC_RELAX,
2743 BFD_RELOC_FRV_GETTLSOFF_RELAX,
2744 BFD_RELOC_FRV_TLSOFF_RELAX,
2745 BFD_RELOC_FRV_TLSMOFF,
2746
2747
2748
2749 BFD_RELOC_MN10300_GOTOFF24,
2750
2751
2752
2753 BFD_RELOC_MN10300_GOT32,
2754
2755
2756
2757 BFD_RELOC_MN10300_GOT24,
2758
2759
2760
2761 BFD_RELOC_MN10300_GOT16,
2762
2763
2764 BFD_RELOC_MN10300_COPY,
2765
2766
2767 BFD_RELOC_MN10300_GLOB_DAT,
2768
2769
2770 BFD_RELOC_MN10300_JMP_SLOT,
2771
2772
2773 BFD_RELOC_MN10300_RELATIVE,
2774
2775
2776
2777
2778 BFD_RELOC_MN10300_SYM_DIFF,
2779
2780
2781
2782
2783 BFD_RELOC_MN10300_ALIGN,
2784
2785
2786 BFD_RELOC_MN10300_TLS_GD,
2787 BFD_RELOC_MN10300_TLS_LD,
2788 BFD_RELOC_MN10300_TLS_LDO,
2789 BFD_RELOC_MN10300_TLS_GOTIE,
2790 BFD_RELOC_MN10300_TLS_IE,
2791 BFD_RELOC_MN10300_TLS_LE,
2792 BFD_RELOC_MN10300_TLS_DTPMOD,
2793 BFD_RELOC_MN10300_TLS_DTPOFF,
2794 BFD_RELOC_MN10300_TLS_TPOFF,
2795
2796
2797
2798 BFD_RELOC_MN10300_32_PCREL,
2799
2800
2801
2802 BFD_RELOC_MN10300_16_PCREL,
2803
2804
2805
2806 BFD_RELOC_386_GOT32,
2807 BFD_RELOC_386_PLT32,
2808 BFD_RELOC_386_COPY,
2809 BFD_RELOC_386_GLOB_DAT,
2810 BFD_RELOC_386_JUMP_SLOT,
2811 BFD_RELOC_386_RELATIVE,
2812 BFD_RELOC_386_GOTOFF,
2813 BFD_RELOC_386_GOTPC,
2814 BFD_RELOC_386_TLS_TPOFF,
2815 BFD_RELOC_386_TLS_IE,
2816 BFD_RELOC_386_TLS_GOTIE,
2817 BFD_RELOC_386_TLS_LE,
2818 BFD_RELOC_386_TLS_GD,
2819 BFD_RELOC_386_TLS_LDM,
2820 BFD_RELOC_386_TLS_LDO_32,
2821 BFD_RELOC_386_TLS_IE_32,
2822 BFD_RELOC_386_TLS_LE_32,
2823 BFD_RELOC_386_TLS_DTPMOD32,
2824 BFD_RELOC_386_TLS_DTPOFF32,
2825 BFD_RELOC_386_TLS_TPOFF32,
2826 BFD_RELOC_386_TLS_GOTDESC,
2827 BFD_RELOC_386_TLS_DESC_CALL,
2828 BFD_RELOC_386_TLS_DESC,
2829 BFD_RELOC_386_IRELATIVE,
2830 BFD_RELOC_386_GOT32X,
2831
2832
2833 BFD_RELOC_X86_64_GOT32,
2834 BFD_RELOC_X86_64_PLT32,
2835 BFD_RELOC_X86_64_COPY,
2836 BFD_RELOC_X86_64_GLOB_DAT,
2837 BFD_RELOC_X86_64_JUMP_SLOT,
2838 BFD_RELOC_X86_64_RELATIVE,
2839 BFD_RELOC_X86_64_GOTPCREL,
2840 BFD_RELOC_X86_64_32S,
2841 BFD_RELOC_X86_64_DTPMOD64,
2842 BFD_RELOC_X86_64_DTPOFF64,
2843 BFD_RELOC_X86_64_TPOFF64,
2844 BFD_RELOC_X86_64_TLSGD,
2845 BFD_RELOC_X86_64_TLSLD,
2846 BFD_RELOC_X86_64_DTPOFF32,
2847 BFD_RELOC_X86_64_GOTTPOFF,
2848 BFD_RELOC_X86_64_TPOFF32,
2849 BFD_RELOC_X86_64_GOTOFF64,
2850 BFD_RELOC_X86_64_GOTPC32,
2851 BFD_RELOC_X86_64_GOT64,
2852 BFD_RELOC_X86_64_GOTPCREL64,
2853 BFD_RELOC_X86_64_GOTPC64,
2854 BFD_RELOC_X86_64_GOTPLT64,
2855 BFD_RELOC_X86_64_PLTOFF64,
2856 BFD_RELOC_X86_64_GOTPC32_TLSDESC,
2857 BFD_RELOC_X86_64_TLSDESC_CALL,
2858 BFD_RELOC_X86_64_TLSDESC,
2859 BFD_RELOC_X86_64_IRELATIVE,
2860 BFD_RELOC_X86_64_PC32_BND,
2861 BFD_RELOC_X86_64_PLT32_BND,
2862 BFD_RELOC_X86_64_GOTPCRELX,
2863 BFD_RELOC_X86_64_REX_GOTPCRELX,
2864
2865
2866 BFD_RELOC_NS32K_IMM_8,
2867 BFD_RELOC_NS32K_IMM_16,
2868 BFD_RELOC_NS32K_IMM_32,
2869 BFD_RELOC_NS32K_IMM_8_PCREL,
2870 BFD_RELOC_NS32K_IMM_16_PCREL,
2871 BFD_RELOC_NS32K_IMM_32_PCREL,
2872 BFD_RELOC_NS32K_DISP_8,
2873 BFD_RELOC_NS32K_DISP_16,
2874 BFD_RELOC_NS32K_DISP_32,
2875 BFD_RELOC_NS32K_DISP_8_PCREL,
2876 BFD_RELOC_NS32K_DISP_16_PCREL,
2877 BFD_RELOC_NS32K_DISP_32_PCREL,
2878
2879
2880 BFD_RELOC_PDP11_DISP_8_PCREL,
2881 BFD_RELOC_PDP11_DISP_6_PCREL,
2882
2883
2884 BFD_RELOC_PJ_CODE_HI16,
2885 BFD_RELOC_PJ_CODE_LO16,
2886 BFD_RELOC_PJ_CODE_DIR16,
2887 BFD_RELOC_PJ_CODE_DIR32,
2888 BFD_RELOC_PJ_CODE_REL16,
2889 BFD_RELOC_PJ_CODE_REL32,
2890
2891
2892 BFD_RELOC_PPC_B26,
2893 BFD_RELOC_PPC_BA26,
2894 BFD_RELOC_PPC_TOC16,
2895 BFD_RELOC_PPC_TOC16_LO,
2896 BFD_RELOC_PPC_TOC16_HI,
2897 BFD_RELOC_PPC_B16,
2898 BFD_RELOC_PPC_B16_BRTAKEN,
2899 BFD_RELOC_PPC_B16_BRNTAKEN,
2900 BFD_RELOC_PPC_BA16,
2901 BFD_RELOC_PPC_BA16_BRTAKEN,
2902 BFD_RELOC_PPC_BA16_BRNTAKEN,
2903 BFD_RELOC_PPC_COPY,
2904 BFD_RELOC_PPC_GLOB_DAT,
2905 BFD_RELOC_PPC_JMP_SLOT,
2906 BFD_RELOC_PPC_RELATIVE,
2907 BFD_RELOC_PPC_LOCAL24PC,
2908 BFD_RELOC_PPC_EMB_NADDR32,
2909 BFD_RELOC_PPC_EMB_NADDR16,
2910 BFD_RELOC_PPC_EMB_NADDR16_LO,
2911 BFD_RELOC_PPC_EMB_NADDR16_HI,
2912 BFD_RELOC_PPC_EMB_NADDR16_HA,
2913 BFD_RELOC_PPC_EMB_SDAI16,
2914 BFD_RELOC_PPC_EMB_SDA2I16,
2915 BFD_RELOC_PPC_EMB_SDA2REL,
2916 BFD_RELOC_PPC_EMB_SDA21,
2917 BFD_RELOC_PPC_EMB_MRKREF,
2918 BFD_RELOC_PPC_EMB_RELSEC16,
2919 BFD_RELOC_PPC_EMB_RELST_LO,
2920 BFD_RELOC_PPC_EMB_RELST_HI,
2921 BFD_RELOC_PPC_EMB_RELST_HA,
2922 BFD_RELOC_PPC_EMB_BIT_FLD,
2923 BFD_RELOC_PPC_EMB_RELSDA,
2924 BFD_RELOC_PPC_VLE_REL8,
2925 BFD_RELOC_PPC_VLE_REL15,
2926 BFD_RELOC_PPC_VLE_REL24,
2927 BFD_RELOC_PPC_VLE_LO16A,
2928 BFD_RELOC_PPC_VLE_LO16D,
2929 BFD_RELOC_PPC_VLE_HI16A,
2930 BFD_RELOC_PPC_VLE_HI16D,
2931 BFD_RELOC_PPC_VLE_HA16A,
2932 BFD_RELOC_PPC_VLE_HA16D,
2933 BFD_RELOC_PPC_VLE_SDA21,
2934 BFD_RELOC_PPC_VLE_SDA21_LO,
2935 BFD_RELOC_PPC_VLE_SDAREL_LO16A,
2936 BFD_RELOC_PPC_VLE_SDAREL_LO16D,
2937 BFD_RELOC_PPC_VLE_SDAREL_HI16A,
2938 BFD_RELOC_PPC_VLE_SDAREL_HI16D,
2939 BFD_RELOC_PPC_VLE_SDAREL_HA16A,
2940 BFD_RELOC_PPC_VLE_SDAREL_HA16D,
2941 BFD_RELOC_PPC_16DX_HA,
2942 BFD_RELOC_PPC_REL16DX_HA,
2943 BFD_RELOC_PPC_NEG,
2944 BFD_RELOC_PPC64_HIGHER,
2945 BFD_RELOC_PPC64_HIGHER_S,
2946 BFD_RELOC_PPC64_HIGHEST,
2947 BFD_RELOC_PPC64_HIGHEST_S,
2948 BFD_RELOC_PPC64_TOC16_LO,
2949 BFD_RELOC_PPC64_TOC16_HI,
2950 BFD_RELOC_PPC64_TOC16_HA,
2951 BFD_RELOC_PPC64_TOC,
2952 BFD_RELOC_PPC64_PLTGOT16,
2953 BFD_RELOC_PPC64_PLTGOT16_LO,
2954 BFD_RELOC_PPC64_PLTGOT16_HI,
2955 BFD_RELOC_PPC64_PLTGOT16_HA,
2956 BFD_RELOC_PPC64_ADDR16_DS,
2957 BFD_RELOC_PPC64_ADDR16_LO_DS,
2958 BFD_RELOC_PPC64_GOT16_DS,
2959 BFD_RELOC_PPC64_GOT16_LO_DS,
2960 BFD_RELOC_PPC64_PLT16_LO_DS,
2961 BFD_RELOC_PPC64_SECTOFF_DS,
2962 BFD_RELOC_PPC64_SECTOFF_LO_DS,
2963 BFD_RELOC_PPC64_TOC16_DS,
2964 BFD_RELOC_PPC64_TOC16_LO_DS,
2965 BFD_RELOC_PPC64_PLTGOT16_DS,
2966 BFD_RELOC_PPC64_PLTGOT16_LO_DS,
2967 BFD_RELOC_PPC64_ADDR16_HIGH,
2968 BFD_RELOC_PPC64_ADDR16_HIGHA,
2969 BFD_RELOC_PPC64_REL16_HIGH,
2970 BFD_RELOC_PPC64_REL16_HIGHA,
2971 BFD_RELOC_PPC64_REL16_HIGHER,
2972 BFD_RELOC_PPC64_REL16_HIGHERA,
2973 BFD_RELOC_PPC64_REL16_HIGHEST,
2974 BFD_RELOC_PPC64_REL16_HIGHESTA,
2975 BFD_RELOC_PPC64_ADDR64_LOCAL,
2976 BFD_RELOC_PPC64_ENTRY,
2977 BFD_RELOC_PPC64_REL24_NOTOC,
2978 BFD_RELOC_PPC64_REL24_P9NOTOC,
2979 BFD_RELOC_PPC64_D34,
2980 BFD_RELOC_PPC64_D34_LO,
2981 BFD_RELOC_PPC64_D34_HI30,
2982 BFD_RELOC_PPC64_D34_HA30,
2983 BFD_RELOC_PPC64_PCREL34,
2984 BFD_RELOC_PPC64_GOT_PCREL34,
2985 BFD_RELOC_PPC64_PLT_PCREL34,
2986 BFD_RELOC_PPC64_ADDR16_HIGHER34,
2987 BFD_RELOC_PPC64_ADDR16_HIGHERA34,
2988 BFD_RELOC_PPC64_ADDR16_HIGHEST34,
2989 BFD_RELOC_PPC64_ADDR16_HIGHESTA34,
2990 BFD_RELOC_PPC64_REL16_HIGHER34,
2991 BFD_RELOC_PPC64_REL16_HIGHERA34,
2992 BFD_RELOC_PPC64_REL16_HIGHEST34,
2993 BFD_RELOC_PPC64_REL16_HIGHESTA34,
2994 BFD_RELOC_PPC64_D28,
2995 BFD_RELOC_PPC64_PCREL28,
2996
2997
2998 BFD_RELOC_PPC_TLS,
2999 BFD_RELOC_PPC_TLSGD,
3000 BFD_RELOC_PPC_TLSLD,
3001 BFD_RELOC_PPC_TLSLE,
3002 BFD_RELOC_PPC_TLSIE,
3003 BFD_RELOC_PPC_TLSM,
3004 BFD_RELOC_PPC_TLSML,
3005 BFD_RELOC_PPC_DTPMOD,
3006 BFD_RELOC_PPC_TPREL16,
3007 BFD_RELOC_PPC_TPREL16_LO,
3008 BFD_RELOC_PPC_TPREL16_HI,
3009 BFD_RELOC_PPC_TPREL16_HA,
3010 BFD_RELOC_PPC_TPREL,
3011 BFD_RELOC_PPC_DTPREL16,
3012 BFD_RELOC_PPC_DTPREL16_LO,
3013 BFD_RELOC_PPC_DTPREL16_HI,
3014 BFD_RELOC_PPC_DTPREL16_HA,
3015 BFD_RELOC_PPC_DTPREL,
3016 BFD_RELOC_PPC_GOT_TLSGD16,
3017 BFD_RELOC_PPC_GOT_TLSGD16_LO,
3018 BFD_RELOC_PPC_GOT_TLSGD16_HI,
3019 BFD_RELOC_PPC_GOT_TLSGD16_HA,
3020 BFD_RELOC_PPC_GOT_TLSLD16,
3021 BFD_RELOC_PPC_GOT_TLSLD16_LO,
3022 BFD_RELOC_PPC_GOT_TLSLD16_HI,
3023 BFD_RELOC_PPC_GOT_TLSLD16_HA,
3024 BFD_RELOC_PPC_GOT_TPREL16,
3025 BFD_RELOC_PPC_GOT_TPREL16_LO,
3026 BFD_RELOC_PPC_GOT_TPREL16_HI,
3027 BFD_RELOC_PPC_GOT_TPREL16_HA,
3028 BFD_RELOC_PPC_GOT_DTPREL16,
3029 BFD_RELOC_PPC_GOT_DTPREL16_LO,
3030 BFD_RELOC_PPC_GOT_DTPREL16_HI,
3031 BFD_RELOC_PPC_GOT_DTPREL16_HA,
3032 BFD_RELOC_PPC64_TLSGD,
3033 BFD_RELOC_PPC64_TLSLD,
3034 BFD_RELOC_PPC64_TLSLE,
3035 BFD_RELOC_PPC64_TLSIE,
3036 BFD_RELOC_PPC64_TLSM,
3037 BFD_RELOC_PPC64_TLSML,
3038 BFD_RELOC_PPC64_TPREL16_DS,
3039 BFD_RELOC_PPC64_TPREL16_LO_DS,
3040 BFD_RELOC_PPC64_TPREL16_HIGH,
3041 BFD_RELOC_PPC64_TPREL16_HIGHA,
3042 BFD_RELOC_PPC64_TPREL16_HIGHER,
3043 BFD_RELOC_PPC64_TPREL16_HIGHERA,
3044 BFD_RELOC_PPC64_TPREL16_HIGHEST,
3045 BFD_RELOC_PPC64_TPREL16_HIGHESTA,
3046 BFD_RELOC_PPC64_DTPREL16_DS,
3047 BFD_RELOC_PPC64_DTPREL16_LO_DS,
3048 BFD_RELOC_PPC64_DTPREL16_HIGH,
3049 BFD_RELOC_PPC64_DTPREL16_HIGHA,
3050 BFD_RELOC_PPC64_DTPREL16_HIGHER,
3051 BFD_RELOC_PPC64_DTPREL16_HIGHERA,
3052 BFD_RELOC_PPC64_DTPREL16_HIGHEST,
3053 BFD_RELOC_PPC64_DTPREL16_HIGHESTA,
3054 BFD_RELOC_PPC64_TPREL34,
3055 BFD_RELOC_PPC64_DTPREL34,
3056 BFD_RELOC_PPC64_GOT_TLSGD_PCREL34,
3057 BFD_RELOC_PPC64_GOT_TLSLD_PCREL34,
3058 BFD_RELOC_PPC64_GOT_TPREL_PCREL34,
3059 BFD_RELOC_PPC64_GOT_DTPREL_PCREL34,
3060 BFD_RELOC_PPC64_TLS_PCREL,
3061
3062
3063 BFD_RELOC_I370_D12,
3064
3065
3066
3067
3068 BFD_RELOC_CTOR,
3069
3070
3071
3072 BFD_RELOC_ARM_PCREL_BRANCH,
3073
3074
3075
3076
3077 BFD_RELOC_ARM_PCREL_BLX,
3078
3079
3080
3081
3082 BFD_RELOC_THUMB_PCREL_BLX,
3083
3084
3085 BFD_RELOC_ARM_PCREL_CALL,
3086
3087
3088 BFD_RELOC_ARM_PCREL_JUMP,
3089
3090
3091 BFD_RELOC_THUMB_PCREL_BRANCH5,
3092
3093
3094 BFD_RELOC_THUMB_PCREL_BFCSEL,
3095
3096
3097 BFD_RELOC_ARM_THUMB_BF17,
3098
3099
3100 BFD_RELOC_ARM_THUMB_BF13,
3101
3102
3103 BFD_RELOC_ARM_THUMB_BF19,
3104
3105
3106 BFD_RELOC_ARM_THUMB_LOOP12,
3107
3108
3109
3110
3111
3112
3113 BFD_RELOC_THUMB_PCREL_BRANCH7,
3114 BFD_RELOC_THUMB_PCREL_BRANCH9,
3115 BFD_RELOC_THUMB_PCREL_BRANCH12,
3116 BFD_RELOC_THUMB_PCREL_BRANCH20,
3117 BFD_RELOC_THUMB_PCREL_BRANCH23,
3118 BFD_RELOC_THUMB_PCREL_BRANCH25,
3119
3120
3121 BFD_RELOC_ARM_OFFSET_IMM,
3122
3123
3124 BFD_RELOC_ARM_THUMB_OFFSET,
3125
3126
3127
3128 BFD_RELOC_ARM_TARGET1,
3129
3130
3131 BFD_RELOC_ARM_ROSEGREL32,
3132
3133
3134 BFD_RELOC_ARM_SBREL32,
3135
3136
3137
3138
3139 BFD_RELOC_ARM_TARGET2,
3140
3141
3142 BFD_RELOC_ARM_PREL31,
3143
3144
3145 BFD_RELOC_ARM_MOVW,
3146 BFD_RELOC_ARM_MOVT,
3147 BFD_RELOC_ARM_MOVW_PCREL,
3148 BFD_RELOC_ARM_MOVT_PCREL,
3149 BFD_RELOC_ARM_THUMB_MOVW,
3150 BFD_RELOC_ARM_THUMB_MOVT,
3151 BFD_RELOC_ARM_THUMB_MOVW_PCREL,
3152 BFD_RELOC_ARM_THUMB_MOVT_PCREL,
3153
3154
3155 BFD_RELOC_ARM_GOTFUNCDESC,
3156 BFD_RELOC_ARM_GOTOFFFUNCDESC,
3157 BFD_RELOC_ARM_FUNCDESC,
3158 BFD_RELOC_ARM_FUNCDESC_VALUE,
3159 BFD_RELOC_ARM_TLS_GD32_FDPIC,
3160 BFD_RELOC_ARM_TLS_LDM32_FDPIC,
3161 BFD_RELOC_ARM_TLS_IE32_FDPIC,
3162
3163
3164 BFD_RELOC_ARM_JUMP_SLOT,
3165 BFD_RELOC_ARM_GLOB_DAT,
3166 BFD_RELOC_ARM_GOT32,
3167 BFD_RELOC_ARM_PLT32,
3168 BFD_RELOC_ARM_RELATIVE,
3169 BFD_RELOC_ARM_GOTOFF,
3170 BFD_RELOC_ARM_GOTPC,
3171 BFD_RELOC_ARM_GOT_PREL,
3172
3173
3174 BFD_RELOC_ARM_TLS_GD32,
3175 BFD_RELOC_ARM_TLS_LDO32,
3176 BFD_RELOC_ARM_TLS_LDM32,
3177 BFD_RELOC_ARM_TLS_DTPOFF32,
3178 BFD_RELOC_ARM_TLS_DTPMOD32,
3179 BFD_RELOC_ARM_TLS_TPOFF32,
3180 BFD_RELOC_ARM_TLS_IE32,
3181 BFD_RELOC_ARM_TLS_LE32,
3182 BFD_RELOC_ARM_TLS_GOTDESC,
3183 BFD_RELOC_ARM_TLS_CALL,
3184 BFD_RELOC_ARM_THM_TLS_CALL,
3185 BFD_RELOC_ARM_TLS_DESCSEQ,
3186 BFD_RELOC_ARM_THM_TLS_DESCSEQ,
3187 BFD_RELOC_ARM_TLS_DESC,
3188
3189
3190 BFD_RELOC_ARM_ALU_PC_G0_NC,
3191 BFD_RELOC_ARM_ALU_PC_G0,
3192 BFD_RELOC_ARM_ALU_PC_G1_NC,
3193 BFD_RELOC_ARM_ALU_PC_G1,
3194 BFD_RELOC_ARM_ALU_PC_G2,
3195 BFD_RELOC_ARM_LDR_PC_G0,
3196 BFD_RELOC_ARM_LDR_PC_G1,
3197 BFD_RELOC_ARM_LDR_PC_G2,
3198 BFD_RELOC_ARM_LDRS_PC_G0,
3199 BFD_RELOC_ARM_LDRS_PC_G1,
3200 BFD_RELOC_ARM_LDRS_PC_G2,
3201 BFD_RELOC_ARM_LDC_PC_G0,
3202 BFD_RELOC_ARM_LDC_PC_G1,
3203 BFD_RELOC_ARM_LDC_PC_G2,
3204 BFD_RELOC_ARM_ALU_SB_G0_NC,
3205 BFD_RELOC_ARM_ALU_SB_G0,
3206 BFD_RELOC_ARM_ALU_SB_G1_NC,
3207 BFD_RELOC_ARM_ALU_SB_G1,
3208 BFD_RELOC_ARM_ALU_SB_G2,
3209 BFD_RELOC_ARM_LDR_SB_G0,
3210 BFD_RELOC_ARM_LDR_SB_G1,
3211 BFD_RELOC_ARM_LDR_SB_G2,
3212 BFD_RELOC_ARM_LDRS_SB_G0,
3213 BFD_RELOC_ARM_LDRS_SB_G1,
3214 BFD_RELOC_ARM_LDRS_SB_G2,
3215 BFD_RELOC_ARM_LDC_SB_G0,
3216 BFD_RELOC_ARM_LDC_SB_G1,
3217 BFD_RELOC_ARM_LDC_SB_G2,
3218
3219
3220 BFD_RELOC_ARM_V4BX,
3221
3222
3223 BFD_RELOC_ARM_IRELATIVE,
3224
3225
3226 BFD_RELOC_ARM_THUMB_ALU_ABS_G0_NC,
3227 BFD_RELOC_ARM_THUMB_ALU_ABS_G1_NC,
3228 BFD_RELOC_ARM_THUMB_ALU_ABS_G2_NC,
3229 BFD_RELOC_ARM_THUMB_ALU_ABS_G3_NC,
3230
3231
3232
3233 BFD_RELOC_ARM_IMMEDIATE,
3234 BFD_RELOC_ARM_ADRL_IMMEDIATE,
3235 BFD_RELOC_ARM_T32_IMMEDIATE,
3236 BFD_RELOC_ARM_T32_ADD_IMM,
3237 BFD_RELOC_ARM_T32_IMM12,
3238 BFD_RELOC_ARM_T32_ADD_PC12,
3239 BFD_RELOC_ARM_SHIFT_IMM,
3240 BFD_RELOC_ARM_SMC,
3241 BFD_RELOC_ARM_HVC,
3242 BFD_RELOC_ARM_SWI,
3243 BFD_RELOC_ARM_MULTI,
3244 BFD_RELOC_ARM_CP_OFF_IMM,
3245 BFD_RELOC_ARM_CP_OFF_IMM_S2,
3246 BFD_RELOC_ARM_T32_CP_OFF_IMM,
3247 BFD_RELOC_ARM_T32_CP_OFF_IMM_S2,
3248 BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM,
3249 BFD_RELOC_ARM_ADR_IMM,
3250 BFD_RELOC_ARM_LDR_IMM,
3251 BFD_RELOC_ARM_LITERAL,
3252 BFD_RELOC_ARM_IN_POOL,
3253 BFD_RELOC_ARM_OFFSET_IMM8,
3254 BFD_RELOC_ARM_T32_OFFSET_U8,
3255 BFD_RELOC_ARM_T32_OFFSET_IMM,
3256 BFD_RELOC_ARM_HWLITERAL,
3257 BFD_RELOC_ARM_THUMB_ADD,
3258 BFD_RELOC_ARM_THUMB_IMM,
3259 BFD_RELOC_ARM_THUMB_SHIFT,
3260
3261
3262 BFD_RELOC_SH_PCDISP8BY2,
3263 BFD_RELOC_SH_PCDISP12BY2,
3264 BFD_RELOC_SH_IMM3,
3265 BFD_RELOC_SH_IMM3U,
3266 BFD_RELOC_SH_DISP12,
3267 BFD_RELOC_SH_DISP12BY2,
3268 BFD_RELOC_SH_DISP12BY4,
3269 BFD_RELOC_SH_DISP12BY8,
3270 BFD_RELOC_SH_DISP20,
3271 BFD_RELOC_SH_DISP20BY8,
3272 BFD_RELOC_SH_IMM4,
3273 BFD_RELOC_SH_IMM4BY2,
3274 BFD_RELOC_SH_IMM4BY4,
3275 BFD_RELOC_SH_IMM8,
3276 BFD_RELOC_SH_IMM8BY2,
3277 BFD_RELOC_SH_IMM8BY4,
3278 BFD_RELOC_SH_PCRELIMM8BY2,
3279 BFD_RELOC_SH_PCRELIMM8BY4,
3280 BFD_RELOC_SH_SWITCH16,
3281 BFD_RELOC_SH_SWITCH32,
3282 BFD_RELOC_SH_USES,
3283 BFD_RELOC_SH_COUNT,
3284 BFD_RELOC_SH_ALIGN,
3285 BFD_RELOC_SH_CODE,
3286 BFD_RELOC_SH_DATA,
3287 BFD_RELOC_SH_LABEL,
3288 BFD_RELOC_SH_LOOP_START,
3289 BFD_RELOC_SH_LOOP_END,
3290 BFD_RELOC_SH_COPY,
3291 BFD_RELOC_SH_GLOB_DAT,
3292 BFD_RELOC_SH_JMP_SLOT,
3293 BFD_RELOC_SH_RELATIVE,
3294 BFD_RELOC_SH_GOTPC,
3295 BFD_RELOC_SH_GOT_LOW16,
3296 BFD_RELOC_SH_GOT_MEDLOW16,
3297 BFD_RELOC_SH_GOT_MEDHI16,
3298 BFD_RELOC_SH_GOT_HI16,
3299 BFD_RELOC_SH_GOTPLT_LOW16,
3300 BFD_RELOC_SH_GOTPLT_MEDLOW16,
3301 BFD_RELOC_SH_GOTPLT_MEDHI16,
3302 BFD_RELOC_SH_GOTPLT_HI16,
3303 BFD_RELOC_SH_PLT_LOW16,
3304 BFD_RELOC_SH_PLT_MEDLOW16,
3305 BFD_RELOC_SH_PLT_MEDHI16,
3306 BFD_RELOC_SH_PLT_HI16,
3307 BFD_RELOC_SH_GOTOFF_LOW16,
3308 BFD_RELOC_SH_GOTOFF_MEDLOW16,
3309 BFD_RELOC_SH_GOTOFF_MEDHI16,
3310 BFD_RELOC_SH_GOTOFF_HI16,
3311 BFD_RELOC_SH_GOTPC_LOW16,
3312 BFD_RELOC_SH_GOTPC_MEDLOW16,
3313 BFD_RELOC_SH_GOTPC_MEDHI16,
3314 BFD_RELOC_SH_GOTPC_HI16,
3315 BFD_RELOC_SH_COPY64,
3316 BFD_RELOC_SH_GLOB_DAT64,
3317 BFD_RELOC_SH_JMP_SLOT64,
3318 BFD_RELOC_SH_RELATIVE64,
3319 BFD_RELOC_SH_GOT10BY4,
3320 BFD_RELOC_SH_GOT10BY8,
3321 BFD_RELOC_SH_GOTPLT10BY4,
3322 BFD_RELOC_SH_GOTPLT10BY8,
3323 BFD_RELOC_SH_GOTPLT32,
3324 BFD_RELOC_SH_SHMEDIA_CODE,
3325 BFD_RELOC_SH_IMMU5,
3326 BFD_RELOC_SH_IMMS6,
3327 BFD_RELOC_SH_IMMS6BY32,
3328 BFD_RELOC_SH_IMMU6,
3329 BFD_RELOC_SH_IMMS10,
3330 BFD_RELOC_SH_IMMS10BY2,
3331 BFD_RELOC_SH_IMMS10BY4,
3332 BFD_RELOC_SH_IMMS10BY8,
3333 BFD_RELOC_SH_IMMS16,
3334 BFD_RELOC_SH_IMMU16,
3335 BFD_RELOC_SH_IMM_LOW16,
3336 BFD_RELOC_SH_IMM_LOW16_PCREL,
3337 BFD_RELOC_SH_IMM_MEDLOW16,
3338 BFD_RELOC_SH_IMM_MEDLOW16_PCREL,
3339 BFD_RELOC_SH_IMM_MEDHI16,
3340 BFD_RELOC_SH_IMM_MEDHI16_PCREL,
3341 BFD_RELOC_SH_IMM_HI16,
3342 BFD_RELOC_SH_IMM_HI16_PCREL,
3343 BFD_RELOC_SH_PT_16,
3344 BFD_RELOC_SH_TLS_GD_32,
3345 BFD_RELOC_SH_TLS_LD_32,
3346 BFD_RELOC_SH_TLS_LDO_32,
3347 BFD_RELOC_SH_TLS_IE_32,
3348 BFD_RELOC_SH_TLS_LE_32,
3349 BFD_RELOC_SH_TLS_DTPMOD32,
3350 BFD_RELOC_SH_TLS_DTPOFF32,
3351 BFD_RELOC_SH_TLS_TPOFF32,
3352 BFD_RELOC_SH_GOT20,
3353 BFD_RELOC_SH_GOTOFF20,
3354 BFD_RELOC_SH_GOTFUNCDESC,
3355 BFD_RELOC_SH_GOTFUNCDESC20,
3356 BFD_RELOC_SH_GOTOFFFUNCDESC,
3357 BFD_RELOC_SH_GOTOFFFUNCDESC20,
3358 BFD_RELOC_SH_FUNCDESC,
3359
3360
3361 BFD_RELOC_ARC_NONE,
3362 BFD_RELOC_ARC_8,
3363 BFD_RELOC_ARC_16,
3364 BFD_RELOC_ARC_24,
3365 BFD_RELOC_ARC_32,
3366 BFD_RELOC_ARC_N8,
3367 BFD_RELOC_ARC_N16,
3368 BFD_RELOC_ARC_N24,
3369 BFD_RELOC_ARC_N32,
3370 BFD_RELOC_ARC_SDA,
3371 BFD_RELOC_ARC_SECTOFF,
3372 BFD_RELOC_ARC_S21H_PCREL,
3373 BFD_RELOC_ARC_S21W_PCREL,
3374 BFD_RELOC_ARC_S25H_PCREL,
3375 BFD_RELOC_ARC_S25W_PCREL,
3376 BFD_RELOC_ARC_SDA32,
3377 BFD_RELOC_ARC_SDA_LDST,
3378 BFD_RELOC_ARC_SDA_LDST1,
3379 BFD_RELOC_ARC_SDA_LDST2,
3380 BFD_RELOC_ARC_SDA16_LD,
3381 BFD_RELOC_ARC_SDA16_LD1,
3382 BFD_RELOC_ARC_SDA16_LD2,
3383 BFD_RELOC_ARC_S13_PCREL,
3384 BFD_RELOC_ARC_W,
3385 BFD_RELOC_ARC_32_ME,
3386 BFD_RELOC_ARC_32_ME_S,
3387 BFD_RELOC_ARC_N32_ME,
3388 BFD_RELOC_ARC_SECTOFF_ME,
3389 BFD_RELOC_ARC_SDA32_ME,
3390 BFD_RELOC_ARC_W_ME,
3391 BFD_RELOC_AC_SECTOFF_U8,
3392 BFD_RELOC_AC_SECTOFF_U8_1,
3393 BFD_RELOC_AC_SECTOFF_U8_2,
3394 BFD_RELOC_AC_SECTOFF_S9,
3395 BFD_RELOC_AC_SECTOFF_S9_1,
3396 BFD_RELOC_AC_SECTOFF_S9_2,
3397 BFD_RELOC_ARC_SECTOFF_ME_1,
3398 BFD_RELOC_ARC_SECTOFF_ME_2,
3399 BFD_RELOC_ARC_SECTOFF_1,
3400 BFD_RELOC_ARC_SECTOFF_2,
3401 BFD_RELOC_ARC_SDA_12,
3402 BFD_RELOC_ARC_SDA16_ST2,
3403 BFD_RELOC_ARC_32_PCREL,
3404 BFD_RELOC_ARC_PC32,
3405 BFD_RELOC_ARC_GOT32,
3406 BFD_RELOC_ARC_GOTPC32,
3407 BFD_RELOC_ARC_PLT32,
3408 BFD_RELOC_ARC_COPY,
3409 BFD_RELOC_ARC_GLOB_DAT,
3410 BFD_RELOC_ARC_JMP_SLOT,
3411 BFD_RELOC_ARC_RELATIVE,
3412 BFD_RELOC_ARC_GOTOFF,
3413 BFD_RELOC_ARC_GOTPC,
3414 BFD_RELOC_ARC_S21W_PCREL_PLT,
3415 BFD_RELOC_ARC_S25H_PCREL_PLT,
3416 BFD_RELOC_ARC_TLS_DTPMOD,
3417 BFD_RELOC_ARC_TLS_TPOFF,
3418 BFD_RELOC_ARC_TLS_GD_GOT,
3419 BFD_RELOC_ARC_TLS_GD_LD,
3420 BFD_RELOC_ARC_TLS_GD_CALL,
3421 BFD_RELOC_ARC_TLS_IE_GOT,
3422 BFD_RELOC_ARC_TLS_DTPOFF,
3423 BFD_RELOC_ARC_TLS_DTPOFF_S9,
3424 BFD_RELOC_ARC_TLS_LE_S9,
3425 BFD_RELOC_ARC_TLS_LE_32,
3426 BFD_RELOC_ARC_S25W_PCREL_PLT,
3427 BFD_RELOC_ARC_S21H_PCREL_PLT,
3428 BFD_RELOC_ARC_NPS_CMEM16,
3429 BFD_RELOC_ARC_JLI_SECTOFF,
3430
3431
3432 BFD_RELOC_BFIN_16_IMM,
3433
3434
3435 BFD_RELOC_BFIN_16_HIGH,
3436
3437
3438 BFD_RELOC_BFIN_4_PCREL,
3439
3440
3441 BFD_RELOC_BFIN_5_PCREL,
3442
3443
3444 BFD_RELOC_BFIN_16_LOW,
3445
3446
3447 BFD_RELOC_BFIN_10_PCREL,
3448
3449
3450 BFD_RELOC_BFIN_11_PCREL,
3451
3452
3453 BFD_RELOC_BFIN_12_PCREL_JUMP,
3454
3455
3456 BFD_RELOC_BFIN_12_PCREL_JUMP_S,
3457
3458
3459 BFD_RELOC_BFIN_24_PCREL_CALL_X,
3460
3461
3462 BFD_RELOC_BFIN_24_PCREL_JUMP_L,
3463
3464
3465 BFD_RELOC_BFIN_GOT17M4,
3466 BFD_RELOC_BFIN_GOTHI,
3467 BFD_RELOC_BFIN_GOTLO,
3468 BFD_RELOC_BFIN_FUNCDESC,
3469 BFD_RELOC_BFIN_FUNCDESC_GOT17M4,
3470 BFD_RELOC_BFIN_FUNCDESC_GOTHI,
3471 BFD_RELOC_BFIN_FUNCDESC_GOTLO,
3472 BFD_RELOC_BFIN_FUNCDESC_VALUE,
3473 BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4,
3474 BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI,
3475 BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO,
3476 BFD_RELOC_BFIN_GOTOFF17M4,
3477 BFD_RELOC_BFIN_GOTOFFHI,
3478 BFD_RELOC_BFIN_GOTOFFLO,
3479
3480
3481 BFD_RELOC_BFIN_GOT,
3482
3483
3484 BFD_RELOC_BFIN_PLTPC,
3485
3486
3487 BFD_ARELOC_BFIN_PUSH,
3488
3489
3490 BFD_ARELOC_BFIN_CONST,
3491
3492
3493 BFD_ARELOC_BFIN_ADD,
3494
3495
3496 BFD_ARELOC_BFIN_SUB,
3497
3498
3499 BFD_ARELOC_BFIN_MULT,
3500
3501
3502 BFD_ARELOC_BFIN_DIV,
3503
3504
3505 BFD_ARELOC_BFIN_MOD,
3506
3507
3508 BFD_ARELOC_BFIN_LSHIFT,
3509
3510
3511 BFD_ARELOC_BFIN_RSHIFT,
3512
3513
3514 BFD_ARELOC_BFIN_AND,
3515
3516
3517 BFD_ARELOC_BFIN_OR,
3518
3519
3520 BFD_ARELOC_BFIN_XOR,
3521
3522
3523 BFD_ARELOC_BFIN_LAND,
3524
3525
3526 BFD_ARELOC_BFIN_LOR,
3527
3528
3529 BFD_ARELOC_BFIN_LEN,
3530
3531
3532 BFD_ARELOC_BFIN_NEG,
3533
3534
3535 BFD_ARELOC_BFIN_COMP,
3536
3537
3538 BFD_ARELOC_BFIN_PAGE,
3539
3540
3541 BFD_ARELOC_BFIN_HWPAGE,
3542
3543
3544 BFD_ARELOC_BFIN_ADDR,
3545
3546
3547
3548
3549 BFD_RELOC_D10V_10_PCREL_R,
3550
3551
3552
3553
3554
3555
3556 BFD_RELOC_D10V_10_PCREL_L,
3557
3558
3559
3560 BFD_RELOC_D10V_18,
3561
3562
3563
3564 BFD_RELOC_D10V_18_PCREL,
3565
3566
3567
3568 BFD_RELOC_D30V_6,
3569
3570
3571
3572 BFD_RELOC_D30V_9_PCREL,
3573
3574
3575
3576
3577
3578 BFD_RELOC_D30V_9_PCREL_R,
3579
3580
3581
3582 BFD_RELOC_D30V_15,
3583
3584
3585
3586 BFD_RELOC_D30V_15_PCREL,
3587
3588
3589
3590
3591
3592 BFD_RELOC_D30V_15_PCREL_R,
3593
3594
3595
3596 BFD_RELOC_D30V_21,
3597
3598
3599
3600 BFD_RELOC_D30V_21_PCREL,
3601
3602
3603
3604
3605
3606 BFD_RELOC_D30V_21_PCREL_R,
3607
3608
3609 BFD_RELOC_D30V_32,
3610
3611
3612 BFD_RELOC_D30V_32_PCREL,
3613
3614
3615 BFD_RELOC_DLX_HI16_S,
3616
3617
3618 BFD_RELOC_DLX_LO16,
3619
3620
3621 BFD_RELOC_DLX_JMP26,
3622
3623
3624 BFD_RELOC_M32C_HI8,
3625 BFD_RELOC_M32C_RL_JUMP,
3626 BFD_RELOC_M32C_RL_1ADDR,
3627 BFD_RELOC_M32C_RL_2ADDR,
3628
3629
3630
3631 BFD_RELOC_M32R_24,
3632
3633
3634 BFD_RELOC_M32R_10_PCREL,
3635
3636
3637 BFD_RELOC_M32R_18_PCREL,
3638
3639
3640 BFD_RELOC_M32R_26_PCREL,
3641
3642
3643
3644 BFD_RELOC_M32R_HI16_ULO,
3645
3646
3647
3648 BFD_RELOC_M32R_HI16_SLO,
3649
3650
3651 BFD_RELOC_M32R_LO16,
3652
3653
3654
3655 BFD_RELOC_M32R_SDA16,
3656
3657
3658 BFD_RELOC_M32R_GOT24,
3659 BFD_RELOC_M32R_26_PLTREL,
3660 BFD_RELOC_M32R_COPY,
3661 BFD_RELOC_M32R_GLOB_DAT,
3662 BFD_RELOC_M32R_JMP_SLOT,
3663 BFD_RELOC_M32R_RELATIVE,
3664 BFD_RELOC_M32R_GOTOFF,
3665 BFD_RELOC_M32R_GOTOFF_HI_ULO,
3666 BFD_RELOC_M32R_GOTOFF_HI_SLO,
3667 BFD_RELOC_M32R_GOTOFF_LO,
3668 BFD_RELOC_M32R_GOTPC24,
3669 BFD_RELOC_M32R_GOT16_HI_ULO,
3670 BFD_RELOC_M32R_GOT16_HI_SLO,
3671 BFD_RELOC_M32R_GOT16_LO,
3672 BFD_RELOC_M32R_GOTPC_HI_ULO,
3673 BFD_RELOC_M32R_GOTPC_HI_SLO,
3674 BFD_RELOC_M32R_GOTPC_LO,
3675
3676
3677
3678 BFD_RELOC_NDS32_20,
3679
3680
3681 BFD_RELOC_NDS32_9_PCREL,
3682
3683
3684 BFD_RELOC_NDS32_WORD_9_PCREL,
3685
3686
3687 BFD_RELOC_NDS32_15_PCREL,
3688
3689
3690 BFD_RELOC_NDS32_17_PCREL,
3691
3692
3693 BFD_RELOC_NDS32_25_PCREL,
3694
3695
3696
3697 BFD_RELOC_NDS32_HI20,
3698
3699
3700
3701 BFD_RELOC_NDS32_LO12S3,
3702
3703
3704
3705 BFD_RELOC_NDS32_LO12S2,
3706
3707
3708
3709 BFD_RELOC_NDS32_LO12S1,
3710
3711
3712
3713 BFD_RELOC_NDS32_LO12S0,
3714
3715
3716
3717 BFD_RELOC_NDS32_LO12S0_ORI,
3718
3719
3720
3721 BFD_RELOC_NDS32_SDA15S3,
3722
3723
3724
3725 BFD_RELOC_NDS32_SDA15S2,
3726
3727
3728
3729 BFD_RELOC_NDS32_SDA15S1,
3730
3731
3732
3733 BFD_RELOC_NDS32_SDA15S0,
3734
3735
3736
3737 BFD_RELOC_NDS32_SDA16S3,
3738
3739
3740
3741 BFD_RELOC_NDS32_SDA17S2,
3742
3743
3744
3745 BFD_RELOC_NDS32_SDA18S1,
3746
3747
3748
3749 BFD_RELOC_NDS32_SDA19S0,
3750
3751
3752 BFD_RELOC_NDS32_GOT20,
3753 BFD_RELOC_NDS32_9_PLTREL,
3754 BFD_RELOC_NDS32_25_PLTREL,
3755 BFD_RELOC_NDS32_COPY,
3756 BFD_RELOC_NDS32_GLOB_DAT,
3757 BFD_RELOC_NDS32_JMP_SLOT,
3758 BFD_RELOC_NDS32_RELATIVE,
3759 BFD_RELOC_NDS32_GOTOFF,
3760 BFD_RELOC_NDS32_GOTOFF_HI20,
3761 BFD_RELOC_NDS32_GOTOFF_LO12,
3762 BFD_RELOC_NDS32_GOTPC20,
3763 BFD_RELOC_NDS32_GOT_HI20,
3764 BFD_RELOC_NDS32_GOT_LO12,
3765 BFD_RELOC_NDS32_GOTPC_HI20,
3766 BFD_RELOC_NDS32_GOTPC_LO12,
3767
3768
3769 BFD_RELOC_NDS32_INSN16,
3770 BFD_RELOC_NDS32_LABEL,
3771 BFD_RELOC_NDS32_LONGCALL1,
3772 BFD_RELOC_NDS32_LONGCALL2,
3773 BFD_RELOC_NDS32_LONGCALL3,
3774 BFD_RELOC_NDS32_LONGJUMP1,
3775 BFD_RELOC_NDS32_LONGJUMP2,
3776 BFD_RELOC_NDS32_LONGJUMP3,
3777 BFD_RELOC_NDS32_LOADSTORE,
3778 BFD_RELOC_NDS32_9_FIXED,
3779 BFD_RELOC_NDS32_15_FIXED,
3780 BFD_RELOC_NDS32_17_FIXED,
3781 BFD_RELOC_NDS32_25_FIXED,
3782 BFD_RELOC_NDS32_LONGCALL4,
3783 BFD_RELOC_NDS32_LONGCALL5,
3784 BFD_RELOC_NDS32_LONGCALL6,
3785 BFD_RELOC_NDS32_LONGJUMP4,
3786 BFD_RELOC_NDS32_LONGJUMP5,
3787 BFD_RELOC_NDS32_LONGJUMP6,
3788 BFD_RELOC_NDS32_LONGJUMP7,
3789
3790
3791 BFD_RELOC_NDS32_PLTREL_HI20,
3792 BFD_RELOC_NDS32_PLTREL_LO12,
3793 BFD_RELOC_NDS32_PLT_GOTREL_HI20,
3794 BFD_RELOC_NDS32_PLT_GOTREL_LO12,
3795
3796
3797 BFD_RELOC_NDS32_SDA12S2_DP,
3798 BFD_RELOC_NDS32_SDA12S2_SP,
3799 BFD_RELOC_NDS32_LO12S2_DP,
3800 BFD_RELOC_NDS32_LO12S2_SP,
3801
3802
3803 BFD_RELOC_NDS32_DWARF2_OP1,
3804 BFD_RELOC_NDS32_DWARF2_OP2,
3805 BFD_RELOC_NDS32_DWARF2_LEB,
3806
3807
3808 BFD_RELOC_NDS32_UPDATE_TA,
3809
3810
3811 BFD_RELOC_NDS32_PLT_GOTREL_LO20,
3812 BFD_RELOC_NDS32_PLT_GOTREL_LO15,
3813 BFD_RELOC_NDS32_PLT_GOTREL_LO19,
3814 BFD_RELOC_NDS32_GOT_LO15,
3815 BFD_RELOC_NDS32_GOT_LO19,
3816 BFD_RELOC_NDS32_GOTOFF_LO15,
3817 BFD_RELOC_NDS32_GOTOFF_LO19,
3818 BFD_RELOC_NDS32_GOT15S2,
3819 BFD_RELOC_NDS32_GOT17S2,
3820
3821
3822
3823 BFD_RELOC_NDS32_5,
3824
3825
3826 BFD_RELOC_NDS32_10_UPCREL,
3827
3828
3829 BFD_RELOC_NDS32_SDA_FP7U2_RELA,
3830
3831
3832 BFD_RELOC_NDS32_RELAX_ENTRY,
3833 BFD_RELOC_NDS32_GOT_SUFF,
3834 BFD_RELOC_NDS32_GOTOFF_SUFF,
3835 BFD_RELOC_NDS32_PLT_GOT_SUFF,
3836 BFD_RELOC_NDS32_MULCALL_SUFF,
3837 BFD_RELOC_NDS32_PTR,
3838 BFD_RELOC_NDS32_PTR_COUNT,
3839 BFD_RELOC_NDS32_PTR_RESOLVED,
3840 BFD_RELOC_NDS32_PLTBLOCK,
3841 BFD_RELOC_NDS32_RELAX_REGION_BEGIN,
3842 BFD_RELOC_NDS32_RELAX_REGION_END,
3843 BFD_RELOC_NDS32_MINUEND,
3844 BFD_RELOC_NDS32_SUBTRAHEND,
3845 BFD_RELOC_NDS32_DIFF8,
3846 BFD_RELOC_NDS32_DIFF16,
3847 BFD_RELOC_NDS32_DIFF32,
3848 BFD_RELOC_NDS32_DIFF_ULEB128,
3849 BFD_RELOC_NDS32_EMPTY,
3850
3851
3852 BFD_RELOC_NDS32_25_ABS,
3853
3854
3855 BFD_RELOC_NDS32_DATA,
3856 BFD_RELOC_NDS32_TRAN,
3857 BFD_RELOC_NDS32_17IFC_PCREL,
3858 BFD_RELOC_NDS32_10IFCU_PCREL,
3859
3860
3861 BFD_RELOC_NDS32_TPOFF,
3862 BFD_RELOC_NDS32_GOTTPOFF,
3863 BFD_RELOC_NDS32_TLS_LE_HI20,
3864 BFD_RELOC_NDS32_TLS_LE_LO12,
3865 BFD_RELOC_NDS32_TLS_LE_20,
3866 BFD_RELOC_NDS32_TLS_LE_15S0,
3867 BFD_RELOC_NDS32_TLS_LE_15S1,
3868 BFD_RELOC_NDS32_TLS_LE_15S2,
3869 BFD_RELOC_NDS32_TLS_LE_ADD,
3870 BFD_RELOC_NDS32_TLS_LE_LS,
3871 BFD_RELOC_NDS32_TLS_IE_HI20,
3872 BFD_RELOC_NDS32_TLS_IE_LO12,
3873 BFD_RELOC_NDS32_TLS_IE_LO12S2,
3874 BFD_RELOC_NDS32_TLS_IEGP_HI20,
3875 BFD_RELOC_NDS32_TLS_IEGP_LO12,
3876 BFD_RELOC_NDS32_TLS_IEGP_LO12S2,
3877 BFD_RELOC_NDS32_TLS_IEGP_LW,
3878 BFD_RELOC_NDS32_TLS_DESC,
3879 BFD_RELOC_NDS32_TLS_DESC_HI20,
3880 BFD_RELOC_NDS32_TLS_DESC_LO12,
3881 BFD_RELOC_NDS32_TLS_DESC_20,
3882 BFD_RELOC_NDS32_TLS_DESC_SDA17S2,
3883 BFD_RELOC_NDS32_TLS_DESC_ADD,
3884 BFD_RELOC_NDS32_TLS_DESC_FUNC,
3885 BFD_RELOC_NDS32_TLS_DESC_CALL,
3886 BFD_RELOC_NDS32_TLS_DESC_MEM,
3887 BFD_RELOC_NDS32_REMOVE,
3888 BFD_RELOC_NDS32_GROUP,
3889
3890
3891 BFD_RELOC_NDS32_LSI,
3892
3893
3894 BFD_RELOC_V850_9_PCREL,
3895
3896
3897 BFD_RELOC_V850_22_PCREL,
3898
3899
3900 BFD_RELOC_V850_SDA_16_16_OFFSET,
3901
3902
3903
3904 BFD_RELOC_V850_SDA_15_16_OFFSET,
3905
3906
3907 BFD_RELOC_V850_ZDA_16_16_OFFSET,
3908
3909
3910
3911 BFD_RELOC_V850_ZDA_15_16_OFFSET,
3912
3913
3914
3915 BFD_RELOC_V850_TDA_6_8_OFFSET,
3916
3917
3918
3919 BFD_RELOC_V850_TDA_7_8_OFFSET,
3920
3921
3922 BFD_RELOC_V850_TDA_7_7_OFFSET,
3923
3924
3925 BFD_RELOC_V850_TDA_16_16_OFFSET,
3926
3927
3928
3929 BFD_RELOC_V850_TDA_4_5_OFFSET,
3930
3931
3932 BFD_RELOC_V850_TDA_4_4_OFFSET,
3933
3934
3935
3936 BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET,
3937
3938
3939
3940 BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET,
3941
3942
3943 BFD_RELOC_V850_CALLT_6_7_OFFSET,
3944
3945
3946 BFD_RELOC_V850_CALLT_16_16_OFFSET,
3947
3948
3949 BFD_RELOC_V850_LONGCALL,
3950
3951
3952 BFD_RELOC_V850_LONGJUMP,
3953
3954
3955 BFD_RELOC_V850_ALIGN,
3956
3957
3958
3959 BFD_RELOC_V850_LO16_SPLIT_OFFSET,
3960
3961
3962 BFD_RELOC_V850_16_PCREL,
3963
3964
3965 BFD_RELOC_V850_17_PCREL,
3966
3967
3968 BFD_RELOC_V850_23,
3969
3970
3971 BFD_RELOC_V850_32_PCREL,
3972
3973
3974 BFD_RELOC_V850_32_ABS,
3975
3976
3977 BFD_RELOC_V850_16_SPLIT_OFFSET,
3978
3979
3980 BFD_RELOC_V850_16_S1,
3981
3982
3983 BFD_RELOC_V850_LO16_S1,
3984
3985
3986 BFD_RELOC_V850_CALLT_15_16_OFFSET,
3987
3988
3989 BFD_RELOC_V850_32_GOTPCREL,
3990
3991
3992 BFD_RELOC_V850_16_GOT,
3993
3994
3995 BFD_RELOC_V850_32_GOT,
3996
3997
3998 BFD_RELOC_V850_22_PLT_PCREL,
3999
4000
4001 BFD_RELOC_V850_32_PLT_PCREL,
4002
4003
4004 BFD_RELOC_V850_COPY,
4005
4006
4007 BFD_RELOC_V850_GLOB_DAT,
4008
4009
4010 BFD_RELOC_V850_JMP_SLOT,
4011
4012
4013 BFD_RELOC_V850_RELATIVE,
4014
4015
4016 BFD_RELOC_V850_16_GOTOFF,
4017
4018
4019 BFD_RELOC_V850_32_GOTOFF,
4020
4021
4022 BFD_RELOC_V850_CODE,
4023
4024
4025 BFD_RELOC_V850_DATA,
4026
4027
4028
4029
4030 BFD_RELOC_TIC30_LDP,
4031
4032
4033
4034
4035 BFD_RELOC_TIC54X_PARTLS7,
4036
4037
4038
4039
4040 BFD_RELOC_TIC54X_PARTMS9,
4041
4042
4043 BFD_RELOC_TIC54X_23,
4044
4045
4046
4047
4048 BFD_RELOC_TIC54X_16_OF_23,
4049
4050
4051
4052
4053 BFD_RELOC_TIC54X_MS7_OF_23,
4054
4055
4056 BFD_RELOC_C6000_PCR_S21,
4057 BFD_RELOC_C6000_PCR_S12,
4058 BFD_RELOC_C6000_PCR_S10,
4059 BFD_RELOC_C6000_PCR_S7,
4060 BFD_RELOC_C6000_ABS_S16,
4061 BFD_RELOC_C6000_ABS_L16,
4062 BFD_RELOC_C6000_ABS_H16,
4063 BFD_RELOC_C6000_SBR_U15_B,
4064 BFD_RELOC_C6000_SBR_U15_H,
4065 BFD_RELOC_C6000_SBR_U15_W,
4066 BFD_RELOC_C6000_SBR_S16,
4067 BFD_RELOC_C6000_SBR_L16_B,
4068 BFD_RELOC_C6000_SBR_L16_H,
4069 BFD_RELOC_C6000_SBR_L16_W,
4070 BFD_RELOC_C6000_SBR_H16_B,
4071 BFD_RELOC_C6000_SBR_H16_H,
4072 BFD_RELOC_C6000_SBR_H16_W,
4073 BFD_RELOC_C6000_SBR_GOT_U15_W,
4074 BFD_RELOC_C6000_SBR_GOT_L16_W,
4075 BFD_RELOC_C6000_SBR_GOT_H16_W,
4076 BFD_RELOC_C6000_DSBT_INDEX,
4077 BFD_RELOC_C6000_PREL31,
4078 BFD_RELOC_C6000_COPY,
4079 BFD_RELOC_C6000_JUMP_SLOT,
4080 BFD_RELOC_C6000_EHTYPE,
4081 BFD_RELOC_C6000_PCR_H16,
4082 BFD_RELOC_C6000_PCR_L16,
4083 BFD_RELOC_C6000_ALIGN,
4084 BFD_RELOC_C6000_FPHEAD,
4085 BFD_RELOC_C6000_NOCMP,
4086
4087
4088 BFD_RELOC_FR30_48,
4089
4090
4091
4092 BFD_RELOC_FR30_20,
4093
4094
4095
4096 BFD_RELOC_FR30_6_IN_4,
4097
4098
4099
4100 BFD_RELOC_FR30_8_IN_8,
4101
4102
4103
4104 BFD_RELOC_FR30_9_IN_8,
4105
4106
4107
4108 BFD_RELOC_FR30_10_IN_8,
4109
4110
4111
4112 BFD_RELOC_FR30_9_PCREL,
4113
4114
4115
4116 BFD_RELOC_FR30_12_PCREL,
4117
4118
4119 BFD_RELOC_MCORE_PCREL_IMM8BY4,
4120 BFD_RELOC_MCORE_PCREL_IMM11BY2,
4121 BFD_RELOC_MCORE_PCREL_IMM4BY2,
4122 BFD_RELOC_MCORE_PCREL_32,
4123 BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2,
4124 BFD_RELOC_MCORE_RVA,
4125
4126
4127 BFD_RELOC_MEP_8,
4128 BFD_RELOC_MEP_16,
4129 BFD_RELOC_MEP_32,
4130 BFD_RELOC_MEP_PCREL8A2,
4131 BFD_RELOC_MEP_PCREL12A2,
4132 BFD_RELOC_MEP_PCREL17A2,
4133 BFD_RELOC_MEP_PCREL24A2,
4134 BFD_RELOC_MEP_PCABS24A2,
4135 BFD_RELOC_MEP_LOW16,
4136 BFD_RELOC_MEP_HI16U,
4137 BFD_RELOC_MEP_HI16S,
4138 BFD_RELOC_MEP_GPREL,
4139 BFD_RELOC_MEP_TPREL,
4140 BFD_RELOC_MEP_TPREL7,
4141 BFD_RELOC_MEP_TPREL7A2,
4142 BFD_RELOC_MEP_TPREL7A4,
4143 BFD_RELOC_MEP_UIMM24,
4144 BFD_RELOC_MEP_ADDR24A4,
4145 BFD_RELOC_MEP_GNU_VTINHERIT,
4146 BFD_RELOC_MEP_GNU_VTENTRY,
4147
4148
4149
4150 BFD_RELOC_METAG_HIADDR16,
4151 BFD_RELOC_METAG_LOADDR16,
4152 BFD_RELOC_METAG_RELBRANCH,
4153 BFD_RELOC_METAG_GETSETOFF,
4154 BFD_RELOC_METAG_HIOG,
4155 BFD_RELOC_METAG_LOOG,
4156 BFD_RELOC_METAG_REL8,
4157 BFD_RELOC_METAG_REL16,
4158 BFD_RELOC_METAG_HI16_GOTOFF,
4159 BFD_RELOC_METAG_LO16_GOTOFF,
4160 BFD_RELOC_METAG_GETSET_GOTOFF,
4161 BFD_RELOC_METAG_GETSET_GOT,
4162 BFD_RELOC_METAG_HI16_GOTPC,
4163 BFD_RELOC_METAG_LO16_GOTPC,
4164 BFD_RELOC_METAG_HI16_PLT,
4165 BFD_RELOC_METAG_LO16_PLT,
4166 BFD_RELOC_METAG_RELBRANCH_PLT,
4167 BFD_RELOC_METAG_GOTOFF,
4168 BFD_RELOC_METAG_PLT,
4169 BFD_RELOC_METAG_COPY,
4170 BFD_RELOC_METAG_JMP_SLOT,
4171 BFD_RELOC_METAG_RELATIVE,
4172 BFD_RELOC_METAG_GLOB_DAT,
4173 BFD_RELOC_METAG_TLS_GD,
4174 BFD_RELOC_METAG_TLS_LDM,
4175 BFD_RELOC_METAG_TLS_LDO_HI16,
4176 BFD_RELOC_METAG_TLS_LDO_LO16,
4177 BFD_RELOC_METAG_TLS_LDO,
4178 BFD_RELOC_METAG_TLS_IE,
4179 BFD_RELOC_METAG_TLS_IENONPIC,
4180 BFD_RELOC_METAG_TLS_IENONPIC_HI16,
4181 BFD_RELOC_METAG_TLS_IENONPIC_LO16,
4182 BFD_RELOC_METAG_TLS_TPOFF,
4183 BFD_RELOC_METAG_TLS_DTPMOD,
4184 BFD_RELOC_METAG_TLS_DTPOFF,
4185 BFD_RELOC_METAG_TLS_LE,
4186 BFD_RELOC_METAG_TLS_LE_HI16,
4187 BFD_RELOC_METAG_TLS_LE_LO16,
4188
4189
4190 BFD_RELOC_MMIX_GETA,
4191 BFD_RELOC_MMIX_GETA_1,
4192 BFD_RELOC_MMIX_GETA_2,
4193 BFD_RELOC_MMIX_GETA_3,
4194
4195
4196 BFD_RELOC_MMIX_CBRANCH,
4197 BFD_RELOC_MMIX_CBRANCH_J,
4198 BFD_RELOC_MMIX_CBRANCH_1,
4199 BFD_RELOC_MMIX_CBRANCH_2,
4200 BFD_RELOC_MMIX_CBRANCH_3,
4201
4202
4203 BFD_RELOC_MMIX_PUSHJ,
4204 BFD_RELOC_MMIX_PUSHJ_1,
4205 BFD_RELOC_MMIX_PUSHJ_2,
4206 BFD_RELOC_MMIX_PUSHJ_3,
4207 BFD_RELOC_MMIX_PUSHJ_STUBBABLE,
4208
4209
4210 BFD_RELOC_MMIX_JMP,
4211 BFD_RELOC_MMIX_JMP_1,
4212 BFD_RELOC_MMIX_JMP_2,
4213 BFD_RELOC_MMIX_JMP_3,
4214
4215
4216
4217 BFD_RELOC_MMIX_ADDR19,
4218
4219
4220 BFD_RELOC_MMIX_ADDR27,
4221
4222
4223
4224 BFD_RELOC_MMIX_REG_OR_BYTE,
4225
4226
4227
4228 BFD_RELOC_MMIX_REG,
4229
4230
4231
4232 BFD_RELOC_MMIX_BASE_PLUS_OFFSET,
4233
4234
4235
4236 BFD_RELOC_MMIX_LOCAL,
4237
4238
4239
4240 BFD_RELOC_AVR_7_PCREL,
4241
4242
4243
4244 BFD_RELOC_AVR_13_PCREL,
4245
4246
4247
4248 BFD_RELOC_AVR_16_PM,
4249
4250
4251
4252 BFD_RELOC_AVR_LO8_LDI,
4253
4254
4255
4256 BFD_RELOC_AVR_HI8_LDI,
4257
4258
4259
4260 BFD_RELOC_AVR_HH8_LDI,
4261
4262
4263
4264 BFD_RELOC_AVR_MS8_LDI,
4265
4266
4267
4268 BFD_RELOC_AVR_LO8_LDI_NEG,
4269
4270
4271
4272
4273 BFD_RELOC_AVR_HI8_LDI_NEG,
4274
4275
4276
4277
4278 BFD_RELOC_AVR_HH8_LDI_NEG,
4279
4280
4281
4282 BFD_RELOC_AVR_MS8_LDI_NEG,
4283
4284
4285
4286 BFD_RELOC_AVR_LO8_LDI_PM,
4287
4288
4289
4290
4291
4292 BFD_RELOC_AVR_LO8_LDI_GS,
4293
4294
4295
4296 BFD_RELOC_AVR_HI8_LDI_PM,
4297
4298
4299
4300
4301
4302 BFD_RELOC_AVR_HI8_LDI_GS,
4303
4304
4305
4306 BFD_RELOC_AVR_HH8_LDI_PM,
4307
4308
4309
4310 BFD_RELOC_AVR_LO8_LDI_PM_NEG,
4311
4312
4313
4314
4315 BFD_RELOC_AVR_HI8_LDI_PM_NEG,
4316
4317
4318
4319
4320 BFD_RELOC_AVR_HH8_LDI_PM_NEG,
4321
4322
4323
4324 BFD_RELOC_AVR_CALL,
4325
4326
4327
4328 BFD_RELOC_AVR_LDI,
4329
4330
4331
4332 BFD_RELOC_AVR_6,
4333
4334
4335
4336 BFD_RELOC_AVR_6_ADIW,
4337
4338
4339
4340 BFD_RELOC_AVR_8_LO,
4341
4342
4343
4344 BFD_RELOC_AVR_8_HI,
4345
4346
4347
4348 BFD_RELOC_AVR_8_HLO,
4349
4350
4351
4352
4353
4354
4355
4356 BFD_RELOC_AVR_DIFF8,
4357 BFD_RELOC_AVR_DIFF16,
4358 BFD_RELOC_AVR_DIFF32,
4359
4360
4361
4362 BFD_RELOC_AVR_LDS_STS_16,
4363
4364
4365
4366 BFD_RELOC_AVR_PORT6,
4367
4368
4369
4370 BFD_RELOC_AVR_PORT5,
4371
4372
4373 BFD_RELOC_RISCV_HI20,
4374 BFD_RELOC_RISCV_PCREL_HI20,
4375 BFD_RELOC_RISCV_PCREL_LO12_I,
4376 BFD_RELOC_RISCV_PCREL_LO12_S,
4377 BFD_RELOC_RISCV_LO12_I,
4378 BFD_RELOC_RISCV_LO12_S,
4379 BFD_RELOC_RISCV_GPREL12_I,
4380 BFD_RELOC_RISCV_GPREL12_S,
4381 BFD_RELOC_RISCV_TPREL_HI20,
4382 BFD_RELOC_RISCV_TPREL_LO12_I,
4383 BFD_RELOC_RISCV_TPREL_LO12_S,
4384 BFD_RELOC_RISCV_TPREL_ADD,
4385 BFD_RELOC_RISCV_CALL,
4386 BFD_RELOC_RISCV_CALL_PLT,
4387 BFD_RELOC_RISCV_ADD8,
4388 BFD_RELOC_RISCV_ADD16,
4389 BFD_RELOC_RISCV_ADD32,
4390 BFD_RELOC_RISCV_ADD64,
4391 BFD_RELOC_RISCV_SUB8,
4392 BFD_RELOC_RISCV_SUB16,
4393 BFD_RELOC_RISCV_SUB32,
4394 BFD_RELOC_RISCV_SUB64,
4395 BFD_RELOC_RISCV_GOT_HI20,
4396 BFD_RELOC_RISCV_TLS_GOT_HI20,
4397 BFD_RELOC_RISCV_TLS_GD_HI20,
4398 BFD_RELOC_RISCV_JMP,
4399 BFD_RELOC_RISCV_TLS_DTPMOD32,
4400 BFD_RELOC_RISCV_TLS_DTPREL32,
4401 BFD_RELOC_RISCV_TLS_DTPMOD64,
4402 BFD_RELOC_RISCV_TLS_DTPREL64,
4403 BFD_RELOC_RISCV_TLS_TPREL32,
4404 BFD_RELOC_RISCV_TLS_TPREL64,
4405 BFD_RELOC_RISCV_ALIGN,
4406 BFD_RELOC_RISCV_RVC_BRANCH,
4407 BFD_RELOC_RISCV_RVC_JUMP,
4408 BFD_RELOC_RISCV_RVC_LUI,
4409 BFD_RELOC_RISCV_GPREL_I,
4410 BFD_RELOC_RISCV_GPREL_S,
4411 BFD_RELOC_RISCV_TPREL_I,
4412 BFD_RELOC_RISCV_TPREL_S,
4413 BFD_RELOC_RISCV_RELAX,
4414 BFD_RELOC_RISCV_CFA,
4415 BFD_RELOC_RISCV_SUB6,
4416 BFD_RELOC_RISCV_SET6,
4417 BFD_RELOC_RISCV_SET8,
4418 BFD_RELOC_RISCV_SET16,
4419 BFD_RELOC_RISCV_SET32,
4420 BFD_RELOC_RISCV_32_PCREL,
4421
4422
4423 BFD_RELOC_RL78_NEG8,
4424 BFD_RELOC_RL78_NEG16,
4425 BFD_RELOC_RL78_NEG24,
4426 BFD_RELOC_RL78_NEG32,
4427 BFD_RELOC_RL78_16_OP,
4428 BFD_RELOC_RL78_24_OP,
4429 BFD_RELOC_RL78_32_OP,
4430 BFD_RELOC_RL78_8U,
4431 BFD_RELOC_RL78_16U,
4432 BFD_RELOC_RL78_24U,
4433 BFD_RELOC_RL78_DIR3U_PCREL,
4434 BFD_RELOC_RL78_DIFF,
4435 BFD_RELOC_RL78_GPRELB,
4436 BFD_RELOC_RL78_GPRELW,
4437 BFD_RELOC_RL78_GPRELL,
4438 BFD_RELOC_RL78_SYM,
4439 BFD_RELOC_RL78_OP_SUBTRACT,
4440 BFD_RELOC_RL78_OP_NEG,
4441 BFD_RELOC_RL78_OP_AND,
4442 BFD_RELOC_RL78_OP_SHRA,
4443 BFD_RELOC_RL78_ABS8,
4444 BFD_RELOC_RL78_ABS16,
4445 BFD_RELOC_RL78_ABS16_REV,
4446 BFD_RELOC_RL78_ABS32,
4447 BFD_RELOC_RL78_ABS32_REV,
4448 BFD_RELOC_RL78_ABS16U,
4449 BFD_RELOC_RL78_ABS16UW,
4450 BFD_RELOC_RL78_ABS16UL,
4451 BFD_RELOC_RL78_RELAX,
4452 BFD_RELOC_RL78_HI16,
4453 BFD_RELOC_RL78_HI8,
4454 BFD_RELOC_RL78_LO16,
4455 BFD_RELOC_RL78_CODE,
4456 BFD_RELOC_RL78_SADDR,
4457
4458
4459 BFD_RELOC_RX_NEG8,
4460 BFD_RELOC_RX_NEG16,
4461 BFD_RELOC_RX_NEG24,
4462 BFD_RELOC_RX_NEG32,
4463 BFD_RELOC_RX_16_OP,
4464 BFD_RELOC_RX_24_OP,
4465 BFD_RELOC_RX_32_OP,
4466 BFD_RELOC_RX_8U,
4467 BFD_RELOC_RX_16U,
4468 BFD_RELOC_RX_24U,
4469 BFD_RELOC_RX_DIR3U_PCREL,
4470 BFD_RELOC_RX_DIFF,
4471 BFD_RELOC_RX_GPRELB,
4472 BFD_RELOC_RX_GPRELW,
4473 BFD_RELOC_RX_GPRELL,
4474 BFD_RELOC_RX_SYM,
4475 BFD_RELOC_RX_OP_SUBTRACT,
4476 BFD_RELOC_RX_OP_NEG,
4477 BFD_RELOC_RX_ABS8,
4478 BFD_RELOC_RX_ABS16,
4479 BFD_RELOC_RX_ABS16_REV,
4480 BFD_RELOC_RX_ABS32,
4481 BFD_RELOC_RX_ABS32_REV,
4482 BFD_RELOC_RX_ABS16U,
4483 BFD_RELOC_RX_ABS16UW,
4484 BFD_RELOC_RX_ABS16UL,
4485 BFD_RELOC_RX_RELAX,
4486
4487
4488 BFD_RELOC_390_12,
4489
4490
4491 BFD_RELOC_390_GOT12,
4492
4493
4494 BFD_RELOC_390_PLT32,
4495
4496
4497 BFD_RELOC_390_COPY,
4498
4499
4500 BFD_RELOC_390_GLOB_DAT,
4501
4502
4503 BFD_RELOC_390_JMP_SLOT,
4504
4505
4506 BFD_RELOC_390_RELATIVE,
4507
4508
4509 BFD_RELOC_390_GOTPC,
4510
4511
4512 BFD_RELOC_390_GOT16,
4513
4514
4515 BFD_RELOC_390_PC12DBL,
4516
4517
4518 BFD_RELOC_390_PLT12DBL,
4519
4520
4521 BFD_RELOC_390_PC16DBL,
4522
4523
4524 BFD_RELOC_390_PLT16DBL,
4525
4526
4527 BFD_RELOC_390_PC24DBL,
4528
4529
4530 BFD_RELOC_390_PLT24DBL,
4531
4532
4533 BFD_RELOC_390_PC32DBL,
4534
4535
4536 BFD_RELOC_390_PLT32DBL,
4537
4538
4539 BFD_RELOC_390_GOTPCDBL,
4540
4541
4542 BFD_RELOC_390_GOT64,
4543
4544
4545 BFD_RELOC_390_PLT64,
4546
4547
4548 BFD_RELOC_390_GOTENT,
4549
4550
4551 BFD_RELOC_390_GOTOFF64,
4552
4553
4554 BFD_RELOC_390_GOTPLT12,
4555
4556
4557 BFD_RELOC_390_GOTPLT16,
4558
4559
4560 BFD_RELOC_390_GOTPLT32,
4561
4562
4563 BFD_RELOC_390_GOTPLT64,
4564
4565
4566 BFD_RELOC_390_GOTPLTENT,
4567
4568
4569 BFD_RELOC_390_PLTOFF16,
4570
4571
4572 BFD_RELOC_390_PLTOFF32,
4573
4574
4575 BFD_RELOC_390_PLTOFF64,
4576
4577
4578 BFD_RELOC_390_TLS_LOAD,
4579 BFD_RELOC_390_TLS_GDCALL,
4580 BFD_RELOC_390_TLS_LDCALL,
4581 BFD_RELOC_390_TLS_GD32,
4582 BFD_RELOC_390_TLS_GD64,
4583 BFD_RELOC_390_TLS_GOTIE12,
4584 BFD_RELOC_390_TLS_GOTIE32,
4585 BFD_RELOC_390_TLS_GOTIE64,
4586 BFD_RELOC_390_TLS_LDM32,
4587 BFD_RELOC_390_TLS_LDM64,
4588 BFD_RELOC_390_TLS_IE32,
4589 BFD_RELOC_390_TLS_IE64,
4590 BFD_RELOC_390_TLS_IEENT,
4591 BFD_RELOC_390_TLS_LE32,
4592 BFD_RELOC_390_TLS_LE64,
4593 BFD_RELOC_390_TLS_LDO32,
4594 BFD_RELOC_390_TLS_LDO64,
4595 BFD_RELOC_390_TLS_DTPMOD,
4596 BFD_RELOC_390_TLS_DTPOFF,
4597 BFD_RELOC_390_TLS_TPOFF,
4598
4599
4600 BFD_RELOC_390_20,
4601 BFD_RELOC_390_GOT20,
4602 BFD_RELOC_390_GOTPLT20,
4603 BFD_RELOC_390_TLS_GOTIE20,
4604
4605
4606 BFD_RELOC_390_IRELATIVE,
4607
4608
4609
4610 BFD_RELOC_SCORE_GPREL15,
4611
4612
4613 BFD_RELOC_SCORE_DUMMY2,
4614 BFD_RELOC_SCORE_JMP,
4615
4616
4617 BFD_RELOC_SCORE_BRANCH,
4618
4619
4620 BFD_RELOC_SCORE_IMM30,
4621
4622
4623 BFD_RELOC_SCORE_IMM32,
4624
4625
4626 BFD_RELOC_SCORE16_JMP,
4627
4628
4629 BFD_RELOC_SCORE16_BRANCH,
4630
4631
4632 BFD_RELOC_SCORE_BCMP,
4633
4634
4635 BFD_RELOC_SCORE_GOT15,
4636 BFD_RELOC_SCORE_GOT_LO16,
4637 BFD_RELOC_SCORE_CALL15,
4638 BFD_RELOC_SCORE_DUMMY_HI16,
4639
4640
4641 BFD_RELOC_IP2K_FR9,
4642
4643
4644 BFD_RELOC_IP2K_BANK,
4645
4646
4647 BFD_RELOC_IP2K_ADDR16CJP,
4648
4649
4650 BFD_RELOC_IP2K_PAGE3,
4651
4652
4653 BFD_RELOC_IP2K_LO8DATA,
4654 BFD_RELOC_IP2K_HI8DATA,
4655 BFD_RELOC_IP2K_EX8DATA,
4656
4657
4658 BFD_RELOC_IP2K_LO8INSN,
4659 BFD_RELOC_IP2K_HI8INSN,
4660
4661
4662 BFD_RELOC_IP2K_PC_SKIP,
4663
4664
4665 BFD_RELOC_IP2K_TEXT,
4666
4667
4668 BFD_RELOC_IP2K_FR_OFFSET,
4669
4670
4671 BFD_RELOC_VPE4KMATH_DATA,
4672 BFD_RELOC_VPE4KMATH_INSN,
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691 BFD_RELOC_VTABLE_INHERIT,
4692 BFD_RELOC_VTABLE_ENTRY,
4693
4694
4695 BFD_RELOC_IA64_IMM14,
4696 BFD_RELOC_IA64_IMM22,
4697 BFD_RELOC_IA64_IMM64,
4698 BFD_RELOC_IA64_DIR32MSB,
4699 BFD_RELOC_IA64_DIR32LSB,
4700 BFD_RELOC_IA64_DIR64MSB,
4701 BFD_RELOC_IA64_DIR64LSB,
4702 BFD_RELOC_IA64_GPREL22,
4703 BFD_RELOC_IA64_GPREL64I,
4704 BFD_RELOC_IA64_GPREL32MSB,
4705 BFD_RELOC_IA64_GPREL32LSB,
4706 BFD_RELOC_IA64_GPREL64MSB,
4707 BFD_RELOC_IA64_GPREL64LSB,
4708 BFD_RELOC_IA64_LTOFF22,
4709 BFD_RELOC_IA64_LTOFF64I,
4710 BFD_RELOC_IA64_PLTOFF22,
4711 BFD_RELOC_IA64_PLTOFF64I,
4712 BFD_RELOC_IA64_PLTOFF64MSB,
4713 BFD_RELOC_IA64_PLTOFF64LSB,
4714 BFD_RELOC_IA64_FPTR64I,
4715 BFD_RELOC_IA64_FPTR32MSB,
4716 BFD_RELOC_IA64_FPTR32LSB,
4717 BFD_RELOC_IA64_FPTR64MSB,
4718 BFD_RELOC_IA64_FPTR64LSB,
4719 BFD_RELOC_IA64_PCREL21B,
4720 BFD_RELOC_IA64_PCREL21BI,
4721 BFD_RELOC_IA64_PCREL21M,
4722 BFD_RELOC_IA64_PCREL21F,
4723 BFD_RELOC_IA64_PCREL22,
4724 BFD_RELOC_IA64_PCREL60B,
4725 BFD_RELOC_IA64_PCREL64I,
4726 BFD_RELOC_IA64_PCREL32MSB,
4727 BFD_RELOC_IA64_PCREL32LSB,
4728 BFD_RELOC_IA64_PCREL64MSB,
4729 BFD_RELOC_IA64_PCREL64LSB,
4730 BFD_RELOC_IA64_LTOFF_FPTR22,
4731 BFD_RELOC_IA64_LTOFF_FPTR64I,
4732 BFD_RELOC_IA64_LTOFF_FPTR32MSB,
4733 BFD_RELOC_IA64_LTOFF_FPTR32LSB,
4734 BFD_RELOC_IA64_LTOFF_FPTR64MSB,
4735 BFD_RELOC_IA64_LTOFF_FPTR64LSB,
4736 BFD_RELOC_IA64_SEGREL32MSB,
4737 BFD_RELOC_IA64_SEGREL32LSB,
4738 BFD_RELOC_IA64_SEGREL64MSB,
4739 BFD_RELOC_IA64_SEGREL64LSB,
4740 BFD_RELOC_IA64_SECREL32MSB,
4741 BFD_RELOC_IA64_SECREL32LSB,
4742 BFD_RELOC_IA64_SECREL64MSB,
4743 BFD_RELOC_IA64_SECREL64LSB,
4744 BFD_RELOC_IA64_REL32MSB,
4745 BFD_RELOC_IA64_REL32LSB,
4746 BFD_RELOC_IA64_REL64MSB,
4747 BFD_RELOC_IA64_REL64LSB,
4748 BFD_RELOC_IA64_LTV32MSB,
4749 BFD_RELOC_IA64_LTV32LSB,
4750 BFD_RELOC_IA64_LTV64MSB,
4751 BFD_RELOC_IA64_LTV64LSB,
4752 BFD_RELOC_IA64_IPLTMSB,
4753 BFD_RELOC_IA64_IPLTLSB,
4754 BFD_RELOC_IA64_COPY,
4755 BFD_RELOC_IA64_LTOFF22X,
4756 BFD_RELOC_IA64_LDXMOV,
4757 BFD_RELOC_IA64_TPREL14,
4758 BFD_RELOC_IA64_TPREL22,
4759 BFD_RELOC_IA64_TPREL64I,
4760 BFD_RELOC_IA64_TPREL64MSB,
4761 BFD_RELOC_IA64_TPREL64LSB,
4762 BFD_RELOC_IA64_LTOFF_TPREL22,
4763 BFD_RELOC_IA64_DTPMOD64MSB,
4764 BFD_RELOC_IA64_DTPMOD64LSB,
4765 BFD_RELOC_IA64_LTOFF_DTPMOD22,
4766 BFD_RELOC_IA64_DTPREL14,
4767 BFD_RELOC_IA64_DTPREL22,
4768 BFD_RELOC_IA64_DTPREL64I,
4769 BFD_RELOC_IA64_DTPREL32MSB,
4770 BFD_RELOC_IA64_DTPREL32LSB,
4771 BFD_RELOC_IA64_DTPREL64MSB,
4772 BFD_RELOC_IA64_DTPREL64LSB,
4773 BFD_RELOC_IA64_LTOFF_DTPREL22,
4774
4775
4776
4777 BFD_RELOC_M68HC11_HI8,
4778
4779
4780
4781 BFD_RELOC_M68HC11_LO8,
4782
4783
4784
4785 BFD_RELOC_M68HC11_3B,
4786
4787
4788
4789
4790
4791
4792 BFD_RELOC_M68HC11_RL_JUMP,
4793
4794
4795
4796
4797
4798 BFD_RELOC_M68HC11_RL_GROUP,
4799
4800
4801
4802
4803
4804 BFD_RELOC_M68HC11_LO16,
4805
4806
4807
4808
4809
4810 BFD_RELOC_M68HC11_PAGE,
4811
4812
4813
4814
4815
4816 BFD_RELOC_M68HC11_24,
4817
4818
4819
4820 BFD_RELOC_M68HC12_5B,
4821
4822
4823
4824 BFD_RELOC_XGATE_RL_JUMP,
4825
4826
4827
4828
4829
4830 BFD_RELOC_XGATE_RL_GROUP,
4831
4832
4833
4834
4835 BFD_RELOC_XGATE_LO16,
4836
4837
4838 BFD_RELOC_XGATE_GPAGE,
4839
4840
4841 BFD_RELOC_XGATE_24,
4842
4843
4844
4845 BFD_RELOC_XGATE_PCREL_9,
4846
4847
4848
4849 BFD_RELOC_XGATE_PCREL_10,
4850
4851
4852
4853
4854 BFD_RELOC_XGATE_IMM8_LO,
4855
4856
4857
4858
4859 BFD_RELOC_XGATE_IMM8_HI,
4860
4861
4862
4863 BFD_RELOC_XGATE_IMM3,
4864
4865
4866
4867 BFD_RELOC_XGATE_IMM4,
4868
4869
4870
4871 BFD_RELOC_XGATE_IMM5,
4872
4873
4874
4875 BFD_RELOC_M68HC12_9B,
4876
4877
4878
4879 BFD_RELOC_M68HC12_16B,
4880
4881
4882
4883 BFD_RELOC_M68HC12_9_PCREL,
4884
4885
4886
4887 BFD_RELOC_M68HC12_10_PCREL,
4888
4889
4890
4891
4892 BFD_RELOC_M68HC12_LO8XG,
4893
4894
4895
4896
4897 BFD_RELOC_M68HC12_HI8XG,
4898
4899
4900
4901
4902 BFD_RELOC_S12Z_15_PCREL,
4903
4904
4905 BFD_RELOC_CR16_NUM8,
4906 BFD_RELOC_CR16_NUM16,
4907 BFD_RELOC_CR16_NUM32,
4908 BFD_RELOC_CR16_NUM32a,
4909 BFD_RELOC_CR16_REGREL0,
4910 BFD_RELOC_CR16_REGREL4,
4911 BFD_RELOC_CR16_REGREL4a,
4912 BFD_RELOC_CR16_REGREL14,
4913 BFD_RELOC_CR16_REGREL14a,
4914 BFD_RELOC_CR16_REGREL16,
4915 BFD_RELOC_CR16_REGREL20,
4916 BFD_RELOC_CR16_REGREL20a,
4917 BFD_RELOC_CR16_ABS20,
4918 BFD_RELOC_CR16_ABS24,
4919 BFD_RELOC_CR16_IMM4,
4920 BFD_RELOC_CR16_IMM8,
4921 BFD_RELOC_CR16_IMM16,
4922 BFD_RELOC_CR16_IMM20,
4923 BFD_RELOC_CR16_IMM24,
4924 BFD_RELOC_CR16_IMM32,
4925 BFD_RELOC_CR16_IMM32a,
4926 BFD_RELOC_CR16_DISP4,
4927 BFD_RELOC_CR16_DISP8,
4928 BFD_RELOC_CR16_DISP16,
4929 BFD_RELOC_CR16_DISP20,
4930 BFD_RELOC_CR16_DISP24,
4931 BFD_RELOC_CR16_DISP24a,
4932 BFD_RELOC_CR16_SWITCH8,
4933 BFD_RELOC_CR16_SWITCH16,
4934 BFD_RELOC_CR16_SWITCH32,
4935 BFD_RELOC_CR16_GOT_REGREL20,
4936 BFD_RELOC_CR16_GOTC_REGREL20,
4937 BFD_RELOC_CR16_GLOB_DAT,
4938
4939
4940 BFD_RELOC_CRX_REL4,
4941 BFD_RELOC_CRX_REL8,
4942 BFD_RELOC_CRX_REL8_CMP,
4943 BFD_RELOC_CRX_REL16,
4944 BFD_RELOC_CRX_REL24,
4945 BFD_RELOC_CRX_REL32,
4946 BFD_RELOC_CRX_REGREL12,
4947 BFD_RELOC_CRX_REGREL22,
4948 BFD_RELOC_CRX_REGREL28,
4949 BFD_RELOC_CRX_REGREL32,
4950 BFD_RELOC_CRX_ABS16,
4951 BFD_RELOC_CRX_ABS32,
4952 BFD_RELOC_CRX_NUM8,
4953 BFD_RELOC_CRX_NUM16,
4954 BFD_RELOC_CRX_NUM32,
4955 BFD_RELOC_CRX_IMM16,
4956 BFD_RELOC_CRX_IMM32,
4957 BFD_RELOC_CRX_SWITCH8,
4958 BFD_RELOC_CRX_SWITCH16,
4959 BFD_RELOC_CRX_SWITCH32,
4960
4961
4962
4963 BFD_RELOC_CRIS_BDISP8,
4964 BFD_RELOC_CRIS_UNSIGNED_5,
4965 BFD_RELOC_CRIS_SIGNED_6,
4966 BFD_RELOC_CRIS_UNSIGNED_6,
4967 BFD_RELOC_CRIS_SIGNED_8,
4968 BFD_RELOC_CRIS_UNSIGNED_8,
4969 BFD_RELOC_CRIS_SIGNED_16,
4970 BFD_RELOC_CRIS_UNSIGNED_16,
4971 BFD_RELOC_CRIS_LAPCQ_OFFSET,
4972 BFD_RELOC_CRIS_UNSIGNED_4,
4973
4974
4975 BFD_RELOC_CRIS_COPY,
4976 BFD_RELOC_CRIS_GLOB_DAT,
4977 BFD_RELOC_CRIS_JUMP_SLOT,
4978 BFD_RELOC_CRIS_RELATIVE,
4979
4980
4981 BFD_RELOC_CRIS_32_GOT,
4982
4983
4984 BFD_RELOC_CRIS_16_GOT,
4985
4986
4987 BFD_RELOC_CRIS_32_GOTPLT,
4988
4989
4990 BFD_RELOC_CRIS_16_GOTPLT,
4991
4992
4993 BFD_RELOC_CRIS_32_GOTREL,
4994
4995
4996 BFD_RELOC_CRIS_32_PLT_GOTREL,
4997
4998
4999 BFD_RELOC_CRIS_32_PLT_PCREL,
5000
5001
5002 BFD_RELOC_CRIS_32_GOT_GD,
5003 BFD_RELOC_CRIS_16_GOT_GD,
5004 BFD_RELOC_CRIS_32_GD,
5005 BFD_RELOC_CRIS_DTP,
5006 BFD_RELOC_CRIS_32_DTPREL,
5007 BFD_RELOC_CRIS_16_DTPREL,
5008 BFD_RELOC_CRIS_32_GOT_TPREL,
5009 BFD_RELOC_CRIS_16_GOT_TPREL,
5010 BFD_RELOC_CRIS_32_TPREL,
5011 BFD_RELOC_CRIS_16_TPREL,
5012 BFD_RELOC_CRIS_DTPMOD,
5013 BFD_RELOC_CRIS_32_IE,
5014
5015
5016 BFD_RELOC_OR1K_REL_26,
5017 BFD_RELOC_OR1K_SLO16,
5018 BFD_RELOC_OR1K_PCREL_PG21,
5019 BFD_RELOC_OR1K_LO13,
5020 BFD_RELOC_OR1K_SLO13,
5021 BFD_RELOC_OR1K_GOTPC_HI16,
5022 BFD_RELOC_OR1K_GOTPC_LO16,
5023 BFD_RELOC_OR1K_GOT_AHI16,
5024 BFD_RELOC_OR1K_GOT16,
5025 BFD_RELOC_OR1K_GOT_PG21,
5026 BFD_RELOC_OR1K_GOT_LO13,
5027 BFD_RELOC_OR1K_PLT26,
5028 BFD_RELOC_OR1K_PLTA26,
5029 BFD_RELOC_OR1K_GOTOFF_SLO16,
5030 BFD_RELOC_OR1K_COPY,
5031 BFD_RELOC_OR1K_GLOB_DAT,
5032 BFD_RELOC_OR1K_JMP_SLOT,
5033 BFD_RELOC_OR1K_RELATIVE,
5034 BFD_RELOC_OR1K_TLS_GD_HI16,
5035 BFD_RELOC_OR1K_TLS_GD_LO16,
5036 BFD_RELOC_OR1K_TLS_GD_PG21,
5037 BFD_RELOC_OR1K_TLS_GD_LO13,
5038 BFD_RELOC_OR1K_TLS_LDM_HI16,
5039 BFD_RELOC_OR1K_TLS_LDM_LO16,
5040 BFD_RELOC_OR1K_TLS_LDM_PG21,
5041 BFD_RELOC_OR1K_TLS_LDM_LO13,
5042 BFD_RELOC_OR1K_TLS_LDO_HI16,
5043 BFD_RELOC_OR1K_TLS_LDO_LO16,
5044 BFD_RELOC_OR1K_TLS_IE_HI16,
5045 BFD_RELOC_OR1K_TLS_IE_AHI16,
5046 BFD_RELOC_OR1K_TLS_IE_LO16,
5047 BFD_RELOC_OR1K_TLS_IE_PG21,
5048 BFD_RELOC_OR1K_TLS_IE_LO13,
5049 BFD_RELOC_OR1K_TLS_LE_HI16,
5050 BFD_RELOC_OR1K_TLS_LE_AHI16,
5051 BFD_RELOC_OR1K_TLS_LE_LO16,
5052 BFD_RELOC_OR1K_TLS_LE_SLO16,
5053 BFD_RELOC_OR1K_TLS_TPOFF,
5054 BFD_RELOC_OR1K_TLS_DTPOFF,
5055 BFD_RELOC_OR1K_TLS_DTPMOD,
5056
5057
5058 BFD_RELOC_H8_DIR16A8,
5059 BFD_RELOC_H8_DIR16R8,
5060 BFD_RELOC_H8_DIR24A8,
5061 BFD_RELOC_H8_DIR24R8,
5062 BFD_RELOC_H8_DIR32A16,
5063 BFD_RELOC_H8_DISP32A16,
5064
5065
5066 BFD_RELOC_XSTORMY16_REL_12,
5067 BFD_RELOC_XSTORMY16_12,
5068 BFD_RELOC_XSTORMY16_24,
5069 BFD_RELOC_XSTORMY16_FPTR16,
5070
5071
5072 BFD_RELOC_RELC,
5073
5074
5075
5076 BFD_RELOC_XC16X_PAG,
5077 BFD_RELOC_XC16X_POF,
5078 BFD_RELOC_XC16X_SEG,
5079 BFD_RELOC_XC16X_SOF,
5080
5081
5082 BFD_RELOC_VAX_GLOB_DAT,
5083 BFD_RELOC_VAX_JMP_SLOT,
5084 BFD_RELOC_VAX_RELATIVE,
5085
5086
5087 BFD_RELOC_MT_PC16,
5088
5089
5090 BFD_RELOC_MT_HI16,
5091
5092
5093 BFD_RELOC_MT_LO16,
5094
5095
5096 BFD_RELOC_MT_GNU_VTINHERIT,
5097
5098
5099 BFD_RELOC_MT_GNU_VTENTRY,
5100
5101
5102 BFD_RELOC_MT_PCINSN8,
5103
5104
5105 BFD_RELOC_MSP430_10_PCREL,
5106 BFD_RELOC_MSP430_16_PCREL,
5107 BFD_RELOC_MSP430_16,
5108 BFD_RELOC_MSP430_16_PCREL_BYTE,
5109 BFD_RELOC_MSP430_16_BYTE,
5110 BFD_RELOC_MSP430_2X_PCREL,
5111 BFD_RELOC_MSP430_RL_PCREL,
5112 BFD_RELOC_MSP430_ABS8,
5113 BFD_RELOC_MSP430X_PCR20_EXT_SRC,
5114 BFD_RELOC_MSP430X_PCR20_EXT_DST,
5115 BFD_RELOC_MSP430X_PCR20_EXT_ODST,
5116 BFD_RELOC_MSP430X_ABS20_EXT_SRC,
5117 BFD_RELOC_MSP430X_ABS20_EXT_DST,
5118 BFD_RELOC_MSP430X_ABS20_EXT_ODST,
5119 BFD_RELOC_MSP430X_ABS20_ADR_SRC,
5120 BFD_RELOC_MSP430X_ABS20_ADR_DST,
5121 BFD_RELOC_MSP430X_PCR16,
5122 BFD_RELOC_MSP430X_PCR20_CALL,
5123 BFD_RELOC_MSP430X_ABS16,
5124 BFD_RELOC_MSP430_ABS_HI16,
5125 BFD_RELOC_MSP430_PREL31,
5126 BFD_RELOC_MSP430_SYM_DIFF,
5127 BFD_RELOC_MSP430_SET_ULEB128,
5128 BFD_RELOC_MSP430_SUB_ULEB128,
5129
5130
5131 BFD_RELOC_NIOS2_S16,
5132 BFD_RELOC_NIOS2_U16,
5133 BFD_RELOC_NIOS2_CALL26,
5134 BFD_RELOC_NIOS2_IMM5,
5135 BFD_RELOC_NIOS2_CACHE_OPX,
5136 BFD_RELOC_NIOS2_IMM6,
5137 BFD_RELOC_NIOS2_IMM8,
5138 BFD_RELOC_NIOS2_HI16,
5139 BFD_RELOC_NIOS2_LO16,
5140 BFD_RELOC_NIOS2_HIADJ16,
5141 BFD_RELOC_NIOS2_GPREL,
5142 BFD_RELOC_NIOS2_UJMP,
5143 BFD_RELOC_NIOS2_CJMP,
5144 BFD_RELOC_NIOS2_CALLR,
5145 BFD_RELOC_NIOS2_ALIGN,
5146 BFD_RELOC_NIOS2_GOT16,
5147 BFD_RELOC_NIOS2_CALL16,
5148 BFD_RELOC_NIOS2_GOTOFF_LO,
5149 BFD_RELOC_NIOS2_GOTOFF_HA,
5150 BFD_RELOC_NIOS2_PCREL_LO,
5151 BFD_RELOC_NIOS2_PCREL_HA,
5152 BFD_RELOC_NIOS2_TLS_GD16,
5153 BFD_RELOC_NIOS2_TLS_LDM16,
5154 BFD_RELOC_NIOS2_TLS_LDO16,
5155 BFD_RELOC_NIOS2_TLS_IE16,
5156 BFD_RELOC_NIOS2_TLS_LE16,
5157 BFD_RELOC_NIOS2_TLS_DTPMOD,
5158 BFD_RELOC_NIOS2_TLS_DTPREL,
5159 BFD_RELOC_NIOS2_TLS_TPREL,
5160 BFD_RELOC_NIOS2_COPY,
5161 BFD_RELOC_NIOS2_GLOB_DAT,
5162 BFD_RELOC_NIOS2_JUMP_SLOT,
5163 BFD_RELOC_NIOS2_RELATIVE,
5164 BFD_RELOC_NIOS2_GOTOFF,
5165 BFD_RELOC_NIOS2_CALL26_NOAT,
5166 BFD_RELOC_NIOS2_GOT_LO,
5167 BFD_RELOC_NIOS2_GOT_HA,
5168 BFD_RELOC_NIOS2_CALL_LO,
5169 BFD_RELOC_NIOS2_CALL_HA,
5170 BFD_RELOC_NIOS2_R2_S12,
5171 BFD_RELOC_NIOS2_R2_I10_1_PCREL,
5172 BFD_RELOC_NIOS2_R2_T1I7_1_PCREL,
5173 BFD_RELOC_NIOS2_R2_T1I7_2,
5174 BFD_RELOC_NIOS2_R2_T2I4,
5175 BFD_RELOC_NIOS2_R2_T2I4_1,
5176 BFD_RELOC_NIOS2_R2_T2I4_2,
5177 BFD_RELOC_NIOS2_R2_X1I7_2,
5178 BFD_RELOC_NIOS2_R2_X2L5,
5179 BFD_RELOC_NIOS2_R2_F1I5_2,
5180 BFD_RELOC_NIOS2_R2_L5I4X1,
5181 BFD_RELOC_NIOS2_R2_T1X1I6,
5182 BFD_RELOC_NIOS2_R2_T1X1I6_2,
5183
5184
5185 BFD_RELOC_PRU_U16,
5186
5187
5188 BFD_RELOC_PRU_U16_PMEMIMM,
5189
5190
5191
5192
5193 BFD_RELOC_PRU_LDI32,
5194
5195
5196 BFD_RELOC_PRU_S10_PCREL,
5197
5198
5199 BFD_RELOC_PRU_U8_PCREL,
5200
5201
5202
5203 BFD_RELOC_PRU_32_PMEM,
5204 BFD_RELOC_PRU_16_PMEM,
5205
5206
5207
5208
5209
5210
5211
5212
5213 BFD_RELOC_PRU_GNU_DIFF8,
5214 BFD_RELOC_PRU_GNU_DIFF16,
5215 BFD_RELOC_PRU_GNU_DIFF32,
5216 BFD_RELOC_PRU_GNU_DIFF16_PMEM,
5217 BFD_RELOC_PRU_GNU_DIFF32_PMEM,
5218
5219
5220 BFD_RELOC_IQ2000_OFFSET_16,
5221 BFD_RELOC_IQ2000_OFFSET_21,
5222 BFD_RELOC_IQ2000_UHI16,
5223
5224
5225
5226
5227 BFD_RELOC_XTENSA_RTLD,
5228
5229
5230 BFD_RELOC_XTENSA_GLOB_DAT,
5231 BFD_RELOC_XTENSA_JMP_SLOT,
5232 BFD_RELOC_XTENSA_RELATIVE,
5233
5234
5235
5236 BFD_RELOC_XTENSA_PLT,
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246 BFD_RELOC_XTENSA_DIFF8,
5247 BFD_RELOC_XTENSA_DIFF16,
5248 BFD_RELOC_XTENSA_DIFF32,
5249
5250
5251
5252
5253
5254 BFD_RELOC_XTENSA_SLOT0_OP,
5255 BFD_RELOC_XTENSA_SLOT1_OP,
5256 BFD_RELOC_XTENSA_SLOT2_OP,
5257 BFD_RELOC_XTENSA_SLOT3_OP,
5258 BFD_RELOC_XTENSA_SLOT4_OP,
5259 BFD_RELOC_XTENSA_SLOT5_OP,
5260 BFD_RELOC_XTENSA_SLOT6_OP,
5261 BFD_RELOC_XTENSA_SLOT7_OP,
5262 BFD_RELOC_XTENSA_SLOT8_OP,
5263 BFD_RELOC_XTENSA_SLOT9_OP,
5264 BFD_RELOC_XTENSA_SLOT10_OP,
5265 BFD_RELOC_XTENSA_SLOT11_OP,
5266 BFD_RELOC_XTENSA_SLOT12_OP,
5267 BFD_RELOC_XTENSA_SLOT13_OP,
5268 BFD_RELOC_XTENSA_SLOT14_OP,
5269
5270
5271
5272 BFD_RELOC_XTENSA_SLOT0_ALT,
5273 BFD_RELOC_XTENSA_SLOT1_ALT,
5274 BFD_RELOC_XTENSA_SLOT2_ALT,
5275 BFD_RELOC_XTENSA_SLOT3_ALT,
5276 BFD_RELOC_XTENSA_SLOT4_ALT,
5277 BFD_RELOC_XTENSA_SLOT5_ALT,
5278 BFD_RELOC_XTENSA_SLOT6_ALT,
5279 BFD_RELOC_XTENSA_SLOT7_ALT,
5280 BFD_RELOC_XTENSA_SLOT8_ALT,
5281 BFD_RELOC_XTENSA_SLOT9_ALT,
5282 BFD_RELOC_XTENSA_SLOT10_ALT,
5283 BFD_RELOC_XTENSA_SLOT11_ALT,
5284 BFD_RELOC_XTENSA_SLOT12_ALT,
5285 BFD_RELOC_XTENSA_SLOT13_ALT,
5286 BFD_RELOC_XTENSA_SLOT14_ALT,
5287
5288
5289
5290 BFD_RELOC_XTENSA_OP0,
5291 BFD_RELOC_XTENSA_OP1,
5292 BFD_RELOC_XTENSA_OP2,
5293
5294
5295
5296
5297 BFD_RELOC_XTENSA_ASM_EXPAND,
5298
5299
5300
5301
5302
5303 BFD_RELOC_XTENSA_ASM_SIMPLIFY,
5304
5305
5306 BFD_RELOC_XTENSA_TLSDESC_FN,
5307 BFD_RELOC_XTENSA_TLSDESC_ARG,
5308 BFD_RELOC_XTENSA_TLS_DTPOFF,
5309 BFD_RELOC_XTENSA_TLS_TPOFF,
5310 BFD_RELOC_XTENSA_TLS_FUNC,
5311 BFD_RELOC_XTENSA_TLS_ARG,
5312 BFD_RELOC_XTENSA_TLS_CALL,
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323 BFD_RELOC_XTENSA_PDIFF8,
5324 BFD_RELOC_XTENSA_PDIFF16,
5325 BFD_RELOC_XTENSA_PDIFF32,
5326 BFD_RELOC_XTENSA_NDIFF8,
5327 BFD_RELOC_XTENSA_NDIFF16,
5328 BFD_RELOC_XTENSA_NDIFF32,
5329
5330
5331 BFD_RELOC_Z80_DISP8,
5332
5333
5334 BFD_RELOC_Z80_BYTE0,
5335
5336
5337 BFD_RELOC_Z80_BYTE1,
5338
5339
5340 BFD_RELOC_Z80_BYTE2,
5341
5342
5343 BFD_RELOC_Z80_BYTE3,
5344
5345
5346 BFD_RELOC_Z80_WORD0,
5347
5348
5349 BFD_RELOC_Z80_WORD1,
5350
5351
5352 BFD_RELOC_Z80_16_BE,
5353
5354
5355 BFD_RELOC_Z8K_DISP7,
5356
5357
5358 BFD_RELOC_Z8K_CALLR,
5359
5360
5361 BFD_RELOC_Z8K_IMM4L,
5362
5363
5364 BFD_RELOC_LM32_CALL,
5365 BFD_RELOC_LM32_BRANCH,
5366 BFD_RELOC_LM32_16_GOT,
5367 BFD_RELOC_LM32_GOTOFF_HI16,
5368 BFD_RELOC_LM32_GOTOFF_LO16,
5369 BFD_RELOC_LM32_COPY,
5370 BFD_RELOC_LM32_GLOB_DAT,
5371 BFD_RELOC_LM32_JMP_SLOT,
5372 BFD_RELOC_LM32_RELATIVE,
5373
5374
5375
5376 BFD_RELOC_MACH_O_SECTDIFF,
5377
5378
5379 BFD_RELOC_MACH_O_LOCAL_SECTDIFF,
5380
5381
5382 BFD_RELOC_MACH_O_PAIR,
5383
5384
5385 BFD_RELOC_MACH_O_SUBTRACTOR32,
5386
5387
5388 BFD_RELOC_MACH_O_SUBTRACTOR64,
5389
5390
5391
5392 BFD_RELOC_MACH_O_X86_64_BRANCH32,
5393 BFD_RELOC_MACH_O_X86_64_BRANCH8,
5394
5395
5396 BFD_RELOC_MACH_O_X86_64_GOT,
5397
5398
5399
5400 BFD_RELOC_MACH_O_X86_64_GOT_LOAD,
5401
5402
5403 BFD_RELOC_MACH_O_X86_64_PCREL32_1,
5404
5405
5406 BFD_RELOC_MACH_O_X86_64_PCREL32_2,
5407
5408
5409 BFD_RELOC_MACH_O_X86_64_PCREL32_4,
5410
5411
5412 BFD_RELOC_MACH_O_X86_64_TLV,
5413
5414
5415 BFD_RELOC_MACH_O_ARM64_ADDEND,
5416
5417
5418 BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21,
5419
5420
5421 BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12,
5422
5423
5424 BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT,
5425
5426
5427
5428 BFD_RELOC_MICROBLAZE_32_LO,
5429
5430
5431
5432 BFD_RELOC_MICROBLAZE_32_LO_PCREL,
5433
5434
5435
5436 BFD_RELOC_MICROBLAZE_32_ROSDA,
5437
5438
5439
5440 BFD_RELOC_MICROBLAZE_32_RWSDA,
5441
5442
5443
5444 BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM,
5445
5446
5447
5448
5449 BFD_RELOC_MICROBLAZE_64_NONE,
5450
5451
5452
5453
5454 BFD_RELOC_MICROBLAZE_64_GOTPC,
5455
5456
5457
5458
5459 BFD_RELOC_MICROBLAZE_64_GOT,
5460
5461
5462
5463
5464 BFD_RELOC_MICROBLAZE_64_PLT,
5465
5466
5467
5468
5469 BFD_RELOC_MICROBLAZE_64_GOTOFF,
5470
5471
5472
5473 BFD_RELOC_MICROBLAZE_32_GOTOFF,
5474
5475
5476
5477 BFD_RELOC_MICROBLAZE_COPY,
5478
5479
5480 BFD_RELOC_MICROBLAZE_64_TLS,
5481
5482
5483
5484
5485 BFD_RELOC_MICROBLAZE_64_TLSGD,
5486
5487
5488
5489
5490 BFD_RELOC_MICROBLAZE_64_TLSLD,
5491
5492
5493 BFD_RELOC_MICROBLAZE_32_TLSDTPMOD,
5494
5495
5496 BFD_RELOC_MICROBLAZE_32_TLSDTPREL,
5497
5498
5499
5500 BFD_RELOC_MICROBLAZE_64_TLSDTPREL,
5501
5502
5503
5504 BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL,
5505
5506
5507
5508 BFD_RELOC_MICROBLAZE_64_TLSTPREL,
5509
5510
5511
5512
5513 BFD_RELOC_MICROBLAZE_64_TEXTPCREL,
5514
5515
5516
5517
5518 BFD_RELOC_MICROBLAZE_64_TEXTREL,
5519
5520
5521
5522
5523
5524 BFD_RELOC_AARCH64_RELOC_START,
5525
5526
5527 BFD_RELOC_AARCH64_NULL,
5528
5529
5530 BFD_RELOC_AARCH64_NONE,
5531
5532
5533
5534
5535 BFD_RELOC_AARCH64_64,
5536 BFD_RELOC_AARCH64_32,
5537 BFD_RELOC_AARCH64_16,
5538
5539
5540
5541 BFD_RELOC_AARCH64_64_PCREL,
5542 BFD_RELOC_AARCH64_32_PCREL,
5543 BFD_RELOC_AARCH64_16_PCREL,
5544
5545
5546
5547 BFD_RELOC_AARCH64_MOVW_G0,
5548
5549
5550
5551 BFD_RELOC_AARCH64_MOVW_G0_NC,
5552
5553
5554
5555 BFD_RELOC_AARCH64_MOVW_G1,
5556
5557
5558
5559 BFD_RELOC_AARCH64_MOVW_G1_NC,
5560
5561
5562
5563 BFD_RELOC_AARCH64_MOVW_G2,
5564
5565
5566
5567 BFD_RELOC_AARCH64_MOVW_G2_NC,
5568
5569
5570
5571 BFD_RELOC_AARCH64_MOVW_G3,
5572
5573
5574
5575
5576 BFD_RELOC_AARCH64_MOVW_G0_S,
5577
5578
5579
5580
5581 BFD_RELOC_AARCH64_MOVW_G1_S,
5582
5583
5584
5585
5586 BFD_RELOC_AARCH64_MOVW_G2_S,
5587
5588
5589
5590
5591 BFD_RELOC_AARCH64_MOVW_PREL_G0,
5592
5593
5594
5595
5596 BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
5597
5598
5599
5600 BFD_RELOC_AARCH64_MOVW_PREL_G1,
5601
5602
5603
5604 BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
5605
5606
5607
5608 BFD_RELOC_AARCH64_MOVW_PREL_G2,
5609
5610
5611
5612 BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
5613
5614
5615
5616 BFD_RELOC_AARCH64_MOVW_PREL_G3,
5617
5618
5619
5620
5621 BFD_RELOC_AARCH64_LD_LO19_PCREL,
5622
5623
5624 BFD_RELOC_AARCH64_ADR_LO21_PCREL,
5625
5626
5627
5628 BFD_RELOC_AARCH64_ADR_HI21_PCREL,
5629
5630
5631
5632
5633 BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL,
5634
5635
5636
5637 BFD_RELOC_AARCH64_ADD_LO12,
5638
5639
5640
5641 BFD_RELOC_AARCH64_LDST8_LO12,
5642
5643
5644
5645
5646 BFD_RELOC_AARCH64_TSTBR14,
5647
5648
5649
5650
5651 BFD_RELOC_AARCH64_BRANCH19,
5652
5653
5654
5655
5656 BFD_RELOC_AARCH64_JUMP26,
5657
5658
5659
5660
5661 BFD_RELOC_AARCH64_CALL26,
5662
5663
5664
5665 BFD_RELOC_AARCH64_LDST16_LO12,
5666
5667
5668
5669 BFD_RELOC_AARCH64_LDST32_LO12,
5670
5671
5672
5673 BFD_RELOC_AARCH64_LDST64_LO12,
5674
5675
5676
5677 BFD_RELOC_AARCH64_LDST128_LO12,
5678
5679
5680
5681
5682
5683
5684 BFD_RELOC_AARCH64_GOT_LD_PREL19,
5685
5686
5687
5688
5689 BFD_RELOC_AARCH64_ADR_GOT_PAGE,
5690
5691
5692
5693
5694 BFD_RELOC_AARCH64_LD64_GOT_LO12_NC,
5695
5696
5697
5698
5699 BFD_RELOC_AARCH64_LD32_GOT_LO12_NC,
5700
5701
5702
5703 BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC,
5704
5705
5706
5707 BFD_RELOC_AARCH64_MOVW_GOTOFF_G1,
5708
5709
5710
5711 BFD_RELOC_AARCH64_LD64_GOTOFF_LO15,
5712
5713
5714 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14,
5715
5716
5717 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15,
5718
5719
5720
5721
5722
5723 BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21,
5724
5725
5726 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21,
5727
5728
5729
5730
5731 BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC,
5732
5733
5734 BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC,
5735
5736
5737 BFD_RELOC_AARCH64_TLSGD_MOVW_G1,
5738
5739
5740 BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21,
5741
5742
5743 BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC,
5744
5745
5746 BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC,
5747
5748
5749 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19,
5750
5751
5752 BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC,
5753
5754
5755 BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1,
5756
5757
5758 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
5759
5760
5761 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12,
5762
5763
5764 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC,
5765
5766
5767
5768
5769 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC,
5770
5771
5772
5773 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21,
5774
5775
5776 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21,
5777
5778
5779
5780 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
5781
5782
5783 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
5784
5785
5786
5787 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
5788
5789
5790 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
5791
5792
5793
5794 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
5795
5796
5797 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
5798
5799
5800
5801 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
5802
5803
5804 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC,
5805
5806
5807 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
5808
5809
5810 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
5811
5812
5813 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
5814
5815
5816 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
5817
5818
5819 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2,
5820
5821
5822 BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2,
5823
5824
5825 BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1,
5826
5827
5828 BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC,
5829
5830
5831 BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0,
5832
5833
5834 BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC,
5835
5836
5837 BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12,
5838
5839
5840 BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12,
5841
5842
5843 BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC,
5844
5845
5846
5847 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
5848
5849
5850 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
5851
5852
5853
5854 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
5855
5856
5857 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
5858
5859
5860
5861 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
5862
5863
5864 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
5865
5866
5867
5868 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
5869
5870
5871 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC,
5872
5873
5874 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19,
5875
5876
5877 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21,
5878
5879
5880 BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21,
5881
5882
5883 BFD_RELOC_AARCH64_TLSDESC_LD64_LO12,
5884
5885
5886 BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC,
5887
5888
5889 BFD_RELOC_AARCH64_TLSDESC_ADD_LO12,
5890
5891
5892 BFD_RELOC_AARCH64_TLSDESC_OFF_G1,
5893
5894
5895 BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC,
5896
5897
5898 BFD_RELOC_AARCH64_TLSDESC_LDR,
5899
5900
5901 BFD_RELOC_AARCH64_TLSDESC_ADD,
5902
5903
5904 BFD_RELOC_AARCH64_TLSDESC_CALL,
5905
5906
5907 BFD_RELOC_AARCH64_COPY,
5908
5909
5910 BFD_RELOC_AARCH64_GLOB_DAT,
5911
5912
5913 BFD_RELOC_AARCH64_JUMP_SLOT,
5914
5915
5916 BFD_RELOC_AARCH64_RELATIVE,
5917
5918
5919 BFD_RELOC_AARCH64_TLS_DTPMOD,
5920
5921
5922 BFD_RELOC_AARCH64_TLS_DTPREL,
5923
5924
5925 BFD_RELOC_AARCH64_TLS_TPREL,
5926
5927
5928 BFD_RELOC_AARCH64_TLSDESC,
5929
5930
5931 BFD_RELOC_AARCH64_IRELATIVE,
5932
5933
5934
5935
5936
5937
5938 BFD_RELOC_AARCH64_RELOC_END,
5939
5940
5941
5942 BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP,
5943
5944
5945
5946 BFD_RELOC_AARCH64_LDST_LO12,
5947
5948
5949
5950
5951 BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12,
5952
5953
5954 BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC,
5955
5956
5957
5958
5959 BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12,
5960
5961
5962 BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC,
5963
5964
5965
5966 BFD_RELOC_AARCH64_LD_GOT_LO12_NC,
5967
5968
5969
5970 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC,
5971
5972
5973
5974 BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC,
5975
5976
5977 BFD_RELOC_TILEPRO_COPY,
5978 BFD_RELOC_TILEPRO_GLOB_DAT,
5979 BFD_RELOC_TILEPRO_JMP_SLOT,
5980 BFD_RELOC_TILEPRO_RELATIVE,
5981 BFD_RELOC_TILEPRO_BROFF_X1,
5982 BFD_RELOC_TILEPRO_JOFFLONG_X1,
5983 BFD_RELOC_TILEPRO_JOFFLONG_X1_PLT,
5984 BFD_RELOC_TILEPRO_IMM8_X0,
5985 BFD_RELOC_TILEPRO_IMM8_Y0,
5986 BFD_RELOC_TILEPRO_IMM8_X1,
5987 BFD_RELOC_TILEPRO_IMM8_Y1,
5988 BFD_RELOC_TILEPRO_DEST_IMM8_X1,
5989 BFD_RELOC_TILEPRO_MT_IMM15_X1,
5990 BFD_RELOC_TILEPRO_MF_IMM15_X1,
5991 BFD_RELOC_TILEPRO_IMM16_X0,
5992 BFD_RELOC_TILEPRO_IMM16_X1,
5993 BFD_RELOC_TILEPRO_IMM16_X0_LO,
5994 BFD_RELOC_TILEPRO_IMM16_X1_LO,
5995 BFD_RELOC_TILEPRO_IMM16_X0_HI,
5996 BFD_RELOC_TILEPRO_IMM16_X1_HI,
5997 BFD_RELOC_TILEPRO_IMM16_X0_HA,
5998 BFD_RELOC_TILEPRO_IMM16_X1_HA,
5999 BFD_RELOC_TILEPRO_IMM16_X0_PCREL,
6000 BFD_RELOC_TILEPRO_IMM16_X1_PCREL,
6001 BFD_RELOC_TILEPRO_IMM16_X0_LO_PCREL,
6002 BFD_RELOC_TILEPRO_IMM16_X1_LO_PCREL,
6003 BFD_RELOC_TILEPRO_IMM16_X0_HI_PCREL,
6004 BFD_RELOC_TILEPRO_IMM16_X1_HI_PCREL,
6005 BFD_RELOC_TILEPRO_IMM16_X0_HA_PCREL,
6006 BFD_RELOC_TILEPRO_IMM16_X1_HA_PCREL,
6007 BFD_RELOC_TILEPRO_IMM16_X0_GOT,
6008 BFD_RELOC_TILEPRO_IMM16_X1_GOT,
6009 BFD_RELOC_TILEPRO_IMM16_X0_GOT_LO,
6010 BFD_RELOC_TILEPRO_IMM16_X1_GOT_LO,
6011 BFD_RELOC_TILEPRO_IMM16_X0_GOT_HI,
6012 BFD_RELOC_TILEPRO_IMM16_X1_GOT_HI,
6013 BFD_RELOC_TILEPRO_IMM16_X0_GOT_HA,
6014 BFD_RELOC_TILEPRO_IMM16_X1_GOT_HA,
6015 BFD_RELOC_TILEPRO_MMSTART_X0,
6016 BFD_RELOC_TILEPRO_MMEND_X0,
6017 BFD_RELOC_TILEPRO_MMSTART_X1,
6018 BFD_RELOC_TILEPRO_MMEND_X1,
6019 BFD_RELOC_TILEPRO_SHAMT_X0,
6020 BFD_RELOC_TILEPRO_SHAMT_X1,
6021 BFD_RELOC_TILEPRO_SHAMT_Y0,
6022 BFD_RELOC_TILEPRO_SHAMT_Y1,
6023 BFD_RELOC_TILEPRO_TLS_GD_CALL,
6024 BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD,
6025 BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD,
6026 BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD,
6027 BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD,
6028 BFD_RELOC_TILEPRO_TLS_IE_LOAD,
6029 BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD,
6030 BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD,
6031 BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO,
6032 BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO,
6033 BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI,
6034 BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HI,
6035 BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HA,
6036 BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HA,
6037 BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE,
6038 BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE,
6039 BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_LO,
6040 BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_LO,
6041 BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HI,
6042 BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HI,
6043 BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA,
6044 BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA,
6045 BFD_RELOC_TILEPRO_TLS_DTPMOD32,
6046 BFD_RELOC_TILEPRO_TLS_DTPOFF32,
6047 BFD_RELOC_TILEPRO_TLS_TPOFF32,
6048 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE,
6049 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE,
6050 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO,
6051 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO,
6052 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI,
6053 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI,
6054 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA,
6055 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA,
6056
6057
6058 BFD_RELOC_TILEGX_HW0,
6059 BFD_RELOC_TILEGX_HW1,
6060 BFD_RELOC_TILEGX_HW2,
6061 BFD_RELOC_TILEGX_HW3,
6062 BFD_RELOC_TILEGX_HW0_LAST,
6063 BFD_RELOC_TILEGX_HW1_LAST,
6064 BFD_RELOC_TILEGX_HW2_LAST,
6065 BFD_RELOC_TILEGX_COPY,
6066 BFD_RELOC_TILEGX_GLOB_DAT,
6067 BFD_RELOC_TILEGX_JMP_SLOT,
6068 BFD_RELOC_TILEGX_RELATIVE,
6069 BFD_RELOC_TILEGX_BROFF_X1,
6070 BFD_RELOC_TILEGX_JUMPOFF_X1,
6071 BFD_RELOC_TILEGX_JUMPOFF_X1_PLT,
6072 BFD_RELOC_TILEGX_IMM8_X0,
6073 BFD_RELOC_TILEGX_IMM8_Y0,
6074 BFD_RELOC_TILEGX_IMM8_X1,
6075 BFD_RELOC_TILEGX_IMM8_Y1,
6076 BFD_RELOC_TILEGX_DEST_IMM8_X1,
6077 BFD_RELOC_TILEGX_MT_IMM14_X1,
6078 BFD_RELOC_TILEGX_MF_IMM14_X1,
6079 BFD_RELOC_TILEGX_MMSTART_X0,
6080 BFD_RELOC_TILEGX_MMEND_X0,
6081 BFD_RELOC_TILEGX_SHAMT_X0,
6082 BFD_RELOC_TILEGX_SHAMT_X1,
6083 BFD_RELOC_TILEGX_SHAMT_Y0,
6084 BFD_RELOC_TILEGX_SHAMT_Y1,
6085 BFD_RELOC_TILEGX_IMM16_X0_HW0,
6086 BFD_RELOC_TILEGX_IMM16_X1_HW0,
6087 BFD_RELOC_TILEGX_IMM16_X0_HW1,
6088 BFD_RELOC_TILEGX_IMM16_X1_HW1,
6089 BFD_RELOC_TILEGX_IMM16_X0_HW2,
6090 BFD_RELOC_TILEGX_IMM16_X1_HW2,
6091 BFD_RELOC_TILEGX_IMM16_X0_HW3,
6092 BFD_RELOC_TILEGX_IMM16_X1_HW3,
6093 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST,
6094 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST,
6095 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST,
6096 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST,
6097 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST,
6098 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST,
6099 BFD_RELOC_TILEGX_IMM16_X0_HW0_PCREL,
6100 BFD_RELOC_TILEGX_IMM16_X1_HW0_PCREL,
6101 BFD_RELOC_TILEGX_IMM16_X0_HW1_PCREL,
6102 BFD_RELOC_TILEGX_IMM16_X1_HW1_PCREL,
6103 BFD_RELOC_TILEGX_IMM16_X0_HW2_PCREL,
6104 BFD_RELOC_TILEGX_IMM16_X1_HW2_PCREL,
6105 BFD_RELOC_TILEGX_IMM16_X0_HW3_PCREL,
6106 BFD_RELOC_TILEGX_IMM16_X1_HW3_PCREL,
6107 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PCREL,
6108 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PCREL,
6109 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PCREL,
6110 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL,
6111 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL,
6112 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL,
6113 BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT,
6114 BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT,
6115 BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL,
6116 BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL,
6117 BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL,
6118 BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL,
6119 BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL,
6120 BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL,
6121 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT,
6122 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT,
6123 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT,
6124 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT,
6125 BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL,
6126 BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL,
6127 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD,
6128 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD,
6129 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE,
6130 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE,
6131 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE,
6132 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE,
6133 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE,
6134 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE,
6135 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD,
6136 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD,
6137 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD,
6138 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD,
6139 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE,
6140 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE,
6141 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL,
6142 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL,
6143 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL,
6144 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL,
6145 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL,
6146 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL,
6147 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE,
6148 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE,
6149 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE,
6150 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE,
6151 BFD_RELOC_TILEGX_TLS_DTPMOD64,
6152 BFD_RELOC_TILEGX_TLS_DTPOFF64,
6153 BFD_RELOC_TILEGX_TLS_TPOFF64,
6154 BFD_RELOC_TILEGX_TLS_DTPMOD32,
6155 BFD_RELOC_TILEGX_TLS_DTPOFF32,
6156 BFD_RELOC_TILEGX_TLS_TPOFF32,
6157 BFD_RELOC_TILEGX_TLS_GD_CALL,
6158 BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD,
6159 BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD,
6160 BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD,
6161 BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD,
6162 BFD_RELOC_TILEGX_TLS_IE_LOAD,
6163 BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD,
6164 BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD,
6165 BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD,
6166 BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD,
6167
6168
6169 BFD_RELOC_BPF_64,
6170 BFD_RELOC_BPF_32,
6171 BFD_RELOC_BPF_16,
6172 BFD_RELOC_BPF_DISP16,
6173 BFD_RELOC_BPF_DISP32,
6174
6175
6176 BFD_RELOC_EPIPHANY_SIMM8,
6177
6178
6179 BFD_RELOC_EPIPHANY_SIMM24,
6180
6181
6182 BFD_RELOC_EPIPHANY_HIGH,
6183
6184
6185 BFD_RELOC_EPIPHANY_LOW,
6186
6187
6188 BFD_RELOC_EPIPHANY_SIMM11,
6189
6190
6191 BFD_RELOC_EPIPHANY_IMM11,
6192
6193
6194 BFD_RELOC_EPIPHANY_IMM8,
6195
6196
6197 BFD_RELOC_VISIUM_HI16,
6198 BFD_RELOC_VISIUM_LO16,
6199 BFD_RELOC_VISIUM_IM16,
6200 BFD_RELOC_VISIUM_REL16,
6201 BFD_RELOC_VISIUM_HI16_PCREL,
6202 BFD_RELOC_VISIUM_LO16_PCREL,
6203 BFD_RELOC_VISIUM_IM16_PCREL,
6204
6205
6206 BFD_RELOC_WASM32_LEB128,
6207 BFD_RELOC_WASM32_LEB128_GOT,
6208 BFD_RELOC_WASM32_LEB128_GOT_CODE,
6209 BFD_RELOC_WASM32_LEB128_PLT,
6210 BFD_RELOC_WASM32_PLT_INDEX,
6211 BFD_RELOC_WASM32_ABS32_CODE,
6212 BFD_RELOC_WASM32_COPY,
6213 BFD_RELOC_WASM32_CODE_POINTER,
6214 BFD_RELOC_WASM32_INDEX,
6215 BFD_RELOC_WASM32_PLT_SIG,
6216
6217
6218 BFD_RELOC_CKCORE_NONE,
6219 BFD_RELOC_CKCORE_ADDR32,
6220 BFD_RELOC_CKCORE_PCREL_IMM8BY4,
6221 BFD_RELOC_CKCORE_PCREL_IMM11BY2,
6222 BFD_RELOC_CKCORE_PCREL_IMM4BY2,
6223 BFD_RELOC_CKCORE_PCREL32,
6224 BFD_RELOC_CKCORE_PCREL_JSR_IMM11BY2,
6225 BFD_RELOC_CKCORE_GNU_VTINHERIT,
6226 BFD_RELOC_CKCORE_GNU_VTENTRY,
6227 BFD_RELOC_CKCORE_RELATIVE,
6228 BFD_RELOC_CKCORE_COPY,
6229 BFD_RELOC_CKCORE_GLOB_DAT,
6230 BFD_RELOC_CKCORE_JUMP_SLOT,
6231 BFD_RELOC_CKCORE_GOTOFF,
6232 BFD_RELOC_CKCORE_GOTPC,
6233 BFD_RELOC_CKCORE_GOT32,
6234 BFD_RELOC_CKCORE_PLT32,
6235 BFD_RELOC_CKCORE_ADDRGOT,
6236 BFD_RELOC_CKCORE_ADDRPLT,
6237 BFD_RELOC_CKCORE_PCREL_IMM26BY2,
6238 BFD_RELOC_CKCORE_PCREL_IMM16BY2,
6239 BFD_RELOC_CKCORE_PCREL_IMM16BY4,
6240 BFD_RELOC_CKCORE_PCREL_IMM10BY2,
6241 BFD_RELOC_CKCORE_PCREL_IMM10BY4,
6242 BFD_RELOC_CKCORE_ADDR_HI16,
6243 BFD_RELOC_CKCORE_ADDR_LO16,
6244 BFD_RELOC_CKCORE_GOTPC_HI16,
6245 BFD_RELOC_CKCORE_GOTPC_LO16,
6246 BFD_RELOC_CKCORE_GOTOFF_HI16,
6247 BFD_RELOC_CKCORE_GOTOFF_LO16,
6248 BFD_RELOC_CKCORE_GOT12,
6249 BFD_RELOC_CKCORE_GOT_HI16,
6250 BFD_RELOC_CKCORE_GOT_LO16,
6251 BFD_RELOC_CKCORE_PLT12,
6252 BFD_RELOC_CKCORE_PLT_HI16,
6253 BFD_RELOC_CKCORE_PLT_LO16,
6254 BFD_RELOC_CKCORE_ADDRGOT_HI16,
6255 BFD_RELOC_CKCORE_ADDRGOT_LO16,
6256 BFD_RELOC_CKCORE_ADDRPLT_HI16,
6257 BFD_RELOC_CKCORE_ADDRPLT_LO16,
6258 BFD_RELOC_CKCORE_PCREL_JSR_IMM26BY2,
6259 BFD_RELOC_CKCORE_TOFFSET_LO16,
6260 BFD_RELOC_CKCORE_DOFFSET_LO16,
6261 BFD_RELOC_CKCORE_PCREL_IMM18BY2,
6262 BFD_RELOC_CKCORE_DOFFSET_IMM18,
6263 BFD_RELOC_CKCORE_DOFFSET_IMM18BY2,
6264 BFD_RELOC_CKCORE_DOFFSET_IMM18BY4,
6265 BFD_RELOC_CKCORE_GOTOFF_IMM18,
6266 BFD_RELOC_CKCORE_GOT_IMM18BY4,
6267 BFD_RELOC_CKCORE_PLT_IMM18BY4,
6268 BFD_RELOC_CKCORE_PCREL_IMM7BY4,
6269 BFD_RELOC_CKCORE_TLS_LE32,
6270 BFD_RELOC_CKCORE_TLS_IE32,
6271 BFD_RELOC_CKCORE_TLS_GD32,
6272 BFD_RELOC_CKCORE_TLS_LDM32,
6273 BFD_RELOC_CKCORE_TLS_LDO32,
6274 BFD_RELOC_CKCORE_TLS_DTPMOD32,
6275 BFD_RELOC_CKCORE_TLS_DTPOFF32,
6276 BFD_RELOC_CKCORE_TLS_TPOFF32,
6277 BFD_RELOC_CKCORE_PCREL_FLRW_IMM8BY4,
6278 BFD_RELOC_CKCORE_NOJSRI,
6279 BFD_RELOC_CKCORE_CALLGRAPH,
6280 BFD_RELOC_CKCORE_IRELATIVE,
6281 BFD_RELOC_CKCORE_PCREL_BLOOP_IMM4BY4,
6282 BFD_RELOC_CKCORE_PCREL_BLOOP_IMM12BY4,
6283
6284
6285 BFD_RELOC_S12Z_OPR,
6286
6287
6288 BFD_RELOC_LARCH_TLS_DTPMOD32,
6289 BFD_RELOC_LARCH_TLS_DTPREL32,
6290 BFD_RELOC_LARCH_TLS_DTPMOD64,
6291 BFD_RELOC_LARCH_TLS_DTPREL64,
6292 BFD_RELOC_LARCH_TLS_TPREL32,
6293 BFD_RELOC_LARCH_TLS_TPREL64,
6294 BFD_RELOC_LARCH_MARK_LA,
6295 BFD_RELOC_LARCH_MARK_PCREL,
6296 BFD_RELOC_LARCH_SOP_PUSH_PCREL,
6297 BFD_RELOC_LARCH_SOP_PUSH_ABSOLUTE,
6298 BFD_RELOC_LARCH_SOP_PUSH_DUP,
6299 BFD_RELOC_LARCH_SOP_PUSH_GPREL,
6300 BFD_RELOC_LARCH_SOP_PUSH_TLS_TPREL,
6301 BFD_RELOC_LARCH_SOP_PUSH_TLS_GOT,
6302 BFD_RELOC_LARCH_SOP_PUSH_TLS_GD,
6303 BFD_RELOC_LARCH_SOP_PUSH_PLT_PCREL,
6304 BFD_RELOC_LARCH_SOP_ASSERT,
6305 BFD_RELOC_LARCH_SOP_NOT,
6306 BFD_RELOC_LARCH_SOP_SUB,
6307 BFD_RELOC_LARCH_SOP_SL,
6308 BFD_RELOC_LARCH_SOP_SR,
6309 BFD_RELOC_LARCH_SOP_ADD,
6310 BFD_RELOC_LARCH_SOP_AND,
6311 BFD_RELOC_LARCH_SOP_IF_ELSE,
6312 BFD_RELOC_LARCH_SOP_POP_32_S_10_5,
6313 BFD_RELOC_LARCH_SOP_POP_32_U_10_12,
6314 BFD_RELOC_LARCH_SOP_POP_32_S_10_12,
6315 BFD_RELOC_LARCH_SOP_POP_32_S_10_16,
6316 BFD_RELOC_LARCH_SOP_POP_32_S_10_16_S2,
6317 BFD_RELOC_LARCH_SOP_POP_32_S_5_20,
6318 BFD_RELOC_LARCH_SOP_POP_32_S_0_5_10_16_S2,
6319 BFD_RELOC_LARCH_SOP_POP_32_S_0_10_10_16_S2,
6320 BFD_RELOC_LARCH_SOP_POP_32_U,
6321 BFD_RELOC_LARCH_ADD8,
6322 BFD_RELOC_LARCH_ADD16,
6323 BFD_RELOC_LARCH_ADD24,
6324 BFD_RELOC_LARCH_ADD32,
6325 BFD_RELOC_LARCH_ADD64,
6326 BFD_RELOC_LARCH_SUB8,
6327 BFD_RELOC_LARCH_SUB16,
6328 BFD_RELOC_LARCH_SUB24,
6329 BFD_RELOC_LARCH_SUB32,
6330 BFD_RELOC_LARCH_SUB64,
6331 BFD_RELOC_UNUSED };
6332
6333 typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
6334 reloc_howto_type *bfd_reloc_type_lookup
6335 (bfd *abfd, bfd_reloc_code_real_type code);
6336 reloc_howto_type *bfd_reloc_name_lookup
6337 (bfd *abfd, const char *reloc_name);
6338
6339 const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
6340
6341
6342
6343 typedef struct bfd_symbol
6344 {
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354 struct bfd *the_bfd;
6355
6356
6357
6358 const char *name;
6359
6360
6361
6362
6363 symvalue value;
6364
6365
6366 #define BSF_NO_FLAGS 0
6367
6368
6369
6370 #define BSF_LOCAL (1 << 0)
6371
6372
6373
6374 #define BSF_GLOBAL (1 << 1)
6375
6376
6377
6378 #define BSF_EXPORT BSF_GLOBAL
6379
6380
6381
6382
6383
6384
6385 #define BSF_DEBUGGING (1 << 2)
6386
6387
6388
6389 #define BSF_FUNCTION (1 << 3)
6390
6391
6392 #define BSF_KEEP (1 << 5)
6393
6394
6395 #define BSF_ELF_COMMON (1 << 6)
6396
6397
6398
6399 #define BSF_WEAK (1 << 7)
6400
6401
6402
6403 #define BSF_SECTION_SYM (1 << 8)
6404
6405
6406
6407 #define BSF_OLD_COMMON (1 << 9)
6408
6409
6410
6411
6412
6413
6414 #define BSF_NOT_AT_END (1 << 10)
6415
6416
6417 #define BSF_CONSTRUCTOR (1 << 11)
6418
6419
6420
6421
6422
6423 #define BSF_WARNING (1 << 12)
6424
6425
6426
6427 #define BSF_INDIRECT (1 << 13)
6428
6429
6430
6431 #define BSF_FILE (1 << 14)
6432
6433
6434 #define BSF_DYNAMIC (1 << 15)
6435
6436
6437
6438 #define BSF_OBJECT (1 << 16)
6439
6440
6441
6442
6443 #define BSF_DEBUGGING_RELOC (1 << 17)
6444
6445
6446 #define BSF_THREAD_LOCAL (1 << 18)
6447
6448
6449
6450 #define BSF_RELC (1 << 19)
6451
6452
6453
6454 #define BSF_SRELC (1 << 20)
6455
6456
6457 #define BSF_SYNTHETIC (1 << 21)
6458
6459
6460
6461
6462
6463 #define BSF_GNU_INDIRECT_FUNCTION (1 << 22)
6464
6465
6466
6467 #define BSF_GNU_UNIQUE (1 << 23)
6468
6469
6470 #define BSF_SECTION_SYM_USED (1 << 24)
6471
6472 flagword flags;
6473
6474
6475
6476
6477 struct bfd_section *section;
6478
6479
6480 union
6481 {
6482 void *p;
6483 bfd_vma i;
6484 }
6485 udata;
6486 }
6487 asymbol;
6488
6489 #define bfd_get_symtab_upper_bound(abfd) \
6490 BFD_SEND (abfd, _bfd_get_symtab_upper_bound, (abfd))
6491
6492 bool bfd_is_local_label (bfd *abfd, asymbol *sym);
6493
6494 bool bfd_is_local_label_name (bfd *abfd, const char *name);
6495
6496 #define bfd_is_local_label_name(abfd, name) \
6497 BFD_SEND (abfd, _bfd_is_local_label_name, (abfd, name))
6498
6499 bool bfd_is_target_special_symbol (bfd *abfd, asymbol *sym);
6500
6501 #define bfd_is_target_special_symbol(abfd, sym) \
6502 BFD_SEND (abfd, _bfd_is_target_special_symbol, (abfd, sym))
6503
6504 #define bfd_canonicalize_symtab(abfd, location) \
6505 BFD_SEND (abfd, _bfd_canonicalize_symtab, (abfd, location))
6506
6507 bool bfd_set_symtab
6508 (bfd *abfd, asymbol **location, unsigned int count);
6509
6510 void bfd_print_symbol_vandf (bfd *abfd, void *file, asymbol *symbol);
6511
6512 #define bfd_make_empty_symbol(abfd) \
6513 BFD_SEND (abfd, _bfd_make_empty_symbol, (abfd))
6514
6515 asymbol *_bfd_generic_make_empty_symbol (bfd *);
6516
6517 #define bfd_make_debug_symbol(abfd,ptr,size) \
6518 BFD_SEND (abfd, _bfd_make_debug_symbol, (abfd, ptr, size))
6519
6520 int bfd_decode_symclass (asymbol *symbol);
6521
6522 bool bfd_is_undefined_symclass (int symclass);
6523
6524 void bfd_symbol_info (asymbol *symbol, symbol_info *ret);
6525
6526 bool bfd_copy_private_symbol_data
6527 (bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym);
6528
6529 #define bfd_copy_private_symbol_data(ibfd, isymbol, obfd, osymbol) \
6530 BFD_SEND (obfd, _bfd_copy_private_symbol_data, \
6531 (ibfd, isymbol, obfd, osymbol))
6532
6533
6534
6535 enum bfd_direction
6536 {
6537 no_direction = 0,
6538 read_direction = 1,
6539 write_direction = 2,
6540 both_direction = 3
6541 };
6542
6543 enum bfd_plugin_format
6544 {
6545 bfd_plugin_unknown = 0,
6546 bfd_plugin_yes = 1,
6547 bfd_plugin_no = 2
6548 };
6549
6550 struct bfd_build_id
6551 {
6552 bfd_size_type size;
6553 bfd_byte data[1];
6554 };
6555
6556 struct bfd
6557 {
6558
6559 const char *filename;
6560
6561
6562 const struct bfd_target *xvec;
6563
6564
6565
6566 void *iostream;
6567 const struct bfd_iovec *iovec;
6568
6569
6570
6571 struct bfd *lru_prev, *lru_next;
6572
6573
6574
6575
6576 ufile_ptr where;
6577
6578
6579 long mtime;
6580
6581
6582 unsigned int id;
6583
6584
6585 flagword flags;
6586
6587
6588
6589
6590
6591
6592
6593
6594 #define BFD_NO_FLAGS 0x0
6595
6596
6597 #define HAS_RELOC 0x1
6598
6599
6600 #define EXEC_P 0x2
6601
6602
6603
6604 #define HAS_LINENO 0x4
6605
6606
6607 #define HAS_DEBUG 0x08
6608
6609
6610 #define HAS_SYMS 0x10
6611
6612
6613
6614 #define HAS_LOCALS 0x20
6615
6616
6617 #define DYNAMIC 0x40
6618
6619
6620
6621
6622 #define WP_TEXT 0x80
6623
6624
6625
6626 #define D_PAGED 0x100
6627
6628
6629
6630
6631 #define BFD_IS_RELAXABLE 0x200
6632
6633
6634
6635
6636
6637 #define BFD_TRADITIONAL_FORMAT 0x400
6638
6639
6640
6641
6642 #define BFD_IN_MEMORY 0x800
6643
6644
6645
6646 #define BFD_LINKER_CREATED 0x1000
6647
6648
6649
6650
6651 #define BFD_DETERMINISTIC_OUTPUT 0x2000
6652
6653
6654 #define BFD_COMPRESS 0x4000
6655
6656
6657 #define BFD_DECOMPRESS 0x8000
6658
6659
6660 #define BFD_PLUGIN 0x10000
6661
6662
6663 #define BFD_COMPRESS_GABI 0x20000
6664
6665
6666
6667 #define BFD_CONVERT_ELF_COMMON 0x40000
6668
6669
6670 #define BFD_USE_ELF_STT_COMMON 0x80000
6671
6672
6673 #define BFD_ARCHIVE_FULL_PATH 0x100000
6674
6675
6676 #define BFD_FLAGS_SAVED \
6677 (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \
6678 | BFD_PLUGIN | BFD_COMPRESS_GABI | BFD_CONVERT_ELF_COMMON \
6679 | BFD_USE_ELF_STT_COMMON)
6680
6681
6682 #define BFD_FLAGS_FOR_BFD_USE_MASK \
6683 (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \
6684 | BFD_PLUGIN | BFD_TRADITIONAL_FORMAT | BFD_DETERMINISTIC_OUTPUT \
6685 | BFD_COMPRESS_GABI | BFD_CONVERT_ELF_COMMON | BFD_USE_ELF_STT_COMMON)
6686
6687
6688 ENUM_BITFIELD (bfd_format) format : 3;
6689
6690
6691 ENUM_BITFIELD (bfd_direction) direction : 2;
6692
6693
6694
6695 unsigned int cacheable : 1;
6696
6697
6698
6699
6700 unsigned int target_defaulted : 1;
6701
6702
6703 unsigned int opened_once : 1;
6704
6705
6706
6707 unsigned int mtime_set : 1;
6708
6709
6710 unsigned int no_export : 1;
6711
6712
6713
6714 unsigned int output_has_begun : 1;
6715
6716
6717 unsigned int has_armap : 1;
6718
6719
6720 unsigned int is_thin_archive : 1;
6721
6722
6723 unsigned int no_element_cache : 1;
6724
6725
6726
6727 unsigned int selective_search : 1;
6728
6729
6730 unsigned int is_linker_output : 1;
6731
6732
6733 unsigned int is_linker_input : 1;
6734
6735
6736 ENUM_BITFIELD (bfd_plugin_format) plugin_format : 2;
6737
6738
6739 unsigned int lto_output : 1;
6740
6741
6742 unsigned int lto_slim_object : 1;
6743
6744
6745
6746 unsigned int read_only : 1;
6747
6748
6749
6750 bfd *plugin_dummy_bfd;
6751
6752
6753
6754 ufile_ptr origin;
6755
6756
6757
6758
6759
6760
6761 ufile_ptr proxy_origin;
6762
6763
6764 struct bfd_hash_table section_htab;
6765
6766
6767 struct bfd_section *sections;
6768
6769
6770 struct bfd_section *section_last;
6771
6772
6773 unsigned int section_count;
6774
6775
6776 int archive_plugin_fd;
6777
6778
6779 unsigned int archive_plugin_fd_open_count;
6780
6781
6782
6783 int archive_pass;
6784
6785
6786 bfd_size_type alloc_size;
6787
6788
6789
6790 bfd_vma start_address;
6791
6792
6793
6794 struct bfd_symbol **outsymbols;
6795
6796
6797 unsigned int symcount;
6798
6799
6800 unsigned int dynsymcount;
6801
6802
6803 const struct bfd_arch_info *arch_info;
6804
6805
6806
6807
6808 ufile_ptr size;
6809
6810
6811 void *arelt_data;
6812 struct bfd *my_archive;
6813 struct bfd *archive_next;
6814 struct bfd *archive_head;
6815 struct bfd *nested_archives;
6816
6817
6818 union {
6819
6820 struct bfd *next;
6821
6822 struct bfd_link_hash_table *hash;
6823 } link;
6824
6825
6826 union
6827 {
6828 struct aout_data_struct *aout_data;
6829 struct artdata *aout_ar_data;
6830 struct coff_tdata *coff_obj_data;
6831 struct pe_tdata *pe_obj_data;
6832 struct xcoff_tdata *xcoff_obj_data;
6833 struct ecoff_tdata *ecoff_obj_data;
6834 struct srec_data_struct *srec_data;
6835 struct verilog_data_struct *verilog_data;
6836 struct ihex_data_struct *ihex_data;
6837 struct tekhex_data_struct *tekhex_data;
6838 struct elf_obj_tdata *elf_obj_data;
6839 struct mmo_data_struct *mmo_data;
6840 struct sun_core_struct *sun_core_data;
6841 struct sco5_core_struct *sco5_core_data;
6842 struct trad_core_struct *trad_core_data;
6843 struct som_data_struct *som_data;
6844 struct hpux_core_struct *hpux_core_data;
6845 struct hppabsd_core_struct *hppabsd_core_data;
6846 struct sgi_core_struct *sgi_core_data;
6847 struct lynx_core_struct *lynx_core_data;
6848 struct osf_core_struct *osf_core_data;
6849 struct cisco_core_struct *cisco_core_data;
6850 struct versados_data_struct *versados_data;
6851 struct netbsd_core_struct *netbsd_core_data;
6852 struct mach_o_data_struct *mach_o_data;
6853 struct mach_o_fat_data_struct *mach_o_fat_data;
6854 struct plugin_data_struct *plugin_data;
6855 struct bfd_pef_data_struct *pef_data;
6856 struct bfd_pef_xlib_data_struct *pef_xlib_data;
6857 struct bfd_sym_data_struct *sym_data;
6858 void *any;
6859 }
6860 tdata;
6861
6862
6863 void *usrdata;
6864
6865
6866
6867
6868 void *memory;
6869
6870
6871 const struct bfd_build_id *build_id;
6872 };
6873
6874 static inline const char *
6875 bfd_get_filename (const bfd *abfd)
6876 {
6877 return abfd->filename;
6878 }
6879
6880 static inline bool
6881 bfd_get_cacheable (const bfd *abfd)
6882 {
6883 return abfd->cacheable;
6884 }
6885
6886 static inline enum bfd_format
6887 bfd_get_format (const bfd *abfd)
6888 {
6889 return abfd->format;
6890 }
6891
6892 static inline flagword
6893 bfd_get_file_flags (const bfd *abfd)
6894 {
6895 return abfd->flags;
6896 }
6897
6898 static inline bfd_vma
6899 bfd_get_start_address (const bfd *abfd)
6900 {
6901 return abfd->start_address;
6902 }
6903
6904 static inline unsigned int
6905 bfd_get_symcount (const bfd *abfd)
6906 {
6907 return abfd->symcount;
6908 }
6909
6910 static inline unsigned int
6911 bfd_get_dynamic_symcount (const bfd *abfd)
6912 {
6913 return abfd->dynsymcount;
6914 }
6915
6916 static inline struct bfd_symbol **
6917 bfd_get_outsymbols (const bfd *abfd)
6918 {
6919 return abfd->outsymbols;
6920 }
6921
6922 static inline unsigned int
6923 bfd_count_sections (const bfd *abfd)
6924 {
6925 return abfd->section_count;
6926 }
6927
6928 static inline bool
6929 bfd_has_map (const bfd *abfd)
6930 {
6931 return abfd->has_armap;
6932 }
6933
6934 static inline bool
6935 bfd_is_thin_archive (const bfd *abfd)
6936 {
6937 return abfd->is_thin_archive;
6938 }
6939
6940 static inline void *
6941 bfd_usrdata (const bfd *abfd)
6942 {
6943 return abfd->usrdata;
6944 }
6945
6946
6947 static inline bool
6948 bfd_set_cacheable (bfd * abfd, bool val)
6949 {
6950 abfd->cacheable = val;
6951 return true;
6952 }
6953
6954 static inline void
6955 bfd_set_thin_archive (bfd *abfd, bool val)
6956 {
6957 abfd->is_thin_archive = val;
6958 }
6959
6960 static inline void
6961 bfd_set_usrdata (bfd *abfd, void *val)
6962 {
6963 abfd->usrdata = val;
6964 }
6965
6966 static inline asection *
6967 bfd_asymbol_section (const asymbol *sy)
6968 {
6969 return sy->section;
6970 }
6971
6972 static inline bfd_vma
6973 bfd_asymbol_value (const asymbol *sy)
6974 {
6975 return sy->section->vma + sy->value;
6976 }
6977
6978 static inline const char *
6979 bfd_asymbol_name (const asymbol *sy)
6980 {
6981 return sy->name;
6982 }
6983
6984 static inline struct bfd *
6985 bfd_asymbol_bfd (const asymbol *sy)
6986 {
6987 return sy->the_bfd;
6988 }
6989
6990 static inline void
6991 bfd_set_asymbol_name (asymbol *sy, const char *name)
6992 {
6993 sy->name = name;
6994 }
6995
6996 static inline bfd_size_type
6997 bfd_get_section_limit_octets (const bfd *abfd, const asection *sec)
6998 {
6999 if (abfd->direction != write_direction && sec->rawsize != 0)
7000 return sec->rawsize;
7001 return sec->size;
7002 }
7003
7004
7005 static inline bfd_size_type
7006 bfd_get_section_limit (const bfd *abfd, const asection *sec)
7007 {
7008 return (bfd_get_section_limit_octets (abfd, sec)
7009 / bfd_octets_per_byte (abfd, sec));
7010 }
7011
7012
7013
7014
7015 static inline void
7016 bfd_section_list_remove (bfd *abfd, asection *s)
7017 {
7018 asection *next = s->next;
7019 asection *prev = s->prev;
7020 if (prev)
7021 prev->next = next;
7022 else
7023 abfd->sections = next;
7024 if (next)
7025 next->prev = prev;
7026 else
7027 abfd->section_last = prev;
7028 }
7029
7030 static inline void
7031 bfd_section_list_append (bfd *abfd, asection *s)
7032 {
7033 s->next = 0;
7034 if (abfd->section_last)
7035 {
7036 s->prev = abfd->section_last;
7037 abfd->section_last->next = s;
7038 }
7039 else
7040 {
7041 s->prev = 0;
7042 abfd->sections = s;
7043 }
7044 abfd->section_last = s;
7045 }
7046
7047 static inline void
7048 bfd_section_list_prepend (bfd *abfd, asection *s)
7049 {
7050 s->prev = 0;
7051 if (abfd->sections)
7052 {
7053 s->next = abfd->sections;
7054 abfd->sections->prev = s;
7055 }
7056 else
7057 {
7058 s->next = 0;
7059 abfd->section_last = s;
7060 }
7061 abfd->sections = s;
7062 }
7063
7064 static inline void
7065 bfd_section_list_insert_after (bfd *abfd, asection *a, asection *s)
7066 {
7067 asection *next = a->next;
7068 s->next = next;
7069 s->prev = a;
7070 a->next = s;
7071 if (next)
7072 next->prev = s;
7073 else
7074 abfd->section_last = s;
7075 }
7076
7077 static inline void
7078 bfd_section_list_insert_before (bfd *abfd, asection *b, asection *s)
7079 {
7080 asection *prev = b->prev;
7081 s->prev = prev;
7082 s->next = b;
7083 b->prev = s;
7084 if (prev)
7085 prev->next = s;
7086 else
7087 abfd->sections = s;
7088 }
7089
7090 static inline bool
7091 bfd_section_removed_from_list (const bfd *abfd, const asection *s)
7092 {
7093 return s->next ? s->next->prev != s : abfd->section_last != s;
7094 }
7095
7096
7097 typedef enum bfd_error
7098 {
7099 bfd_error_no_error = 0,
7100 bfd_error_system_call,
7101 bfd_error_invalid_target,
7102 bfd_error_wrong_format,
7103 bfd_error_wrong_object_format,
7104 bfd_error_invalid_operation,
7105 bfd_error_no_memory,
7106 bfd_error_no_symbols,
7107 bfd_error_no_armap,
7108 bfd_error_no_more_archived_files,
7109 bfd_error_malformed_archive,
7110 bfd_error_missing_dso,
7111 bfd_error_file_not_recognized,
7112 bfd_error_file_ambiguously_recognized,
7113 bfd_error_no_contents,
7114 bfd_error_nonrepresentable_section,
7115 bfd_error_no_debug_section,
7116 bfd_error_bad_value,
7117 bfd_error_file_truncated,
7118 bfd_error_file_too_big,
7119 bfd_error_sorry,
7120 bfd_error_on_input,
7121 bfd_error_invalid_error_code
7122 }
7123 bfd_error_type;
7124
7125 bfd_error_type bfd_get_error (void);
7126
7127 void bfd_set_error (bfd_error_type error_tag);
7128
7129 void bfd_set_input_error (bfd *input, bfd_error_type error_tag);
7130
7131 const char *bfd_errmsg (bfd_error_type error_tag);
7132
7133 void bfd_perror (const char *message);
7134
7135
7136 typedef void (*bfd_error_handler_type) (const char *, va_list);
7137
7138 void _bfd_error_handler (const char *fmt, ...) ATTRIBUTE_PRINTF_1;
7139
7140 bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type);
7141
7142 void bfd_set_error_program_name (const char *);
7143
7144
7145 typedef void (*bfd_assert_handler_type) (const char *bfd_formatmsg,
7146 const char *bfd_version,
7147 const char *bfd_file,
7148 int bfd_line);
7149
7150 bfd_assert_handler_type bfd_set_assert_handler (bfd_assert_handler_type);
7151
7152 long bfd_get_reloc_upper_bound (bfd *abfd, asection *sect);
7153
7154 long bfd_canonicalize_reloc
7155 (bfd *abfd, asection *sec, arelent **loc, asymbol **syms);
7156
7157 void bfd_set_reloc
7158 (bfd *abfd, asection *sec, arelent **rel, unsigned int count);
7159
7160 #define bfd_set_reloc(abfd, asect, location, count) \
7161 BFD_SEND (abfd, _bfd_set_reloc, (abfd, asect, location, count))
7162 bool bfd_set_file_flags (bfd *abfd, flagword flags);
7163
7164 int bfd_get_arch_size (bfd *abfd);
7165
7166 int bfd_get_sign_extend_vma (bfd *abfd);
7167
7168 bool bfd_set_start_address (bfd *abfd, bfd_vma vma);
7169
7170 unsigned int bfd_get_gp_size (bfd *abfd);
7171
7172 void bfd_set_gp_size (bfd *abfd, unsigned int i);
7173
7174 void bfd_set_gp_value (bfd *abfd, bfd_vma v);
7175
7176 bfd_vma bfd_scan_vma (const char *string, const char **end, int base);
7177
7178 bool bfd_copy_private_header_data (bfd *ibfd, bfd *obfd);
7179
7180 #define bfd_copy_private_header_data(ibfd, obfd) \
7181 BFD_SEND (obfd, _bfd_copy_private_header_data, \
7182 (ibfd, obfd))
7183 bool bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd);
7184
7185 #define bfd_copy_private_bfd_data(ibfd, obfd) \
7186 BFD_SEND (obfd, _bfd_copy_private_bfd_data, \
7187 (ibfd, obfd))
7188 bool bfd_set_private_flags (bfd *abfd, flagword flags);
7189
7190 #define bfd_set_private_flags(abfd, flags) \
7191 BFD_SEND (abfd, _bfd_set_private_flags, (abfd, flags))
7192 #define bfd_sizeof_headers(abfd, info) \
7193 BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, info))
7194
7195 #define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
7196 BFD_SEND (abfd, _bfd_find_nearest_line, \
7197 (abfd, syms, sec, off, file, func, line, NULL))
7198
7199 #define bfd_find_nearest_line_discriminator(abfd, sec, syms, off, file, func, \
7200 line, disc) \
7201 BFD_SEND (abfd, _bfd_find_nearest_line, \
7202 (abfd, syms, sec, off, file, func, line, disc))
7203
7204 #define bfd_find_line(abfd, syms, sym, file, line) \
7205 BFD_SEND (abfd, _bfd_find_line, \
7206 (abfd, syms, sym, file, line))
7207
7208 #define bfd_find_inliner_info(abfd, file, func, line) \
7209 BFD_SEND (abfd, _bfd_find_inliner_info, \
7210 (abfd, file, func, line))
7211
7212 #define bfd_debug_info_start(abfd) \
7213 BFD_SEND (abfd, _bfd_debug_info_start, (abfd))
7214
7215 #define bfd_debug_info_end(abfd) \
7216 BFD_SEND (abfd, _bfd_debug_info_end, (abfd))
7217
7218 #define bfd_debug_info_accumulate(abfd, section) \
7219 BFD_SEND (abfd, _bfd_debug_info_accumulate, (abfd, section))
7220
7221 #define bfd_stat_arch_elt(abfd, stat) \
7222 BFD_SEND (abfd->my_archive ? abfd->my_archive : abfd, \
7223 _bfd_stat_arch_elt, (abfd, stat))
7224
7225 #define bfd_update_armap_timestamp(abfd) \
7226 BFD_SEND (abfd, _bfd_update_armap_timestamp, (abfd))
7227
7228 #define bfd_set_arch_mach(abfd, arch, mach)\
7229 BFD_SEND ( abfd, _bfd_set_arch_mach, (abfd, arch, mach))
7230
7231 #define bfd_relax_section(abfd, section, link_info, again) \
7232 BFD_SEND (abfd, _bfd_relax_section, (abfd, section, link_info, again))
7233
7234 #define bfd_gc_sections(abfd, link_info) \
7235 BFD_SEND (abfd, _bfd_gc_sections, (abfd, link_info))
7236
7237 #define bfd_lookup_section_flags(link_info, flag_info, section) \
7238 BFD_SEND (abfd, _bfd_lookup_section_flags, (link_info, flag_info, section))
7239
7240 #define bfd_merge_sections(abfd, link_info) \
7241 BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info))
7242
7243 #define bfd_is_group_section(abfd, sec) \
7244 BFD_SEND (abfd, _bfd_is_group_section, (abfd, sec))
7245
7246 #define bfd_group_name(abfd, sec) \
7247 BFD_SEND (abfd, _bfd_group_name, (abfd, sec))
7248
7249 #define bfd_discard_group(abfd, sec) \
7250 BFD_SEND (abfd, _bfd_discard_group, (abfd, sec))
7251
7252 #define bfd_link_hash_table_create(abfd) \
7253 BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd))
7254
7255 #define bfd_link_add_symbols(abfd, info) \
7256 BFD_SEND (abfd, _bfd_link_add_symbols, (abfd, info))
7257
7258 #define bfd_link_just_syms(abfd, sec, info) \
7259 BFD_SEND (abfd, _bfd_link_just_syms, (sec, info))
7260
7261 #define bfd_final_link(abfd, info) \
7262 BFD_SEND (abfd, _bfd_final_link, (abfd, info))
7263
7264 #define bfd_free_cached_info(abfd) \
7265 BFD_SEND (abfd, _bfd_free_cached_info, (abfd))
7266
7267 #define bfd_get_dynamic_symtab_upper_bound(abfd) \
7268 BFD_SEND (abfd, _bfd_get_dynamic_symtab_upper_bound, (abfd))
7269
7270 #define bfd_print_private_bfd_data(abfd, file)\
7271 BFD_SEND (abfd, _bfd_print_private_bfd_data, (abfd, file))
7272
7273 #define bfd_canonicalize_dynamic_symtab(abfd, asymbols) \
7274 BFD_SEND (abfd, _bfd_canonicalize_dynamic_symtab, (abfd, asymbols))
7275
7276 #define bfd_get_synthetic_symtab(abfd, count, syms, dyncount, dynsyms, ret) \
7277 BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, count, syms, \
7278 dyncount, dynsyms, ret))
7279
7280 #define bfd_get_dynamic_reloc_upper_bound(abfd) \
7281 BFD_SEND (abfd, _bfd_get_dynamic_reloc_upper_bound, (abfd))
7282
7283 #define bfd_canonicalize_dynamic_reloc(abfd, arels, asyms) \
7284 BFD_SEND (abfd, _bfd_canonicalize_dynamic_reloc, (abfd, arels, asyms))
7285
7286 extern bfd_byte *bfd_get_relocated_section_contents
7287 (bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *,
7288 bool, asymbol **);
7289
7290 bool bfd_alt_mach_code (bfd *abfd, int alternative);
7291
7292 bfd_vma bfd_emul_get_maxpagesize (const char *);
7293
7294 bfd_vma bfd_emul_get_commonpagesize (const char *);
7295
7296 char *bfd_demangle (bfd *, const char *, int);
7297
7298 void bfd_update_compression_header
7299 (bfd *abfd, bfd_byte *contents, asection *sec);
7300
7301 bool bfd_check_compression_header
7302 (bfd *abfd, bfd_byte *contents, asection *sec,
7303 bfd_size_type *uncompressed_size,
7304 unsigned int *uncompressed_alignment_power);
7305
7306 int bfd_get_compression_header_size (bfd *abfd, asection *sec);
7307
7308 bfd_size_type bfd_convert_section_size
7309 (bfd *ibfd, asection *isec, bfd *obfd, bfd_size_type size);
7310
7311 bool bfd_convert_section_contents
7312 (bfd *ibfd, asection *isec, bfd *obfd,
7313 bfd_byte **ptr, bfd_size_type *ptr_size);
7314
7315
7316 symindex bfd_get_next_mapent
7317 (bfd *abfd, symindex previous, carsym **sym);
7318
7319 bool bfd_set_archive_head (bfd *output, bfd *new_head);
7320
7321 bfd *bfd_openr_next_archived_file (bfd *archive, bfd *previous);
7322
7323
7324 const char *bfd_core_file_failing_command (bfd *abfd);
7325
7326 int bfd_core_file_failing_signal (bfd *abfd);
7327
7328 int bfd_core_file_pid (bfd *abfd);
7329
7330 bool core_file_matches_executable_p
7331 (bfd *core_bfd, bfd *exec_bfd);
7332
7333 bool generic_core_file_matches_executable_p
7334 (bfd *core_bfd, bfd *exec_bfd);
7335
7336
7337 #define BFD_SEND(bfd, message, arglist) \
7338 ((*((bfd)->xvec->message)) arglist)
7339
7340 #ifdef DEBUG_BFD_SEND
7341 #undef BFD_SEND
7342 #define BFD_SEND(bfd, message, arglist) \
7343 (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \
7344 ((*((bfd)->xvec->message)) arglist) : \
7345 (bfd_assert (__FILE__,__LINE__), NULL))
7346 #endif
7347 #define BFD_SEND_FMT(bfd, message, arglist) \
7348 (((bfd)->xvec->message[(int) ((bfd)->format)]) arglist)
7349
7350 #ifdef DEBUG_BFD_SEND
7351 #undef BFD_SEND_FMT
7352 #define BFD_SEND_FMT(bfd, message, arglist) \
7353 (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \
7354 (((bfd)->xvec->message[(int) ((bfd)->format)]) arglist) : \
7355 (bfd_assert (__FILE__,__LINE__), NULL))
7356 #endif
7357
7358
7359 #ifndef TARGET_KEEP_UNUSED_SECTION_SYMBOLS
7360 #define TARGET_KEEP_UNUSED_SECTION_SYMBOLS true
7361 #endif
7362
7363 enum bfd_flavour
7364 {
7365
7366 bfd_target_unknown_flavour,
7367 bfd_target_aout_flavour,
7368 bfd_target_coff_flavour,
7369 bfd_target_ecoff_flavour,
7370 bfd_target_xcoff_flavour,
7371 bfd_target_elf_flavour,
7372 bfd_target_tekhex_flavour,
7373 bfd_target_srec_flavour,
7374 bfd_target_verilog_flavour,
7375 bfd_target_ihex_flavour,
7376 bfd_target_som_flavour,
7377 bfd_target_os9k_flavour,
7378 bfd_target_versados_flavour,
7379 bfd_target_msdos_flavour,
7380 bfd_target_ovax_flavour,
7381 bfd_target_evax_flavour,
7382 bfd_target_mmo_flavour,
7383 bfd_target_mach_o_flavour,
7384 bfd_target_pef_flavour,
7385 bfd_target_pef_xlib_flavour,
7386 bfd_target_sym_flavour
7387 };
7388
7389 enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN };
7390
7391
7392 typedef struct bfd_link_info _bfd_link_info;
7393
7394
7395 typedef struct flag_info flag_info;
7396
7397 typedef void (*bfd_cleanup) (bfd *);
7398
7399 typedef struct bfd_target
7400 {
7401
7402 const char *name;
7403
7404
7405
7406 enum bfd_flavour flavour;
7407
7408
7409 enum bfd_endian byteorder;
7410
7411
7412 enum bfd_endian header_byteorder;
7413
7414
7415
7416 flagword object_flags;
7417
7418
7419
7420 flagword section_flags;
7421
7422
7423
7424 char symbol_leading_char;
7425
7426
7427 char ar_pad_char;
7428
7429
7430 unsigned char ar_max_namelen;
7431
7432
7433
7434 unsigned char match_priority;
7435
7436
7437 bool keep_unused_section_symbols;
7438
7439
7440
7441
7442 bfd_uint64_t (*bfd_getx64) (const void *);
7443 bfd_int64_t (*bfd_getx_signed_64) (const void *);
7444 void (*bfd_putx64) (bfd_uint64_t, void *);
7445 bfd_vma (*bfd_getx32) (const void *);
7446 bfd_signed_vma (*bfd_getx_signed_32) (const void *);
7447 void (*bfd_putx32) (bfd_vma, void *);
7448 bfd_vma (*bfd_getx16) (const void *);
7449 bfd_signed_vma (*bfd_getx_signed_16) (const void *);
7450 void (*bfd_putx16) (bfd_vma, void *);
7451
7452
7453 bfd_uint64_t (*bfd_h_getx64) (const void *);
7454 bfd_int64_t (*bfd_h_getx_signed_64) (const void *);
7455 void (*bfd_h_putx64) (bfd_uint64_t, void *);
7456 bfd_vma (*bfd_h_getx32) (const void *);
7457 bfd_signed_vma (*bfd_h_getx_signed_32) (const void *);
7458 void (*bfd_h_putx32) (bfd_vma, void *);
7459 bfd_vma (*bfd_h_getx16) (const void *);
7460 bfd_signed_vma (*bfd_h_getx_signed_16) (const void *);
7461 void (*bfd_h_putx16) (bfd_vma, void *);
7462
7463
7464
7465
7466
7467
7468 bfd_cleanup (*_bfd_check_format[bfd_type_end]) (bfd *);
7469
7470
7471 bool (*_bfd_set_format[bfd_type_end]) (bfd *);
7472
7473
7474 bool (*_bfd_write_contents[bfd_type_end]) (bfd *);
7475
7476
7477
7478 #define BFD_JUMP_TABLE_GENERIC(NAME) \
7479 NAME##_close_and_cleanup, \
7480 NAME##_bfd_free_cached_info, \
7481 NAME##_new_section_hook, \
7482 NAME##_get_section_contents, \
7483 NAME##_get_section_contents_in_window
7484
7485
7486 bool (*_close_and_cleanup) (bfd *);
7487
7488 bool (*_bfd_free_cached_info) (bfd *);
7489
7490 bool (*_new_section_hook) (bfd *, sec_ptr);
7491
7492 bool (*_bfd_get_section_contents) (bfd *, sec_ptr, void *, file_ptr,
7493 bfd_size_type);
7494 bool (*_bfd_get_section_contents_in_window) (bfd *, sec_ptr, bfd_window *,
7495 file_ptr, bfd_size_type);
7496
7497
7498 #define BFD_JUMP_TABLE_COPY(NAME) \
7499 NAME##_bfd_copy_private_bfd_data, \
7500 NAME##_bfd_merge_private_bfd_data, \
7501 _bfd_generic_init_private_section_data, \
7502 NAME##_bfd_copy_private_section_data, \
7503 NAME##_bfd_copy_private_symbol_data, \
7504 NAME##_bfd_copy_private_header_data, \
7505 NAME##_bfd_set_private_flags, \
7506 NAME##_bfd_print_private_bfd_data
7507
7508
7509
7510 bool (*_bfd_copy_private_bfd_data) (bfd *, bfd *);
7511
7512
7513 bool (*_bfd_merge_private_bfd_data) (bfd *, struct bfd_link_info *);
7514
7515
7516 #define bfd_init_private_section_data(ibfd, isec, obfd, osec, link_info) \
7517 BFD_SEND (obfd, _bfd_init_private_section_data, \
7518 (ibfd, isec, obfd, osec, link_info))
7519 bool (*_bfd_init_private_section_data) (bfd *, sec_ptr, bfd *, sec_ptr,
7520 struct bfd_link_info *);
7521
7522
7523 bool (*_bfd_copy_private_section_data) (bfd *, sec_ptr, bfd *, sec_ptr);
7524
7525
7526 bool (*_bfd_copy_private_symbol_data) (bfd *, asymbol *,
7527 bfd *, asymbol *);
7528
7529
7530 bool (*_bfd_copy_private_header_data) (bfd *, bfd *);
7531
7532 bool (*_bfd_set_private_flags) (bfd *, flagword);
7533
7534
7535 bool (*_bfd_print_private_bfd_data) (bfd *, void *);
7536
7537
7538 #define BFD_JUMP_TABLE_CORE(NAME) \
7539 NAME##_core_file_failing_command, \
7540 NAME##_core_file_failing_signal, \
7541 NAME##_core_file_matches_executable_p, \
7542 NAME##_core_file_pid
7543
7544 char *(*_core_file_failing_command) (bfd *);
7545 int (*_core_file_failing_signal) (bfd *);
7546 bool (*_core_file_matches_executable_p) (bfd *, bfd *);
7547 int (*_core_file_pid) (bfd *);
7548
7549
7550 #define BFD_JUMP_TABLE_ARCHIVE(NAME) \
7551 NAME##_slurp_armap, \
7552 NAME##_slurp_extended_name_table, \
7553 NAME##_construct_extended_name_table, \
7554 NAME##_truncate_arname, \
7555 NAME##_write_armap, \
7556 NAME##_read_ar_hdr, \
7557 NAME##_write_ar_hdr, \
7558 NAME##_openr_next_archived_file, \
7559 NAME##_get_elt_at_index, \
7560 NAME##_generic_stat_arch_elt, \
7561 NAME##_update_armap_timestamp
7562
7563 bool (*_bfd_slurp_armap) (bfd *);
7564 bool (*_bfd_slurp_extended_name_table) (bfd *);
7565 bool (*_bfd_construct_extended_name_table) (bfd *, char **,
7566 bfd_size_type *,
7567 const char **);
7568 void (*_bfd_truncate_arname) (bfd *, const char *, char *);
7569 bool (*write_armap) (bfd *, unsigned, struct orl *, unsigned, int);
7570 void *(*_bfd_read_ar_hdr_fn) (bfd *);
7571 bool (*_bfd_write_ar_hdr_fn) (bfd *, bfd *);
7572 bfd *(*openr_next_archived_file) (bfd *, bfd *);
7573 #define bfd_get_elt_at_index(b,i) \
7574 BFD_SEND (b, _bfd_get_elt_at_index, (b,i))
7575 bfd *(*_bfd_get_elt_at_index) (bfd *, symindex);
7576 int (*_bfd_stat_arch_elt) (bfd *, struct stat *);
7577 bool (*_bfd_update_armap_timestamp) (bfd *);
7578
7579
7580 #define BFD_JUMP_TABLE_SYMBOLS(NAME) \
7581 NAME##_get_symtab_upper_bound, \
7582 NAME##_canonicalize_symtab, \
7583 NAME##_make_empty_symbol, \
7584 NAME##_print_symbol, \
7585 NAME##_get_symbol_info, \
7586 NAME##_get_symbol_version_string, \
7587 NAME##_bfd_is_local_label_name, \
7588 NAME##_bfd_is_target_special_symbol, \
7589 NAME##_get_lineno, \
7590 NAME##_find_nearest_line, \
7591 NAME##_find_line, \
7592 NAME##_find_inliner_info, \
7593 NAME##_bfd_make_debug_symbol, \
7594 NAME##_read_minisymbols, \
7595 NAME##_minisymbol_to_symbol
7596
7597 long (*_bfd_get_symtab_upper_bound) (bfd *);
7598 long (*_bfd_canonicalize_symtab) (bfd *, struct bfd_symbol **);
7599 struct bfd_symbol *
7600 (*_bfd_make_empty_symbol) (bfd *);
7601 void (*_bfd_print_symbol) (bfd *, void *, struct bfd_symbol *,
7602 bfd_print_symbol_type);
7603 #define bfd_print_symbol(b,p,s,e) \
7604 BFD_SEND (b, _bfd_print_symbol, (b,p,s,e))
7605 void (*_bfd_get_symbol_info) (bfd *, struct bfd_symbol *, symbol_info *);
7606 #define bfd_get_symbol_info(b,p,e) \
7607 BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
7608 const char *
7609 (*_bfd_get_symbol_version_string) (bfd *, struct bfd_symbol *,
7610 bool, bool *);
7611 #define bfd_get_symbol_version_string(b,s,p,h) \
7612 BFD_SEND (b, _bfd_get_symbol_version_string, (b,s,p,h))
7613 bool (*_bfd_is_local_label_name) (bfd *, const char *);
7614 bool (*_bfd_is_target_special_symbol) (bfd *, asymbol *);
7615 alent *
7616 (*_get_lineno) (bfd *, struct bfd_symbol *);
7617 bool (*_bfd_find_nearest_line) (bfd *, struct bfd_symbol **,
7618 struct bfd_section *, bfd_vma,
7619 const char **, const char **,
7620 unsigned int *, unsigned int *);
7621 bool (*_bfd_find_line) (bfd *, struct bfd_symbol **,
7622 struct bfd_symbol *, const char **,
7623 unsigned int *);
7624 bool (*_bfd_find_inliner_info)
7625 (bfd *, const char **, const char **, unsigned int *);
7626
7627
7628
7629 asymbol *
7630 (*_bfd_make_debug_symbol) (bfd *, void *, unsigned long size);
7631 #define bfd_read_minisymbols(b, d, m, s) \
7632 BFD_SEND (b, _read_minisymbols, (b, d, m, s))
7633 long (*_read_minisymbols) (bfd *, bool, void **, unsigned int *);
7634 #define bfd_minisymbol_to_symbol(b, d, m, f) \
7635 BFD_SEND (b, _minisymbol_to_symbol, (b, d, m, f))
7636 asymbol *
7637 (*_minisymbol_to_symbol) (bfd *, bool, const void *, asymbol *);
7638
7639
7640 #define BFD_JUMP_TABLE_RELOCS(NAME) \
7641 NAME##_get_reloc_upper_bound, \
7642 NAME##_canonicalize_reloc, \
7643 NAME##_set_reloc, \
7644 NAME##_bfd_reloc_type_lookup, \
7645 NAME##_bfd_reloc_name_lookup
7646
7647 long (*_get_reloc_upper_bound) (bfd *, sec_ptr);
7648 long (*_bfd_canonicalize_reloc) (bfd *, sec_ptr, arelent **,
7649 struct bfd_symbol **);
7650 void (*_bfd_set_reloc) (bfd *, sec_ptr, arelent **, unsigned int);
7651
7652 reloc_howto_type *
7653 (*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
7654 reloc_howto_type *
7655 (*reloc_name_lookup) (bfd *, const char *);
7656
7657
7658 #define BFD_JUMP_TABLE_WRITE(NAME) \
7659 NAME##_set_arch_mach, \
7660 NAME##_set_section_contents
7661
7662 bool (*_bfd_set_arch_mach) (bfd *, enum bfd_architecture,
7663 unsigned long);
7664 bool (*_bfd_set_section_contents) (bfd *, sec_ptr, const void *,
7665 file_ptr, bfd_size_type);
7666
7667
7668 #define BFD_JUMP_TABLE_LINK(NAME) \
7669 NAME##_sizeof_headers, \
7670 NAME##_bfd_get_relocated_section_contents, \
7671 NAME##_bfd_relax_section, \
7672 NAME##_bfd_link_hash_table_create, \
7673 NAME##_bfd_link_add_symbols, \
7674 NAME##_bfd_link_just_syms, \
7675 NAME##_bfd_copy_link_hash_symbol_type, \
7676 NAME##_bfd_final_link, \
7677 NAME##_bfd_link_split_section, \
7678 NAME##_bfd_link_check_relocs, \
7679 NAME##_bfd_gc_sections, \
7680 NAME##_bfd_lookup_section_flags, \
7681 NAME##_bfd_merge_sections, \
7682 NAME##_bfd_is_group_section, \
7683 NAME##_bfd_group_name, \
7684 NAME##_bfd_discard_group, \
7685 NAME##_section_already_linked, \
7686 NAME##_bfd_define_common_symbol, \
7687 NAME##_bfd_link_hide_symbol, \
7688 NAME##_bfd_define_start_stop
7689
7690 int (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
7691 bfd_byte *
7692 (*_bfd_get_relocated_section_contents) (bfd *,
7693 struct bfd_link_info *,
7694 struct bfd_link_order *,
7695 bfd_byte *, bool,
7696 struct bfd_symbol **);
7697
7698 bool (*_bfd_relax_section) (bfd *, struct bfd_section *,
7699 struct bfd_link_info *, bool *);
7700
7701
7702
7703 struct bfd_link_hash_table *
7704 (*_bfd_link_hash_table_create) (bfd *);
7705
7706
7707 bool (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *);
7708
7709
7710 void (*_bfd_link_just_syms) (asection *, struct bfd_link_info *);
7711
7712
7713
7714 #define bfd_copy_link_hash_symbol_type(b, t, f) \
7715 BFD_SEND (b, _bfd_copy_link_hash_symbol_type, (b, t, f))
7716 void (*_bfd_copy_link_hash_symbol_type) (bfd *,
7717 struct bfd_link_hash_entry *,
7718 struct bfd_link_hash_entry *);
7719
7720
7721
7722 bool (*_bfd_final_link) (bfd *, struct bfd_link_info *);
7723
7724
7725 bool (*_bfd_link_split_section) (bfd *, struct bfd_section *);
7726
7727
7728 bool (* _bfd_link_check_relocs)(bfd *, struct bfd_link_info *);
7729
7730
7731 bool (*_bfd_gc_sections) (bfd *, struct bfd_link_info *);
7732
7733
7734 bool (*_bfd_lookup_section_flags) (struct bfd_link_info *,
7735 struct flag_info *, asection *);
7736
7737
7738 bool (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
7739
7740
7741 bool (*_bfd_is_group_section) (bfd *, const struct bfd_section *);
7742
7743
7744 const char *(*_bfd_group_name) (bfd *, const struct bfd_section *);
7745
7746
7747 bool (*_bfd_discard_group) (bfd *, struct bfd_section *);
7748
7749
7750
7751 bool (*_section_already_linked) (bfd *, asection *,
7752 struct bfd_link_info *);
7753
7754
7755 bool (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
7756 struct bfd_link_hash_entry *);
7757
7758
7759 void (*_bfd_link_hide_symbol) (bfd *, struct bfd_link_info *,
7760 struct bfd_link_hash_entry *);
7761
7762
7763 struct bfd_link_hash_entry *
7764 (*_bfd_define_start_stop) (struct bfd_link_info *, const char *,
7765 asection *);
7766
7767
7768 #define BFD_JUMP_TABLE_DYNAMIC(NAME) \
7769 NAME##_get_dynamic_symtab_upper_bound, \
7770 NAME##_canonicalize_dynamic_symtab, \
7771 NAME##_get_synthetic_symtab, \
7772 NAME##_get_dynamic_reloc_upper_bound, \
7773 NAME##_canonicalize_dynamic_reloc
7774
7775
7776 long (*_bfd_get_dynamic_symtab_upper_bound) (bfd *);
7777
7778 long (*_bfd_canonicalize_dynamic_symtab) (bfd *, struct bfd_symbol **);
7779
7780 long (*_bfd_get_synthetic_symtab) (bfd *, long, struct bfd_symbol **,
7781 long, struct bfd_symbol **,
7782 struct bfd_symbol **);
7783
7784 long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *);
7785
7786 long (*_bfd_canonicalize_dynamic_reloc) (bfd *, arelent **,
7787 struct bfd_symbol **);
7788
7789
7790 const struct bfd_target *alternative_target;
7791
7792
7793
7794 const void *backend_data;
7795
7796 } bfd_target;
7797
7798 static inline const char *
7799 bfd_get_target (const bfd *abfd)
7800 {
7801 return abfd->xvec->name;
7802 }
7803
7804 static inline enum bfd_flavour
7805 bfd_get_flavour (const bfd *abfd)
7806 {
7807 return abfd->xvec->flavour;
7808 }
7809
7810 static inline flagword
7811 bfd_applicable_file_flags (const bfd *abfd)
7812 {
7813 return abfd->xvec->object_flags;
7814 }
7815
7816 static inline bool
7817 bfd_family_coff (const bfd *abfd)
7818 {
7819 return (bfd_get_flavour (abfd) == bfd_target_coff_flavour
7820 || bfd_get_flavour (abfd) == bfd_target_xcoff_flavour);
7821 }
7822
7823 static inline bool
7824 bfd_big_endian (const bfd *abfd)
7825 {
7826 return abfd->xvec->byteorder == BFD_ENDIAN_BIG;
7827 }
7828 static inline bool
7829 bfd_little_endian (const bfd *abfd)
7830 {
7831 return abfd->xvec->byteorder == BFD_ENDIAN_LITTLE;
7832 }
7833
7834 static inline bool
7835 bfd_header_big_endian (const bfd *abfd)
7836 {
7837 return abfd->xvec->header_byteorder == BFD_ENDIAN_BIG;
7838 }
7839
7840 static inline bool
7841 bfd_header_little_endian (const bfd *abfd)
7842 {
7843 return abfd->xvec->header_byteorder == BFD_ENDIAN_LITTLE;
7844 }
7845
7846 static inline flagword
7847 bfd_applicable_section_flags (const bfd *abfd)
7848 {
7849 return abfd->xvec->section_flags;
7850 }
7851
7852 static inline char
7853 bfd_get_symbol_leading_char (const bfd *abfd)
7854 {
7855 return abfd->xvec->symbol_leading_char;
7856 }
7857
7858 static inline enum bfd_flavour
7859 bfd_asymbol_flavour (const asymbol *sy)
7860 {
7861 if ((sy->flags & BSF_SYNTHETIC) != 0)
7862 return bfd_target_unknown_flavour;
7863 return sy->the_bfd->xvec->flavour;
7864 }
7865
7866 static inline bool
7867 bfd_keep_unused_section_symbols (const bfd *abfd)
7868 {
7869 return abfd->xvec->keep_unused_section_symbols;
7870 }
7871
7872 bool bfd_set_default_target (const char *name);
7873
7874 const bfd_target *bfd_find_target (const char *target_name, bfd *abfd);
7875
7876 const bfd_target *bfd_get_target_info (const char *target_name,
7877 bfd *abfd,
7878 bool *is_bigendian,
7879 int *underscoring,
7880 const char **def_target_arch);
7881 const char ** bfd_target_list (void);
7882
7883 const bfd_target *bfd_iterate_over_targets
7884 (int (*func) (const bfd_target *, void *),
7885 void *data);
7886
7887 const char *bfd_flavour_name (enum bfd_flavour flavour);
7888
7889
7890 bool bfd_check_format (bfd *abfd, bfd_format format);
7891
7892 bool bfd_check_format_matches
7893 (bfd *abfd, bfd_format format, char ***matching);
7894
7895 bool bfd_set_format (bfd *abfd, bfd_format format);
7896
7897 const char *bfd_format_string (bfd_format format);
7898
7899
7900
7901
7902
7903
7904
7905 #define bfd_is_abs_symbol(H) \
7906 (((H)->type == bfd_link_hash_defined \
7907 || (H)->type == bfd_link_hash_defweak) \
7908 && bfd_is_abs_section ((H)->u.def.section) \
7909 && !(H)->rel_from_abs)
7910
7911 bool bfd_link_split_section (bfd *abfd, asection *sec);
7912
7913 #define bfd_link_split_section(abfd, sec) \
7914 BFD_SEND (abfd, _bfd_link_split_section, (abfd, sec))
7915
7916 bool bfd_section_already_linked (bfd *abfd,
7917 asection *sec,
7918 struct bfd_link_info *info);
7919
7920 #define bfd_section_already_linked(abfd, sec, info) \
7921 BFD_SEND (abfd, _section_already_linked, (abfd, sec, info))
7922
7923 bool bfd_generic_define_common_symbol
7924 (bfd *output_bfd, struct bfd_link_info *info,
7925 struct bfd_link_hash_entry *h);
7926
7927 #define bfd_define_common_symbol(output_bfd, info, h) \
7928 BFD_SEND (output_bfd, _bfd_define_common_symbol, (output_bfd, info, h))
7929
7930 void _bfd_generic_link_hide_symbol
7931 (bfd *output_bfd, struct bfd_link_info *info,
7932 struct bfd_link_hash_entry *h);
7933
7934 #define bfd_link_hide_symbol(output_bfd, info, h) \
7935 BFD_SEND (output_bfd, _bfd_link_hide_symbol, (output_bfd, info, h))
7936
7937 struct bfd_link_hash_entry *bfd_generic_define_start_stop
7938 (struct bfd_link_info *info,
7939 const char *symbol, asection *sec);
7940
7941 #define bfd_define_start_stop(output_bfd, info, symbol, sec) \
7942 BFD_SEND (output_bfd, _bfd_define_start_stop, (info, symbol, sec))
7943
7944 struct bfd_elf_version_tree * bfd_find_version_for_sym
7945 (struct bfd_elf_version_tree *verdefs,
7946 const char *sym_name, bool *hide);
7947
7948 bool bfd_hide_sym_by_version
7949 (struct bfd_elf_version_tree *verdefs, const char *sym_name);
7950
7951 bool bfd_link_check_relocs
7952 (bfd *abfd, struct bfd_link_info *info);
7953
7954 bool _bfd_generic_link_check_relocs
7955 (bfd *abfd, struct bfd_link_info *info);
7956
7957 bool bfd_merge_private_bfd_data
7958 (bfd *ibfd, struct bfd_link_info *info);
7959
7960 #define bfd_merge_private_bfd_data(ibfd, info) \
7961 BFD_SEND ((info)->output_bfd, _bfd_merge_private_bfd_data, \
7962 (ibfd, info))
7963
7964 bfd_byte *bfd_simple_get_relocated_section_contents
7965 (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table);
7966
7967
7968 bool bfd_get_full_section_contents
7969 (bfd *abfd, asection *section, bfd_byte **ptr);
7970
7971 void bfd_cache_section_contents
7972 (asection *sec, void *contents);
7973
7974 bool bfd_is_section_compressed_with_header
7975 (bfd *abfd, asection *section,
7976 int *compression_header_size_p,
7977 bfd_size_type *uncompressed_size_p,
7978 unsigned int *uncompressed_alignment_power_p);
7979
7980 bool bfd_is_section_compressed
7981 (bfd *abfd, asection *section);
7982
7983 bool bfd_init_section_decompress_status
7984 (bfd *abfd, asection *section);
7985
7986 bool bfd_init_section_compress_status
7987 (bfd *abfd, asection *section);
7988
7989 bool bfd_compress_section
7990 (bfd *abfd, asection *section, bfd_byte *uncompressed_buffer);
7991
7992 #ifdef __cplusplus
7993 }
7994 #endif
7995 #endif