Add support for DragonFlyBSD target.
[binutils.git] / bfd / libbfd.h
Commit [+]AuthorDateLineData
80873cfb Alan Modra2001-10-01 14:03:36 +00001/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically
eadf164a
KD
Klee Dienes2002-11-18 16:37:54 +00002 generated from "libbfd-in.h", "init.c", "libbfd.c", "bfdio.c",
3 "bfdwin.c", "cache.c", "reloc.c", "archures.c" and "elf.c".
80873cfb
AM
Alan Modra2001-10-01 14:03:36 +00004 Run "make headers" in your build bfd/ to regenerate. */
5
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00006/* libbfd.h -- Declarations used by bfd library *implementation*.
7 (This include file is not for users of the library.)
ea749c37
AC
Andrew Cagney2004-02-11 23:23:20 +00008
9 Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
05186a7b
JM
Joseph Myers2010-03-25 21:12:25 +000010 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
11 2010
46a4ba98 Alan Modra2005-02-20 14:59:07 +000012 Free Software Foundation, Inc.
ea749c37 Andrew Cagney2004-02-11 23:23:20 +000013
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +000014 Written by Cygnus Support.
15
dd915d2b
NC
Nick Clifton2007-07-03 14:26:43 +000016 This file is part of BFD, the Binary File Descriptor library.
17
18 This program is free software; you can redistribute it and/or modify
19 it under the terms of the GNU General Public License as published by
20 the Free Software Foundation; either version 3 of the License, or
21 (at your option) any later version.
22
23 This program is distributed in the hope that it will be useful,
24 but WITHOUT ANY WARRANTY; without even the implied warranty of
25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 GNU General Public License for more details.
27
28 You should have received a copy of the GNU General Public License
29 along with this program; if not, write to the Free Software
30 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
31 MA 02110-1301, USA. */
aa2289c2 Richard Henderson1999-05-03 07:29:11 +000032
7db0d81d
BE
Ben Elliston2005-03-10 00:29:35 +000033#include "hashtab.h"
34
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +000035/* Align an address upward to a boundary, expressed as a number of bytes.
36 E.g. align to an 8-byte boundary with argument of 8. Take care never
37 to wrap around if the address is within boundary-1 of the end of the
38 address space. */
61ffdd1d
AM
Alan Modra2001-09-18 09:57:26 +000039#define BFD_ALIGN(this, boundary) \
40 ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this)) \
41 ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +000042 : ~ (bfd_vma) 0)
43
44/* If you want to read and write large blocks, you might want to do it
45 in quanta of this amount */
46#define DEFAULT_BUFFERSIZE 8192
47
48/* Set a tdata field. Can't use the other macros for this, since they
49 do casts, and casting to the left of assignment isn't portable. */
95c86dce Alan Modra2003-06-29 10:06:40 +000050#define set_tdata(bfd, v) ((bfd)->tdata.any = (v))
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +000051
52/* If BFD_IN_MEMORY is set for a BFD, then the iostream fields points
53 to an instance of this structure. */
54
55struct bfd_in_memory
56{
57 /* Size of buffer. */
58 bfd_size_type size;
59 /* Buffer holding contents of BFD. */
60 bfd_byte *buffer;
61};
62
6069881b
AM
Alan Modra2006-03-16 12:20:16 +000063struct section_hash_entry
64{
65 struct bfd_hash_entry root;
66 asection section;
67};
68
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +000069/* tdata for an archive. For an input archive, cache
70 needs to be free()'d. For an output archive, symdefs do. */
71
72struct artdata {
73 file_ptr first_file_filepos;
74 /* Speed up searching the armap */
7db0d81d Ben Elliston2005-03-10 00:29:35 +000075 htab_t cache;
e07cd246 Alan Modra2000-07-08 12:08:43 +000076 bfd *archive_head; /* Only interesting in output routines */
aa2289c2 Richard Henderson1999-05-03 07:29:11 +000077 carsym *symdefs; /* the symdef entries */
e07cd246 Alan Modra2000-07-08 12:08:43 +000078 symindex symdef_count; /* how many there are */
aa2289c2 Richard Henderson1999-05-03 07:29:11 +000079 char *extended_names; /* clever intel extension */
9ae4d967 Jakub Jelinek2005-07-05 09:45:54 +000080 bfd_size_type extended_names_size; /* Size of extended names */
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +000081 /* when more compilers are standard C, this can be a time_t */
82 long armap_timestamp; /* Timestamp value written into armap.
83 This is used for BSD archives to check
84 that the timestamp is recent enough
85 for the BSD linker to not complain,
86 just before we finish writing an
87 archive. */
88 file_ptr armap_datepos; /* Position within archive to seek to
89 rewrite the date field. */
95c86dce Alan Modra2003-06-29 10:06:40 +000090 void *tdata; /* Backend specific information. */
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +000091};
92
93#define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data)
94
95/* Goes in bfd's arelt_data slot */
96struct areltdata {
e07cd246
AM
Alan Modra2000-07-08 12:08:43 +000097 char * arch_header; /* it's actually a string */
98 unsigned int parsed_size; /* octets of filesize not including ar_hdr */
1321a22f Tristan Gingold2010-01-26 13:42:26 +000099 unsigned int extra_size; /* BSD4.4: extra bytes after the header. */
e07cd246 Alan Modra2000-07-08 12:08:43 +0000100 char *filename; /* null-terminated */
f6e45b9a Nick Clifton2008-03-28 06:49:44 +0000101 file_ptr origin; /* for element of a thin archive */
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000102};
103
104#define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size)
105
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000106extern void *bfd_malloc
107 (bfd_size_type);
108extern void *bfd_realloc
109 (void *, bfd_size_type);
96d3cffe
NC
Nick Clifton2008-02-20 17:42:36 +0000110extern void *bfd_realloc_or_free
111 (void *, bfd_size_type);
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000112extern void *bfd_zmalloc
113 (bfd_size_type);
365967f9
JJ
Jakub Jelinek2005-07-05 09:44:20 +0000114extern void *bfd_malloc2
115 (bfd_size_type, bfd_size_type);
116extern void *bfd_realloc2
117 (void *, bfd_size_type, bfd_size_type);
118extern void *bfd_zmalloc2
119 (bfd_size_type, bfd_size_type);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000120
7cfbbe4f H.J. Lu2004-07-30 15:37:04 +0000121extern void _bfd_default_error_handler (const char *s, ...);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000122extern bfd_error_handler_type _bfd_error_handler;
123
124/* These routines allocate and free things on the BFD's objalloc. */
125
365967f9
JJ
Jakub Jelinek2005-07-05 09:44:20 +0000126extern void *bfd_alloc2
127 (bfd *, bfd_size_type, bfd_size_type);
128extern void *bfd_zalloc2
129 (bfd *, bfd_size_type, bfd_size_type);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000130extern void bfd_release
95c86dce Alan Modra2003-06-29 10:06:40 +0000131 (bfd *, void *);
21bd0c8d
AM
Alan Modra2002-11-30 08:39:46 +0000132
133bfd * _bfd_create_empty_archive_element_shell
95c86dce Alan Modra2003-06-29 10:06:40 +0000134 (bfd *obfd);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000135bfd * _bfd_look_for_bfd_in_cache
95c86dce Alan Modra2003-06-29 10:06:40 +0000136 (bfd *, file_ptr);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000137bfd_boolean _bfd_add_bfd_to_archive_cache
95c86dce Alan Modra2003-06-29 10:06:40 +0000138 (bfd *, file_ptr, bfd *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000139bfd_boolean _bfd_generic_mkarchive
95c86dce Alan Modra2003-06-29 10:06:40 +0000140 (bfd *abfd);
053dc88b
TG
Tristan Gingold2010-04-01 09:47:13 +0000141char *_bfd_append_relative_path
142 (bfd *arch, char *elt_name);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000143const bfd_target *bfd_generic_archive_p
95c86dce Alan Modra2003-06-29 10:06:40 +0000144 (bfd *abfd);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000145bfd_boolean bfd_slurp_armap
95c86dce Alan Modra2003-06-29 10:06:40 +0000146 (bfd *abfd);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000147bfd_boolean bfd_slurp_bsd_armap_f2
95c86dce Alan Modra2003-06-29 10:06:40 +0000148 (bfd *abfd);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000149#define bfd_slurp_bsd_armap bfd_slurp_armap
150#define bfd_slurp_coff_armap bfd_slurp_armap
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000151bfd_boolean _bfd_slurp_extended_name_table
95c86dce Alan Modra2003-06-29 10:06:40 +0000152 (bfd *abfd);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000153extern bfd_boolean _bfd_construct_extended_name_table
95c86dce Alan Modra2003-06-29 10:06:40 +0000154 (bfd *, bfd_boolean, char **, bfd_size_type *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000155bfd_boolean _bfd_write_archive_contents
95c86dce Alan Modra2003-06-29 10:06:40 +0000156 (bfd *abfd);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000157bfd_boolean _bfd_compute_and_write_armap
95c86dce Alan Modra2003-06-29 10:06:40 +0000158 (bfd *, unsigned int elength);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000159bfd *_bfd_get_elt_at_filepos
95c86dce Alan Modra2003-06-29 10:06:40 +0000160 (bfd *archive, file_ptr filepos);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000161extern bfd *_bfd_generic_get_elt_at_index
95c86dce Alan Modra2003-06-29 10:06:40 +0000162 (bfd *, symindex);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000163bfd * _bfd_new_bfd
95c86dce Alan Modra2003-06-29 10:06:40 +0000164 (void);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000165void _bfd_delete_bfd
95c86dce Alan Modra2003-06-29 10:06:40 +0000166 (bfd *);
b6c62281
L
H.J. Lu2006-04-25 19:09:58 +0000167bfd_boolean _bfd_free_cached_info
168 (bfd *);
21bd0c8d
AM
Alan Modra2002-11-30 08:39:46 +0000169
170bfd_boolean bfd_false
95c86dce Alan Modra2003-06-29 10:06:40 +0000171 (bfd *ignore);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000172bfd_boolean bfd_true
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000173 (bfd *ignore);
174void *bfd_nullvoidptr
175 (bfd *ignore);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000176int bfd_0
95c86dce Alan Modra2003-06-29 10:06:40 +0000177 (bfd *ignore);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000178unsigned int bfd_0u
95c86dce Alan Modra2003-06-29 10:06:40 +0000179 (bfd *ignore);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000180long bfd_0l
95c86dce Alan Modra2003-06-29 10:06:40 +0000181 (bfd *ignore);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000182long _bfd_n1
95c86dce Alan Modra2003-06-29 10:06:40 +0000183 (bfd *ignore);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000184void bfd_void
95c86dce Alan Modra2003-06-29 10:06:40 +0000185 (bfd *ignore);
21bd0c8d
AM
Alan Modra2002-11-30 08:39:46 +0000186
187bfd *_bfd_new_bfd_contained_in
95c86dce Alan Modra2003-06-29 10:06:40 +0000188 (bfd *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000189const bfd_target *_bfd_dummy_target
95c86dce Alan Modra2003-06-29 10:06:40 +0000190 (bfd *abfd);
21bd0c8d
AM
Alan Modra2002-11-30 08:39:46 +0000191
192void bfd_dont_truncate_arname
95c86dce Alan Modra2003-06-29 10:06:40 +0000193 (bfd *abfd, const char *filename, char *hdr);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000194void bfd_bsd_truncate_arname
95c86dce Alan Modra2003-06-29 10:06:40 +0000195 (bfd *abfd, const char *filename, char *hdr);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000196void bfd_gnu_truncate_arname
95c86dce Alan Modra2003-06-29 10:06:40 +0000197 (bfd *abfd, const char *filename, char *hdr);
21bd0c8d
AM
Alan Modra2002-11-30 08:39:46 +0000198
199bfd_boolean bsd_write_armap
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000200 (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
201 int stridx);
21bd0c8d
AM
Alan Modra2002-11-30 08:39:46 +0000202
203bfd_boolean coff_write_armap
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000204 (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
205 int stridx);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000206
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000207extern void *_bfd_generic_read_ar_hdr
208 (bfd *);
8a91badc
JJ
Jakub Jelinek2005-03-11 16:37:17 +0000209extern void _bfd_ar_spacepad
210 (char *, size_t, const char *, long);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000211
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000212extern void *_bfd_generic_read_ar_hdr_mag
213 (bfd *, const char *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000214
1321a22f
TG
Tristan Gingold2010-01-26 13:42:26 +0000215extern bfd_boolean _bfd_generic_write_ar_hdr
216 (bfd *, bfd *);
217
218extern bfd_boolean _bfd_bsd44_write_ar_hdr
219 (bfd *, bfd *);
220
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000221bfd * bfd_generic_openr_next_archived_file
95c86dce Alan Modra2003-06-29 10:06:40 +0000222 (bfd *archive, bfd *last_file);
21bd0c8d
AM
Alan Modra2002-11-30 08:39:46 +0000223
224int bfd_generic_stat_arch_elt
95c86dce Alan Modra2003-06-29 10:06:40 +0000225 (bfd *, struct stat *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000226
227#define _bfd_read_ar_hdr(abfd) \
228 BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd))
1321a22f
TG
Tristan Gingold2010-01-26 13:42:26 +0000229#define _bfd_write_ar_hdr(archive, abfd) \
230 BFD_SEND (abfd, _bfd_write_ar_hdr_fn, (archive, abfd))
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000231\f
232/* Generic routines to use for BFD_JUMP_TABLE_GENERIC. Use
233 BFD_JUMP_TABLE_GENERIC (_bfd_generic). */
234
235#define _bfd_generic_close_and_cleanup bfd_true
236#define _bfd_generic_bfd_free_cached_info bfd_true
f54fcba1
AM
Alan Modra2006-05-03 14:26:41 +0000237extern bfd_boolean _bfd_generic_new_section_hook
238 (bfd *, asection *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000239extern bfd_boolean _bfd_generic_get_section_contents
95c86dce Alan Modra2003-06-29 10:06:40 +0000240 (bfd *, asection *, void *, file_ptr, bfd_size_type);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000241extern bfd_boolean _bfd_generic_get_section_contents_in_window
95c86dce Alan Modra2003-06-29 10:06:40 +0000242 (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000243
244/* Generic routines to use for BFD_JUMP_TABLE_COPY. Use
245 BFD_JUMP_TABLE_COPY (_bfd_generic). */
246
247#define _bfd_generic_bfd_copy_private_bfd_data \
95c86dce Alan Modra2003-06-29 10:06:40 +0000248 ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000249#define _bfd_generic_bfd_merge_private_bfd_data \
95c86dce Alan Modra2003-06-29 10:06:40 +0000250 ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000251#define _bfd_generic_bfd_set_private_flags \
95c86dce Alan Modra2003-06-29 10:06:40 +0000252 ((bfd_boolean (*) (bfd *, flagword)) bfd_true)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000253#define _bfd_generic_bfd_copy_private_section_data \
95c86dce Alan Modra2003-06-29 10:06:40 +0000254 ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000255#define _bfd_generic_bfd_copy_private_symbol_data \
95c86dce Alan Modra2003-06-29 10:06:40 +0000256 ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true)
ad59c688
BW
Bob Wilson2004-05-17 16:40:01 +0000257#define _bfd_generic_bfd_copy_private_header_data \
258 ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000259#define _bfd_generic_bfd_print_private_bfd_data \
95c86dce Alan Modra2003-06-29 10:06:40 +0000260 ((bfd_boolean (*) (bfd *, void *)) bfd_true)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000261
d01a73f8
L
H.J. Lu2005-10-24 01:40:58 +0000262extern bfd_boolean _bfd_generic_init_private_section_data
263 (bfd *, asection *, bfd *, asection *, struct bfd_link_info *);
264
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000265/* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file
266 support. Use BFD_JUMP_TABLE_CORE (_bfd_nocore). */
267
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000268extern char *_bfd_nocore_core_file_failing_command
95c86dce Alan Modra2003-06-29 10:06:40 +0000269 (bfd *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000270extern int _bfd_nocore_core_file_failing_signal
95c86dce Alan Modra2003-06-29 10:06:40 +0000271 (bfd *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000272extern bfd_boolean _bfd_nocore_core_file_matches_executable_p
95c86dce Alan Modra2003-06-29 10:06:40 +0000273 (bfd *, bfd *);
9645e3f0
PA
Pedro Alves2010-08-18 12:24:02 +0000274extern int _bfd_nocore_core_file_pid
275 (bfd *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000276
277/* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive
278 file support. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive). */
279
280#define _bfd_noarchive_slurp_armap bfd_false
281#define _bfd_noarchive_slurp_extended_name_table bfd_false
282#define _bfd_noarchive_construct_extended_name_table \
95c86dce Alan Modra2003-06-29 10:06:40 +0000283 ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000284 bfd_false)
285#define _bfd_noarchive_truncate_arname \
95c86dce Alan Modra2003-06-29 10:06:40 +0000286 ((void (*) (bfd *, const char *, char *)) bfd_void)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000287#define _bfd_noarchive_write_armap \
95c86dce Alan Modra2003-06-29 10:06:40 +0000288 ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000289 bfd_false)
290#define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr
1321a22f
TG
Tristan Gingold2010-01-26 13:42:26 +0000291#define _bfd_noarchive_write_ar_hdr \
292 ((bfd_boolean (*) (bfd *, bfd *)) bfd_false)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000293#define _bfd_noarchive_openr_next_archived_file \
95c86dce Alan Modra2003-06-29 10:06:40 +0000294 ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000295#define _bfd_noarchive_get_elt_at_index \
95c86dce Alan Modra2003-06-29 10:06:40 +0000296 ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr)
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000297#define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt
298#define _bfd_noarchive_update_armap_timestamp bfd_false
299
300/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD style
301 archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd). */
302
303#define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap
304#define _bfd_archive_bsd_slurp_extended_name_table \
305 _bfd_slurp_extended_name_table
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000306extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table
95c86dce Alan Modra2003-06-29 10:06:40 +0000307 (bfd *, char **, bfd_size_type *, const char **);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000308#define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname
309#define _bfd_archive_bsd_write_armap bsd_write_armap
310#define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr
1321a22f Tristan Gingold2010-01-26 13:42:26 +0000311#define _bfd_archive_bsd_write_ar_hdr _bfd_generic_write_ar_hdr
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000312#define _bfd_archive_bsd_openr_next_archived_file \
313 bfd_generic_openr_next_archived_file
314#define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index
315#define _bfd_archive_bsd_generic_stat_arch_elt \
316 bfd_generic_stat_arch_elt
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000317extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp
95c86dce Alan Modra2003-06-29 10:06:40 +0000318 (bfd *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000319
320/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style
321 archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff). */
322
323#define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap
324#define _bfd_archive_coff_slurp_extended_name_table \
325 _bfd_slurp_extended_name_table
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000326extern bfd_boolean _bfd_archive_coff_construct_extended_name_table
95c86dce Alan Modra2003-06-29 10:06:40 +0000327 (bfd *, char **, bfd_size_type *, const char **);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000328#define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname
329#define _bfd_archive_coff_write_armap coff_write_armap
330#define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr
1321a22f Tristan Gingold2010-01-26 13:42:26 +0000331#define _bfd_archive_coff_write_ar_hdr _bfd_generic_write_ar_hdr
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000332#define _bfd_archive_coff_openr_next_archived_file \
333 bfd_generic_openr_next_archived_file
334#define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index
335#define _bfd_archive_coff_generic_stat_arch_elt \
336 bfd_generic_stat_arch_elt
337#define _bfd_archive_coff_update_armap_timestamp bfd_true
338
1321a22f
TG
Tristan Gingold2010-01-26 13:42:26 +0000339/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD4.4 style
340 archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd44). */
341
342#define _bfd_archive_bsd44_slurp_armap bfd_slurp_bsd_armap
343#define _bfd_archive_bsd44_slurp_extended_name_table \
344 _bfd_slurp_extended_name_table
345extern bfd_boolean _bfd_archive_bsd44_construct_extended_name_table
346 (bfd *, char **, bfd_size_type *, const char **);
347#define _bfd_archive_bsd44_truncate_arname bfd_bsd_truncate_arname
348#define _bfd_archive_bsd44_write_armap bsd_write_armap
349#define _bfd_archive_bsd44_read_ar_hdr _bfd_generic_read_ar_hdr
350#define _bfd_archive_bsd44_write_ar_hdr _bfd_bsd44_write_ar_hdr
351#define _bfd_archive_bsd44_openr_next_archived_file \
352 bfd_generic_openr_next_archived_file
353#define _bfd_archive_bsd44_get_elt_at_index _bfd_generic_get_elt_at_index
354#define _bfd_archive_bsd44_generic_stat_arch_elt \
355 bfd_generic_stat_arch_elt
356#define _bfd_archive_bsd44_update_armap_timestamp \
357 _bfd_archive_bsd_update_armap_timestamp
358
053dc88b
TG
Tristan Gingold2010-04-01 09:47:13 +0000359/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get VMS style
360 archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_vms_lib). Some of them
361 are irrelevant and never called, so defined as NULL. */
362
363extern bfd_boolean _bfd_vms_lib_write_archive_contents (bfd *arch);
364#define _bfd_vms_lib_slurp_armap NULL
365#define _bfd_vms_lib_slurp_extended_name_table NULL
366#define _bfd_vms_lib_construct_extended_name_table NULL
367#define _bfd_vms_lib_truncate_arname NULL
368#define _bfd_vms_lib_write_armap NULL
369#define _bfd_vms_lib_read_ar_hdr NULL
370#define _bfd_vms_lib_write_ar_hdr NULL
371extern bfd *_bfd_vms_lib_openr_next_archived_file (bfd *, bfd *);
372extern bfd *_bfd_vms_lib_get_elt_at_index (bfd *, symindex);
373extern int _bfd_vms_lib_generic_stat_arch_elt (bfd *, struct stat *);
374#define _bfd_vms_lib_update_armap_timestamp bfd_true
375
376/* Extra routines for VMS style archives. */
377
378extern symindex _bfd_vms_lib_find_symbol (bfd *, const char *);
379extern bfd *_bfd_vms_lib_get_imagelib_file (bfd *);
380extern const bfd_target *_bfd_vms_lib_alpha_archive_p (bfd *abfd);
7ead9a68 Tristan Gingold2010-05-14 07:18:37 +0000381extern const bfd_target *_bfd_vms_lib_ia64_archive_p (bfd *abfd);
5a8020d3 Tristan Gingold2010-05-31 15:03:14 +0000382extern bfd_boolean _bfd_vms_lib_alpha_mkarchive (bfd *abfd);
b0164f32 Tristan Gingold2010-06-08 08:26:00 +0000383extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *abfd);
053dc88b Tristan Gingold2010-04-01 09:47:13 +0000384
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000385/* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol
386 support. Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). */
387
388#define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1
bd33494c Andrew Cagney2003-10-16 04:11:10 +0000389#define _bfd_nosymbols_canonicalize_symtab \
95c86dce Alan Modra2003-06-29 10:06:40 +0000390 ((long (*) (bfd *, asymbol **)) _bfd_n1)
c7f0e618 Alan Modra2002-01-06 07:30:35 +0000391#define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000392#define _bfd_nosymbols_print_symbol \
95c86dce Alan Modra2003-06-29 10:06:40 +0000393 ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000394#define _bfd_nosymbols_get_symbol_info \
95c86dce Alan Modra2003-06-29 10:06:40 +0000395 ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000396#define _bfd_nosymbols_bfd_is_local_label_name \
95c86dce Alan Modra2003-06-29 10:06:40 +0000397 ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
458b2574
NC
Nick Clifton2004-10-08 14:54:04 +0000398#define _bfd_nosymbols_bfd_is_target_special_symbol \
399 ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000400#define _bfd_nosymbols_get_lineno \
95c86dce Alan Modra2003-06-29 10:06:40 +0000401 ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000402#define _bfd_nosymbols_find_nearest_line \
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000403 ((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \
404 const char **, unsigned int *)) \
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000405 bfd_false)
54f83b69
FF
Fred Fish2005-05-23 17:44:55 +0000406#define _bfd_nosymbols_find_inliner_info \
407 ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \
408 bfd_false)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000409#define _bfd_nosymbols_bfd_make_debug_symbol \
95c86dce Alan Modra2003-06-29 10:06:40 +0000410 ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000411#define _bfd_nosymbols_read_minisymbols \
95c86dce Alan Modra2003-06-29 10:06:40 +0000412 ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000413#define _bfd_nosymbols_minisymbol_to_symbol \
95c86dce Alan Modra2003-06-29 10:06:40 +0000414 ((asymbol *(*) (bfd *, bfd_boolean, const void *, asymbol *)) \
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000415 bfd_nullvoidptr)
416
417/* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc
418 support. Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs). */
419
92324fb7
AM
Alan Modra2007-02-15 08:33:53 +0000420extern long _bfd_norelocs_get_reloc_upper_bound (bfd *, asection *);
421extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *,
422 arelent **, asymbol **);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000423#define _bfd_norelocs_bfd_reloc_type_lookup \
95c86dce Alan Modra2003-06-29 10:06:40 +0000424 ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
dd3ab927
AM
Alan Modra2007-03-26 12:23:03 +0000425#define _bfd_norelocs_bfd_reloc_name_lookup \
426 ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000427
428/* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not
429 be written. Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite). */
430
431#define _bfd_nowrite_set_arch_mach \
95c86dce Alan Modra2003-06-29 10:06:40 +0000432 ((bfd_boolean (*) (bfd *, enum bfd_architecture, unsigned long)) \
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000433 bfd_false)
434#define _bfd_nowrite_set_section_contents \
5f95a5a3 Alan Modra2003-11-04 10:41:52 +0000435 ((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000436 bfd_false)
437
438/* Generic routines to use for BFD_JUMP_TABLE_WRITE. Use
439 BFD_JUMP_TABLE_WRITE (_bfd_generic). */
440
441#define _bfd_generic_set_arch_mach bfd_default_set_arch_mach
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000442extern bfd_boolean _bfd_generic_set_section_contents
5f95a5a3 Alan Modra2003-11-04 10:41:52 +0000443 (bfd *, asection *, const void *, file_ptr, bfd_size_type);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000444
445/* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not
446 support linking. Use BFD_JUMP_TABLE_LINK (_bfd_nolink). */
447
0fb7f149
AM
Alan Modra2006-06-19 13:17:44 +0000448#define _bfd_nolink_sizeof_headers \
449 ((int (*) (bfd *, struct bfd_link_info *)) bfd_0)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000450#define _bfd_nolink_bfd_get_relocated_section_contents \
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000451 ((bfd_byte *(*) (bfd *, struct bfd_link_info *, struct bfd_link_order *, \
452 bfd_byte *, bfd_boolean, asymbol **)) \
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000453 bfd_nullvoidptr)
454#define _bfd_nolink_bfd_relax_section \
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000455 ((bfd_boolean (*) \
95c86dce Alan Modra2003-06-29 10:06:40 +0000456 (bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000457 bfd_false)
458#define _bfd_nolink_bfd_gc_sections \
95c86dce Alan Modra2003-06-29 10:06:40 +0000459 ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000460 bfd_false)
b6959f39 Jakub Jelinek2001-05-11 12:23:48 +0000461#define _bfd_nolink_bfd_merge_sections \
95c86dce Alan Modra2003-06-29 10:06:40 +0000462 ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
b6959f39 Jakub Jelinek2001-05-11 12:23:48 +0000463 bfd_false)
c37ce347
AM
Alan Modra2004-04-30 14:23:40 +0000464#define _bfd_nolink_bfd_is_group_section \
465 ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
466 bfd_false)
9673d88b Alan Modra2002-06-05 03:43:11 +0000467#define _bfd_nolink_bfd_discard_group \
3df52dfb Andrew Cagney2003-10-20 14:38:42 +0000468 ((bfd_boolean (*) (bfd *, struct bfd_section *)) \
9673d88b Alan Modra2002-06-05 03:43:11 +0000469 bfd_false)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000470#define _bfd_nolink_bfd_link_hash_table_create \
95c86dce Alan Modra2003-06-29 10:06:40 +0000471 ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
57248c92 Daniel Jacobowitz2002-04-04 19:53:38 +0000472#define _bfd_nolink_bfd_link_hash_table_free \
95c86dce Alan Modra2003-06-29 10:06:40 +0000473 ((void (*) (struct bfd_link_hash_table *)) bfd_void)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000474#define _bfd_nolink_bfd_link_add_symbols \
95c86dce Alan Modra2003-06-29 10:06:40 +0000475 ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
1a04612a Alan Modra2002-05-15 00:18:58 +0000476#define _bfd_nolink_bfd_link_just_syms \
95c86dce Alan Modra2003-06-29 10:06:40 +0000477 ((void (*) (asection *, struct bfd_link_info *)) bfd_void)
68fc6ea9
PB
Paul Brook2009-11-23 14:41:26 +0000478#define _bfd_nolink_bfd_copy_link_hash_symbol_type \
479 ((void (*) (bfd *, struct bfd_link_hash_entry *, \
480 struct bfd_link_hash_entry *)) bfd_void)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000481#define _bfd_nolink_bfd_final_link \
95c86dce Alan Modra2003-06-29 10:06:40 +0000482 ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000483#define _bfd_nolink_bfd_link_split_section \
3df52dfb Andrew Cagney2003-10-20 14:38:42 +0000484 ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
2b5a6ba1 H.J. Lu2004-07-21 15:42:58 +0000485#define _bfd_nolink_section_already_linked \
4d53a35f H.J. Lu2006-10-30 23:25:51 +0000486 ((void (*) (bfd *, struct bfd_section *, struct bfd_link_info *)) bfd_void)
48269deb
RS
Richard Sandiford2009-04-16 23:07:00 +0000487#define _bfd_nolink_bfd_define_common_symbol \
488 ((bfd_boolean (*) (bfd *, struct bfd_link_info *, \
489 struct bfd_link_hash_entry *)) bfd_false)
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000490
491/* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not
492 have dynamic symbols or relocs. Use BFD_JUMP_TABLE_DYNAMIC
493 (_bfd_nodynamic). */
494
495#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
496#define _bfd_nodynamic_canonicalize_dynamic_symtab \
95c86dce Alan Modra2003-06-29 10:06:40 +0000497 ((long (*) (bfd *, asymbol **)) _bfd_n1)
ff13e4c6 Jakub Jelinek2004-04-22 14:45:32 +0000498#define _bfd_nodynamic_get_synthetic_symtab \
dd9c6531 Alan Modra2004-08-28 03:05:18 +0000499 ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1)
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000500#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
501#define _bfd_nodynamic_canonicalize_dynamic_reloc \
95c86dce Alan Modra2003-06-29 10:06:40 +0000502 ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000503\f
504/* Generic routine to determine of the given symbol is a local
505 label. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000506extern bfd_boolean bfd_generic_is_local_label_name
95c86dce Alan Modra2003-06-29 10:06:40 +0000507 (bfd *, const char *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000508
509/* Generic minisymbol routines. */
510extern long _bfd_generic_read_minisymbols
95c86dce Alan Modra2003-06-29 10:06:40 +0000511 (bfd *, bfd_boolean, void **, unsigned int *);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000512extern asymbol *_bfd_generic_minisymbol_to_symbol
95c86dce Alan Modra2003-06-29 10:06:40 +0000513 (bfd *, bfd_boolean, const void *, asymbol *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000514
515/* Find the nearest line using .stab/.stabstr sections. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000516extern bfd_boolean _bfd_stab_section_find_nearest_line
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000517 (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *,
518 const char **, const char **, unsigned int *, void **);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000519
3d08879c Fred Fish2005-05-14 01:31:32 +0000520/* Find the nearest line using DWARF 1 debugging information. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000521extern bfd_boolean _bfd_dwarf1_find_nearest_line
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000522 (bfd *, asection *, asymbol **, bfd_vma, const char **,
523 const char **, unsigned int *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000524
525/* Find the nearest line using DWARF 2 debugging information. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000526extern bfd_boolean _bfd_dwarf2_find_nearest_line
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000527 (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
528 unsigned int *, unsigned int, void **);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000529
e998b06a
L
H.J. Lu2005-06-06 14:28:31 +0000530/* Find the line using DWARF 2 debugging information. */
531extern bfd_boolean _bfd_dwarf2_find_line
532 (bfd *, asymbol **, asymbol *, const char **,
533 unsigned int *, unsigned int, void **);
534
535bfd_boolean _bfd_generic_find_line
536 (bfd *, asymbol **, asymbol *, const char **, unsigned int *);
537
54f83b69
FF
Fred Fish2005-05-23 17:44:55 +0000538/* Find inliner info after calling bfd_find_nearest_line. */
539extern bfd_boolean _bfd_dwarf2_find_inliner_info
540 (bfd *, const char **, const char **, unsigned int *, void **);
541
09af635d
AM
Alan Modra2001-12-17 00:40:53 +0000542/* Create a new section entry. */
543extern struct bfd_hash_entry *bfd_section_hash_newfunc
95c86dce Alan Modra2003-06-29 10:06:40 +0000544 (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
09af635d Alan Modra2001-12-17 00:40:53 +0000545
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000546/* A routine to create entries for a bfd_link_hash_table. */
547extern struct bfd_hash_entry *_bfd_link_hash_newfunc
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000548 (struct bfd_hash_entry *entry, struct bfd_hash_table *table,
549 const char *string);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000550
551/* Initialize a bfd_link_hash_table. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000552extern bfd_boolean _bfd_link_hash_table_init
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000553 (struct bfd_link_hash_table *, bfd *,
554 struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
555 struct bfd_hash_table *,
6069881b
AM
Alan Modra2006-03-16 12:20:16 +0000556 const char *),
557 unsigned int);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000558
559/* Generic link hash table creation routine. */
560extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create
95c86dce Alan Modra2003-06-29 10:06:40 +0000561 (bfd *);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000562
57248c92
DJ
Daniel Jacobowitz2002-04-04 19:53:38 +0000563/* Generic link hash table destruction routine. */
564extern void _bfd_generic_link_hash_table_free
95c86dce Alan Modra2003-06-29 10:06:40 +0000565 (struct bfd_link_hash_table *);
57248c92 Daniel Jacobowitz2002-04-04 19:53:38 +0000566
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000567/* Generic add symbol routine. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000568extern bfd_boolean _bfd_generic_link_add_symbols
95c86dce Alan Modra2003-06-29 10:06:40 +0000569 (bfd *, struct bfd_link_info *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000570
571/* Generic add symbol routine. This version is used by targets for
572 which the linker must collect constructors and destructors by name,
573 as the collect2 program does. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000574extern bfd_boolean _bfd_generic_link_add_symbols_collect
95c86dce Alan Modra2003-06-29 10:06:40 +0000575 (bfd *, struct bfd_link_info *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000576
577/* Generic archive add symbol routine. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000578extern bfd_boolean _bfd_generic_link_add_archive_symbols
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000579 (bfd *, struct bfd_link_info *,
580 bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *));
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000581
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000582/* Forward declaration to avoid prototype errors. */
583typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
584
585/* Generic routine to add a single symbol. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000586extern bfd_boolean _bfd_generic_link_add_one_symbol
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000587 (struct bfd_link_info *, bfd *, const char *name, flagword,
588 asection *, bfd_vma, const char *, bfd_boolean copy,
589 bfd_boolean constructor, struct bfd_link_hash_entry **);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000590
1a04612a
AM
Alan Modra2002-05-15 00:18:58 +0000591/* Generic routine to mark section as supplying symbols only. */
592extern void _bfd_generic_link_just_syms
95c86dce Alan Modra2003-06-29 10:06:40 +0000593 (asection *, struct bfd_link_info *);
1a04612a Alan Modra2002-05-15 00:18:58 +0000594
68fc6ea9
PB
Paul Brook2009-11-23 14:41:26 +0000595/* Generic routine that does nothing. */
596extern void _bfd_generic_copy_link_hash_symbol_type
597 (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *);
598
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000599/* Generic link routine. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000600extern bfd_boolean _bfd_generic_final_link
95c86dce Alan Modra2003-06-29 10:06:40 +0000601 (bfd *, struct bfd_link_info *);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000602
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000603extern bfd_boolean _bfd_generic_link_split_section
3df52dfb Andrew Cagney2003-10-20 14:38:42 +0000604 (bfd *, struct bfd_section *);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000605
2b5a6ba1 H.J. Lu2004-07-21 15:42:58 +0000606extern void _bfd_generic_section_already_linked
4d53a35f H.J. Lu2006-10-30 23:25:51 +0000607 (bfd *, struct bfd_section *, struct bfd_link_info *);
2b5a6ba1 H.J. Lu2004-07-21 15:42:58 +0000608
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000609/* Generic reloc_link_order processing routine. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000610extern bfd_boolean _bfd_generic_reloc_link_order
95c86dce Alan Modra2003-06-29 10:06:40 +0000611 (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000612
613/* Default link order processing routine. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000614extern bfd_boolean _bfd_default_link_order
95c86dce Alan Modra2003-06-29 10:06:40 +0000615 (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000616
617/* Count the number of reloc entries in a link order list. */
618extern unsigned int _bfd_count_link_order_relocs
95c86dce Alan Modra2003-06-29 10:06:40 +0000619 (struct bfd_link_order *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000620
621/* Final link relocation routine. */
622extern bfd_reloc_status_type _bfd_final_link_relocate
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000623 (reloc_howto_type *, bfd *, asection *, bfd_byte *,
624 bfd_vma, bfd_vma, bfd_vma);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000625
626/* Relocate a particular location by a howto and a value. */
627extern bfd_reloc_status_type _bfd_relocate_contents
95c86dce Alan Modra2003-06-29 10:06:40 +0000628 (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000629
4cafd9ff
DJ
Daniel Jacobowitz2006-11-03 00:58:10 +0000630/* Clear a given location using a given howto. */
631extern void _bfd_clear_contents (reloc_howto_type *howto, bfd *input_bfd,
9924d284 Daniel Jacobowitz2010-10-25 15:54:13 +0000632 asection *input_section, bfd_byte *location);
4cafd9ff Daniel Jacobowitz2006-11-03 00:58:10 +0000633
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000634/* Link stabs in sections in the first pass. */
635
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000636extern bfd_boolean _bfd_link_section_stabs
d9a00d82
AM
Alan Modra2004-06-28 13:57:59 +0000637 (bfd *, struct stab_info *, asection *, asection *, void **,
638 bfd_size_type *);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000639
d447b218 Daniel Jacobowitz2001-11-15 01:34:12 +0000640/* Eliminate stabs for discarded functions and symbols. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000641extern bfd_boolean _bfd_discard_section_stabs
95c86dce Alan Modra2003-06-29 10:06:40 +0000642 (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *);
d447b218 Daniel Jacobowitz2001-11-15 01:34:12 +0000643
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000644/* Write out the .stab section when linking stabs in sections. */
645
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000646extern bfd_boolean _bfd_write_section_stabs
d9a00d82 Alan Modra2004-06-28 13:57:59 +0000647 (bfd *, struct stab_info *, asection *, void **, bfd_byte *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000648
649/* Write out the .stabstr string table when linking stabs in sections. */
650
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000651extern bfd_boolean _bfd_write_stab_strings
d9a00d82 Alan Modra2004-06-28 13:57:59 +0000652 (bfd *, struct stab_info *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000653
654/* Find an offset within a .stab section when linking stabs in
655 sections. */
656
657extern bfd_vma _bfd_stab_section_offset
7e2dd9e4 Alan Modra2004-06-24 04:46:28 +0000658 (asection *, void *, bfd_vma);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000659
ce659574 Alan Modra2004-05-25 06:33:51 +0000660/* Register a SEC_MERGE section as a candidate for merging. */
18d0ddae Jakub Jelinek2001-04-13 00:34:36 +0000661
ce659574 Alan Modra2004-05-25 06:33:51 +0000662extern bfd_boolean _bfd_add_merge_section
95c86dce Alan Modra2003-06-29 10:06:40 +0000663 (bfd *, void **, asection *, void **);
18d0ddae Jakub Jelinek2001-04-13 00:34:36 +0000664
b6959f39
JJ
Jakub Jelinek2001-05-11 12:23:48 +0000665/* Attempt to merge SEC_MERGE sections. */
666
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000667extern bfd_boolean _bfd_merge_sections
ce659574 Alan Modra2004-05-25 06:33:51 +0000668 (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *));
b6959f39 Jakub Jelinek2001-05-11 12:23:48 +0000669
18d0ddae
JJ
Jakub Jelinek2001-04-13 00:34:36 +0000670/* Write out a merged section. */
671
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000672extern bfd_boolean _bfd_write_merged_section
95c86dce Alan Modra2003-06-29 10:06:40 +0000673 (bfd *, asection *, void *);
18d0ddae
JJ
Jakub Jelinek2001-04-13 00:34:36 +0000674
675/* Find an offset within a modified SEC_MERGE section. */
676
677extern bfd_vma _bfd_merged_section_offset
0d541d80 Alan Modra2004-05-22 01:56:31 +0000678 (bfd *, asection **, void *, bfd_vma);
18d0ddae Jakub Jelinek2001-04-13 00:34:36 +0000679
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000680/* Create a string table. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000681extern struct bfd_strtab_hash *_bfd_stringtab_init
95c86dce Alan Modra2003-06-29 10:06:40 +0000682 (void);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000683
684/* Create an XCOFF .debug section style string table. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000685extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init
95c86dce Alan Modra2003-06-29 10:06:40 +0000686 (void);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000687
688/* Free a string table. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000689extern void _bfd_stringtab_free
95c86dce Alan Modra2003-06-29 10:06:40 +0000690 (struct bfd_strtab_hash *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000691
692/* Get the size of a string table. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000693extern bfd_size_type _bfd_stringtab_size
95c86dce Alan Modra2003-06-29 10:06:40 +0000694 (struct bfd_strtab_hash *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000695
696/* Add a string to a string table. */
697extern bfd_size_type _bfd_stringtab_add
95c86dce Alan Modra2003-06-29 10:06:40 +0000698 (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000699
700/* Write out a string table. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000701extern bfd_boolean _bfd_stringtab_emit
95c86dce Alan Modra2003-06-29 10:06:40 +0000702 (bfd *, struct bfd_strtab_hash *);
cf56c6cf
JR
Joern Rennecke1999-06-03 18:48:24 +0000703
704/* Check that endianness of input and output file match. */
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000705extern bfd_boolean _bfd_generic_verify_endian_match
95c86dce Alan Modra2003-06-29 10:06:40 +0000706 (bfd *, bfd *);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000707\f
708/* Macros to tell if bfds are read or write enabled.
709
710 Note that bfds open for read may be scribbled into if the fd passed
711 to bfd_fdopenr is actually open both for read and write
712 simultaneously. However an output bfd will never be open for
713 read. Therefore sometimes you want to check bfd_read_p or
714 !bfd_read_p, and only sometimes bfd_write_p.
715*/
716
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000717#define bfd_read_p(abfd) \
718 ((abfd)->direction == read_direction || (abfd)->direction == both_direction)
719#define bfd_write_p(abfd) \
720 ((abfd)->direction == write_direction || (abfd)->direction == both_direction)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000721
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000722void bfd_assert
95c86dce Alan Modra2003-06-29 10:06:40 +0000723 (const char*,int);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000724
725#define BFD_ASSERT(x) \
5e94a7b8 Alan Modra2004-10-10 13:58:05 +0000726 do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0)
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000727
728#define BFD_FAIL() \
5e94a7b8 Alan Modra2004-10-10 13:58:05 +0000729 do { bfd_assert(__FILE__,__LINE__); } while (0)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000730
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000731extern void _bfd_abort
95c86dce Alan Modra2003-06-29 10:06:40 +0000732 (const char *, int, const char *) ATTRIBUTE_NORETURN;
816711a4 Ian Lance Taylor1999-09-11 21:51:55 +0000733
f94a5bfe
AM
Alan Modra2000-04-29 00:56:29 +0000734/* if gcc >= 2.6, we can give a function name, too */
735#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)
816711a4
ILT
Ian Lance Taylor1999-09-11 21:51:55 +0000736#define __PRETTY_FUNCTION__ ((char *) NULL)
737#endif
738
739#undef abort
740#define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
741
ea749c37
AC
Andrew Cagney2004-02-11 23:23:20 +0000742/* Manipulate a system FILE but using BFD's "file_ptr", rather than
743 the system "off_t" or "off64_t", as the offset. */
744extern file_ptr real_ftell (FILE *file);
745extern int real_fseek (FILE *file, file_ptr offset, int whence);
0b8676a9 Daniel Jacobowitz2005-11-03 16:06:11 +0000746extern FILE *real_fopen (const char *filename, const char *modes);
ea749c37 Andrew Cagney2004-02-11 23:23:20 +0000747
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000748/* List of supported target vectors, and the default vector (if
749 bfd_default_vector[0] is NULL, there is no default). */
11dded03 Nick Clifton2001-02-07 23:16:22 +0000750extern const bfd_target * const *bfd_target_vector;
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000751extern const bfd_target *bfd_default_vector[];
752
ba5f62a2
AM
Alan Modra2002-11-05 01:18:56 +0000753/* List of associated target vectors. */
754extern const bfd_target * const *bfd_associated_vector;
755
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000756/* Functions shared by the ECOFF and MIPS ELF backends, which have no
757 other common header files. */
758
759#if defined(__STDC__) || defined(ALMOST_STDC)
760struct ecoff_find_line;
761#endif
762
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000763extern bfd_boolean _bfd_ecoff_locate_line
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000764 (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,
765 const struct ecoff_debug_swap * const, struct ecoff_find_line *,
766 const char **, const char **, unsigned int *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000767extern bfd_boolean _bfd_ecoff_get_accumulated_pdr
95c86dce Alan Modra2003-06-29 10:06:40 +0000768 (void *, bfd_byte *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000769extern bfd_boolean _bfd_ecoff_get_accumulated_sym
95c86dce Alan Modra2003-06-29 10:06:40 +0000770 (void *, bfd_byte *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000771extern bfd_boolean _bfd_ecoff_get_accumulated_ss
95c86dce Alan Modra2003-06-29 10:06:40 +0000772 (void *, bfd_byte *);
21bd0c8d
AM
Alan Modra2002-11-30 08:39:46 +0000773
774extern bfd_vma _bfd_get_gp_value
95c86dce Alan Modra2003-06-29 10:06:40 +0000775 (bfd *);
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000776extern void _bfd_set_gp_value
95c86dce Alan Modra2003-06-29 10:06:40 +0000777 (bfd *, bfd_vma);
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000778
779/* Function shared by the COFF and ELF SH backends, which have no
780 other common header files. */
781
95c86dce Alan Modra2003-06-29 10:06:40 +0000782#ifndef _bfd_sh_align_load_span
21bd0c8d Alan Modra2002-11-30 08:39:46 +0000783extern bfd_boolean _bfd_sh_align_load_span
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +0000784 (bfd *, asection *, bfd_byte *,
785 bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma),
786 void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *);
787#endif
2b5a6ba1
L
H.J. Lu2004-07-21 15:42:58 +0000788
789/* This is the shape of the elements inside the already_linked hash
790 table. It maps a name onto a list of already_linked elements with
791 the same name. */
792
793struct bfd_section_already_linked_hash_entry
794{
795 struct bfd_hash_entry root;
796 struct bfd_section_already_linked *entry;
797};
798
799struct bfd_section_already_linked
800{
801 struct bfd_section_already_linked *next;
802 asection *sec;
803};
804
805extern struct bfd_section_already_linked_hash_entry *
806 bfd_section_already_linked_table_lookup (const char *);
ff30f352 Michael Snyder2007-07-27 01:04:29 +0000807extern bfd_boolean bfd_section_already_linked_table_insert
2b5a6ba1 H.J. Lu2004-07-21 15:42:58 +0000808 (struct bfd_section_already_linked_hash_entry *, asection *);
d40e5402
L
H.J. Lu2004-07-27 14:20:49 +0000809extern void bfd_section_already_linked_table_traverse
810 (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *,
811 void *), void *);
812
46a4ba98
AM
Alan Modra2005-02-20 14:59:07 +0000813extern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
814extern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
beea3072 H.J. Lu2005-01-17 17:12:00 +0000815
674157ee
L
H.J. Lu2010-10-29 12:10:19 +0000816struct dwarf_debug_section
817{
818 const char *uncompressed_name;
819 const char *compressed_name;
820};
821
822/* Map of uncompressed DWARF debug section name to compressed one. It
823 is terminated by NULL uncompressed_name. */
824
825extern struct dwarf_debug_section dwarf_debug_sections[];
9673d88b
AM
Alan Modra2002-06-05 03:43:11 +0000826/* Extracted from init.c. */
827/* Extracted from libbfd.c. */
95c86dce Alan Modra2003-06-29 10:06:40 +0000828bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000829
95c86dce Alan Modra2003-06-29 10:06:40 +0000830unsigned int bfd_log2 (bfd_vma x);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000831
eadf164a Klee Dienes2002-11-18 16:37:54 +0000832/* Extracted from bfdio.c. */
4985f72c
AC
Andrew Cagney2004-04-21 17:05:12 +0000833struct bfd_iovec
834{
835 /* To avoid problems with macros, a "b" rather than "f"
836 prefix is prepended to each method name. */
837 /* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching
838 bytes starting at PTR. Return the number of bytes actually
839 transfered (a read past end-of-file returns less than NBYTES),
840 or -1 (setting <<bfd_error>>) if an error occurs. */
841 file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
842 file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
843 file_ptr nbytes);
844 /* Return the current IOSTREAM file offset, or -1 (setting <<bfd_error>>
845 if an error occurs. */
846 file_ptr (*btell) (struct bfd *abfd);
847 /* For the following, on successful completion a value of 0 is returned.
848 Otherwise, a value of -1 is returned (and <<bfd_error>> is set). */
849 int (*bseek) (struct bfd *abfd, file_ptr offset, int whence);
850 int (*bclose) (struct bfd *abfd);
851 int (*bflush) (struct bfd *abfd);
852 int (*bstat) (struct bfd *abfd, struct stat *sb);
fbae7531
PP
Paul Pluzhnikov2009-06-11 00:41:03 +0000853 /* Just like mmap: (void*)-1 on failure, mmapped address on success. */
854 void *(*bmmap) (struct bfd *abfd, void *addr, bfd_size_type len,
855 int prot, int flags, file_ptr offset);
4985f72c Andrew Cagney2004-04-21 17:05:12 +0000856};
ffd0ae5c Tristan Gingold2010-05-26 07:37:34 +0000857extern const struct bfd_iovec _bfd_memory_iovec;
eadf164a
KD
Klee Dienes2002-11-18 16:37:54 +0000858/* Extracted from bfdwin.c. */
859struct _bfd_window_internal {
860 struct _bfd_window_internal *next;
95c86dce Alan Modra2003-06-29 10:06:40 +0000861 void *data;
eadf164a
KD
Klee Dienes2002-11-18 16:37:54 +0000862 bfd_size_type size;
863 int refcount : 31; /* should be enough... */
864 unsigned mapped : 1; /* 1 = mmap, 0 = malloc */
865};
9673d88b Alan Modra2002-06-05 03:43:11 +0000866/* Extracted from cache.c. */
95c86dce Alan Modra2003-06-29 10:06:40 +0000867bfd_boolean bfd_cache_init (bfd *abfd);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000868
95c86dce Alan Modra2003-06-29 10:06:40 +0000869bfd_boolean bfd_cache_close (bfd *abfd);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000870
95c86dce Alan Modra2003-06-29 10:06:40 +0000871FILE* bfd_open_file (bfd *abfd);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000872
9673d88b Alan Modra2002-06-05 03:43:11 +0000873/* Extracted from reloc.c. */
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000874#ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real
875
876static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
877
878 "BFD_RELOC_64",
879 "BFD_RELOC_32",
880 "BFD_RELOC_26",
881 "BFD_RELOC_24",
882 "BFD_RELOC_16",
883 "BFD_RELOC_14",
884 "BFD_RELOC_8",
885 "BFD_RELOC_64_PCREL",
886 "BFD_RELOC_32_PCREL",
887 "BFD_RELOC_24_PCREL",
888 "BFD_RELOC_16_PCREL",
889 "BFD_RELOC_12_PCREL",
890 "BFD_RELOC_8_PCREL",
385264ac Nick Clifton2004-04-20 12:17:16 +0000891 "BFD_RELOC_32_SECREL",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000892 "BFD_RELOC_32_GOT_PCREL",
893 "BFD_RELOC_16_GOT_PCREL",
894 "BFD_RELOC_8_GOT_PCREL",
895 "BFD_RELOC_32_GOTOFF",
896 "BFD_RELOC_16_GOTOFF",
897 "BFD_RELOC_LO16_GOTOFF",
898 "BFD_RELOC_HI16_GOTOFF",
899 "BFD_RELOC_HI16_S_GOTOFF",
900 "BFD_RELOC_8_GOTOFF",
b8a79e13 Alan Modra2001-08-27 10:22:03 +0000901 "BFD_RELOC_64_PLT_PCREL",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000902 "BFD_RELOC_32_PLT_PCREL",
903 "BFD_RELOC_24_PLT_PCREL",
904 "BFD_RELOC_16_PLT_PCREL",
905 "BFD_RELOC_8_PLT_PCREL",
b8a79e13 Alan Modra2001-08-27 10:22:03 +0000906 "BFD_RELOC_64_PLTOFF",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000907 "BFD_RELOC_32_PLTOFF",
908 "BFD_RELOC_16_PLTOFF",
909 "BFD_RELOC_LO16_PLTOFF",
910 "BFD_RELOC_HI16_PLTOFF",
911 "BFD_RELOC_HI16_S_PLTOFF",
912 "BFD_RELOC_8_PLTOFF",
913 "BFD_RELOC_68K_GLOB_DAT",
914 "BFD_RELOC_68K_JMP_SLOT",
915 "BFD_RELOC_68K_RELATIVE",
a72b8c0e
NC
Nick Clifton2009-02-03 14:36:47 +0000916 "BFD_RELOC_68K_TLS_GD32",
917 "BFD_RELOC_68K_TLS_GD16",
918 "BFD_RELOC_68K_TLS_GD8",
919 "BFD_RELOC_68K_TLS_LDM32",
920 "BFD_RELOC_68K_TLS_LDM16",
921 "BFD_RELOC_68K_TLS_LDM8",
922 "BFD_RELOC_68K_TLS_LDO32",
923 "BFD_RELOC_68K_TLS_LDO16",
924 "BFD_RELOC_68K_TLS_LDO8",
925 "BFD_RELOC_68K_TLS_IE32",
926 "BFD_RELOC_68K_TLS_IE16",
927 "BFD_RELOC_68K_TLS_IE8",
928 "BFD_RELOC_68K_TLS_LE32",
929 "BFD_RELOC_68K_TLS_LE16",
930 "BFD_RELOC_68K_TLS_LE8",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000931 "BFD_RELOC_32_BASEREL",
932 "BFD_RELOC_16_BASEREL",
933 "BFD_RELOC_LO16_BASEREL",
934 "BFD_RELOC_HI16_BASEREL",
935 "BFD_RELOC_HI16_S_BASEREL",
936 "BFD_RELOC_8_BASEREL",
937 "BFD_RELOC_RVA",
938 "BFD_RELOC_8_FFnn",
939 "BFD_RELOC_32_PCREL_S2",
940 "BFD_RELOC_16_PCREL_S2",
941 "BFD_RELOC_23_PCREL_S2",
942 "BFD_RELOC_HI22",
943 "BFD_RELOC_LO10",
944 "BFD_RELOC_GPREL16",
945 "BFD_RELOC_GPREL32",
946 "BFD_RELOC_I960_CALLJ",
947 "BFD_RELOC_NONE",
948 "BFD_RELOC_SPARC_WDISP22",
949 "BFD_RELOC_SPARC22",
950 "BFD_RELOC_SPARC13",
951 "BFD_RELOC_SPARC_GOT10",
952 "BFD_RELOC_SPARC_GOT13",
953 "BFD_RELOC_SPARC_GOT22",
954 "BFD_RELOC_SPARC_PC10",
955 "BFD_RELOC_SPARC_PC22",
956 "BFD_RELOC_SPARC_WPLT30",
957 "BFD_RELOC_SPARC_COPY",
958 "BFD_RELOC_SPARC_GLOB_DAT",
959 "BFD_RELOC_SPARC_JMP_SLOT",
960 "BFD_RELOC_SPARC_RELATIVE",
2e311baa Nick Clifton2001-05-28 09:23:54 +0000961 "BFD_RELOC_SPARC_UA16",
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000962 "BFD_RELOC_SPARC_UA32",
2e311baa Nick Clifton2001-05-28 09:23:54 +0000963 "BFD_RELOC_SPARC_UA64",
a2442508
DM
David S. Miller2008-04-16 08:51:18 +0000964 "BFD_RELOC_SPARC_GOTDATA_HIX22",
965 "BFD_RELOC_SPARC_GOTDATA_LOX10",
966 "BFD_RELOC_SPARC_GOTDATA_OP_HIX22",
967 "BFD_RELOC_SPARC_GOTDATA_OP_LOX10",
968 "BFD_RELOC_SPARC_GOTDATA_OP",
932636bc
DM
David S. Miller2010-02-08 20:28:43 +0000969 "BFD_RELOC_SPARC_JMP_IREL",
970 "BFD_RELOC_SPARC_IRELATIVE",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000971 "BFD_RELOC_SPARC_BASE13",
972 "BFD_RELOC_SPARC_BASE22",
973 "BFD_RELOC_SPARC_10",
974 "BFD_RELOC_SPARC_11",
975 "BFD_RELOC_SPARC_OLO10",
976 "BFD_RELOC_SPARC_HH22",
977 "BFD_RELOC_SPARC_HM10",
978 "BFD_RELOC_SPARC_LM22",
979 "BFD_RELOC_SPARC_PC_HH22",
980 "BFD_RELOC_SPARC_PC_HM10",
981 "BFD_RELOC_SPARC_PC_LM22",
982 "BFD_RELOC_SPARC_WDISP16",
983 "BFD_RELOC_SPARC_WDISP19",
984 "BFD_RELOC_SPARC_7",
985 "BFD_RELOC_SPARC_6",
986 "BFD_RELOC_SPARC_5",
ebb25830 Jakub Jelinek2001-12-21 22:35:24 +0000987 "BFD_RELOC_SPARC_PLT32",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000988 "BFD_RELOC_SPARC_PLT64",
989 "BFD_RELOC_SPARC_HIX22",
990 "BFD_RELOC_SPARC_LOX10",
991 "BFD_RELOC_SPARC_H44",
992 "BFD_RELOC_SPARC_M44",
993 "BFD_RELOC_SPARC_L44",
994 "BFD_RELOC_SPARC_REGISTER",
995 "BFD_RELOC_SPARC_REV32",
b8056bef
JJ
Jakub Jelinek2003-01-24 23:44:45 +0000996 "BFD_RELOC_SPARC_TLS_GD_HI22",
997 "BFD_RELOC_SPARC_TLS_GD_LO10",
998 "BFD_RELOC_SPARC_TLS_GD_ADD",
999 "BFD_RELOC_SPARC_TLS_GD_CALL",
1000 "BFD_RELOC_SPARC_TLS_LDM_HI22",
1001 "BFD_RELOC_SPARC_TLS_LDM_LO10",
1002 "BFD_RELOC_SPARC_TLS_LDM_ADD",
1003 "BFD_RELOC_SPARC_TLS_LDM_CALL",
1004 "BFD_RELOC_SPARC_TLS_LDO_HIX22",
1005 "BFD_RELOC_SPARC_TLS_LDO_LOX10",
1006 "BFD_RELOC_SPARC_TLS_LDO_ADD",
1007 "BFD_RELOC_SPARC_TLS_IE_HI22",
1008 "BFD_RELOC_SPARC_TLS_IE_LO10",
1009 "BFD_RELOC_SPARC_TLS_IE_LD",
1010 "BFD_RELOC_SPARC_TLS_IE_LDX",
1011 "BFD_RELOC_SPARC_TLS_IE_ADD",
1012 "BFD_RELOC_SPARC_TLS_LE_HIX22",
1013 "BFD_RELOC_SPARC_TLS_LE_LOX10",
1014 "BFD_RELOC_SPARC_TLS_DTPMOD32",
1015 "BFD_RELOC_SPARC_TLS_DTPMOD64",
1016 "BFD_RELOC_SPARC_TLS_DTPOFF32",
1017 "BFD_RELOC_SPARC_TLS_DTPOFF64",
1018 "BFD_RELOC_SPARC_TLS_TPOFF32",
1019 "BFD_RELOC_SPARC_TLS_TPOFF64",
999aabcd
AM
Alan Modra2006-10-25 06:49:21 +00001020 "BFD_RELOC_SPU_IMM7",
1021 "BFD_RELOC_SPU_IMM8",
1022 "BFD_RELOC_SPU_IMM10",
1023 "BFD_RELOC_SPU_IMM10W",
1024 "BFD_RELOC_SPU_IMM16",
1025 "BFD_RELOC_SPU_IMM16W",
1026 "BFD_RELOC_SPU_IMM18",
1027 "BFD_RELOC_SPU_PCREL9a",
1028 "BFD_RELOC_SPU_PCREL9b",
1029 "BFD_RELOC_SPU_PCREL16",
1030 "BFD_RELOC_SPU_LO16",
1031 "BFD_RELOC_SPU_HI16",
0bea58b0
AM
Alan Modra2007-05-11 03:10:11 +00001032 "BFD_RELOC_SPU_PPU32",
1033 "BFD_RELOC_SPU_PPU64",
eb83a00c Trevor Smigiel2009-07-24 19:51:27 +00001034 "BFD_RELOC_SPU_ADD_PIC",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001035 "BFD_RELOC_ALPHA_GPDISP_HI16",
1036 "BFD_RELOC_ALPHA_GPDISP_LO16",
1037 "BFD_RELOC_ALPHA_GPDISP",
1038 "BFD_RELOC_ALPHA_LITERAL",
1039 "BFD_RELOC_ALPHA_ELF_LITERAL",
1040 "BFD_RELOC_ALPHA_LITUSE",
1041 "BFD_RELOC_ALPHA_HINT",
1042 "BFD_RELOC_ALPHA_LINKAGE",
1043 "BFD_RELOC_ALPHA_CODEADDR",
356380d4
RH
Richard Henderson2001-09-05 03:00:14 +00001044 "BFD_RELOC_ALPHA_GPREL_HI16",
1045 "BFD_RELOC_ALPHA_GPREL_LO16",
5f12a2cd Richard Henderson2002-02-09 22:53:53 +00001046 "BFD_RELOC_ALPHA_BRSGP",
ab69c098
TG
Tristan Gingold2009-02-23 09:28:43 +00001047 "BFD_RELOC_ALPHA_NOP",
1048 "BFD_RELOC_ALPHA_BSR",
1049 "BFD_RELOC_ALPHA_LDA",
1050 "BFD_RELOC_ALPHA_BOH",
18db7d99
RH
Richard Henderson2002-05-30 22:01:38 +00001051 "BFD_RELOC_ALPHA_TLSGD",
1052 "BFD_RELOC_ALPHA_TLSLDM",
1053 "BFD_RELOC_ALPHA_DTPMOD64",
1054 "BFD_RELOC_ALPHA_GOTDTPREL16",
1055 "BFD_RELOC_ALPHA_DTPREL64",
1056 "BFD_RELOC_ALPHA_DTPREL_HI16",
1057 "BFD_RELOC_ALPHA_DTPREL_LO16",
1058 "BFD_RELOC_ALPHA_DTPREL16",
1059 "BFD_RELOC_ALPHA_GOTTPREL16",
1060 "BFD_RELOC_ALPHA_TPREL64",
1061 "BFD_RELOC_ALPHA_TPREL_HI16",
1062 "BFD_RELOC_ALPHA_TPREL_LO16",
1063 "BFD_RELOC_ALPHA_TPREL16",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001064 "BFD_RELOC_MIPS_JMP",
1065 "BFD_RELOC_MIPS16_JMP",
1066 "BFD_RELOC_MIPS16_GPREL",
1067 "BFD_RELOC_HI16",
1068 "BFD_RELOC_HI16_S",
1069 "BFD_RELOC_LO16",
63c59b8d
AM
Alan Modra2005-05-11 14:09:43 +00001070 "BFD_RELOC_HI16_PCREL",
1071 "BFD_RELOC_HI16_S_PCREL",
1072 "BFD_RELOC_LO16_PCREL",
713e2aad
RS
Richard Sandiford2008-08-06 19:44:47 +00001073 "BFD_RELOC_MIPS16_GOT16",
1074 "BFD_RELOC_MIPS16_CALL16",
12621b28
MR
Maciej W. Rozycki2005-02-15 19:57:54 +00001075 "BFD_RELOC_MIPS16_HI16",
1076 "BFD_RELOC_MIPS16_HI16_S",
1077 "BFD_RELOC_MIPS16_LO16",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001078 "BFD_RELOC_MIPS_LITERAL",
1079 "BFD_RELOC_MIPS_GOT16",
1080 "BFD_RELOC_MIPS_CALL16",
1081 "BFD_RELOC_MIPS_GOT_HI16",
1082 "BFD_RELOC_MIPS_GOT_LO16",
1083 "BFD_RELOC_MIPS_CALL_HI16",
1084 "BFD_RELOC_MIPS_CALL_LO16",
c83e99ce
MM
Mark Mitchell1999-06-02 10:20:16 +00001085 "BFD_RELOC_MIPS_SUB",
1086 "BFD_RELOC_MIPS_GOT_PAGE",
1087 "BFD_RELOC_MIPS_GOT_OFST",
1088 "BFD_RELOC_MIPS_GOT_DISP",
1136d0b6
NC
Nick Clifton2001-05-23 17:36:38 +00001089 "BFD_RELOC_MIPS_SHIFT5",
1090 "BFD_RELOC_MIPS_SHIFT6",
1091 "BFD_RELOC_MIPS_INSERT_A",
1092 "BFD_RELOC_MIPS_INSERT_B",
1093 "BFD_RELOC_MIPS_DELETE",
1094 "BFD_RELOC_MIPS_HIGHEST",
1095 "BFD_RELOC_MIPS_HIGHER",
1096 "BFD_RELOC_MIPS_SCN_DISP",
1097 "BFD_RELOC_MIPS_REL16",
1098 "BFD_RELOC_MIPS_RELGOT",
1099 "BFD_RELOC_MIPS_JALR",
61f6f9f4
DJ
Daniel Jacobowitz2005-03-02 21:23:21 +00001100 "BFD_RELOC_MIPS_TLS_DTPMOD32",
1101 "BFD_RELOC_MIPS_TLS_DTPREL32",
1102 "BFD_RELOC_MIPS_TLS_DTPMOD64",
1103 "BFD_RELOC_MIPS_TLS_DTPREL64",
1104 "BFD_RELOC_MIPS_TLS_GD",
1105 "BFD_RELOC_MIPS_TLS_LDM",
1106 "BFD_RELOC_MIPS_TLS_DTPREL_HI16",
1107 "BFD_RELOC_MIPS_TLS_DTPREL_LO16",
1108 "BFD_RELOC_MIPS_TLS_GOTTPREL",
1109 "BFD_RELOC_MIPS_TLS_TPREL32",
1110 "BFD_RELOC_MIPS_TLS_TPREL64",
1111 "BFD_RELOC_MIPS_TLS_TPREL_HI16",
1112 "BFD_RELOC_MIPS_TLS_TPREL_LO16",
4032cd96 Nick Clifton2003-09-04 11:04:38 +00001113
4279ed38
RS
Richard Sandiford2006-03-22 09:28:15 +00001114 "BFD_RELOC_MIPS_COPY",
1115 "BFD_RELOC_MIPS_JUMP_SLOT",
1116
4e62921b
AG
Anthony Green2009-06-11 11:27:58 +00001117 "BFD_RELOC_MOXIE_10_PCREL",
1118
bb59c9e8
AM
Alan Modra2002-06-23 02:09:05 +00001119 "BFD_RELOC_FRV_LABEL16",
1120 "BFD_RELOC_FRV_LABEL24",
1121 "BFD_RELOC_FRV_LO16",
1122 "BFD_RELOC_FRV_HI16",
1123 "BFD_RELOC_FRV_GPREL12",
1124 "BFD_RELOC_FRV_GPRELU12",
1125 "BFD_RELOC_FRV_GPREL32",
1126 "BFD_RELOC_FRV_GPRELHI",
1127 "BFD_RELOC_FRV_GPRELLO",
9df17b68
AO
Alexandre Oliva2004-01-06 19:18:59 +00001128 "BFD_RELOC_FRV_GOT12",
1129 "BFD_RELOC_FRV_GOTHI",
1130 "BFD_RELOC_FRV_GOTLO",
1131 "BFD_RELOC_FRV_FUNCDESC",
1132 "BFD_RELOC_FRV_FUNCDESC_GOT12",
1133 "BFD_RELOC_FRV_FUNCDESC_GOTHI",
1134 "BFD_RELOC_FRV_FUNCDESC_GOTLO",
1135 "BFD_RELOC_FRV_FUNCDESC_VALUE",
1136 "BFD_RELOC_FRV_FUNCDESC_GOTOFF12",
1137 "BFD_RELOC_FRV_FUNCDESC_GOTOFFHI",
1138 "BFD_RELOC_FRV_FUNCDESC_GOTOFFLO",
1139 "BFD_RELOC_FRV_GOTOFF12",
1140 "BFD_RELOC_FRV_GOTOFFHI",
1141 "BFD_RELOC_FRV_GOTOFFLO",
56a3bce5
AO
Alexandre Oliva2005-01-25 20:22:41 +00001142 "BFD_RELOC_FRV_GETTLSOFF",
1143 "BFD_RELOC_FRV_TLSDESC_VALUE",
1144 "BFD_RELOC_FRV_GOTTLSDESC12",
1145 "BFD_RELOC_FRV_GOTTLSDESCHI",
1146 "BFD_RELOC_FRV_GOTTLSDESCLO",
1147 "BFD_RELOC_FRV_TLSMOFF12",
1148 "BFD_RELOC_FRV_TLSMOFFHI",
1149 "BFD_RELOC_FRV_TLSMOFFLO",
1150 "BFD_RELOC_FRV_GOTTLSOFF12",
1151 "BFD_RELOC_FRV_GOTTLSOFFHI",
1152 "BFD_RELOC_FRV_GOTTLSOFFLO",
1153 "BFD_RELOC_FRV_TLSOFF",
1154 "BFD_RELOC_FRV_TLSDESC_RELAX",
1155 "BFD_RELOC_FRV_GETTLSOFF_RELAX",
1156 "BFD_RELOC_FRV_TLSOFF_RELAX",
1157 "BFD_RELOC_FRV_TLSMOFF",
4032cd96 Nick Clifton2003-09-04 11:04:38 +00001158
6b931460
AO
Alexandre Oliva2003-07-10 03:20:00 +00001159 "BFD_RELOC_MN10300_GOTOFF24",
1160 "BFD_RELOC_MN10300_GOT32",
1161 "BFD_RELOC_MN10300_GOT24",
1162 "BFD_RELOC_MN10300_GOT16",
1163 "BFD_RELOC_MN10300_COPY",
1164 "BFD_RELOC_MN10300_GLOB_DAT",
1165 "BFD_RELOC_MN10300_JMP_SLOT",
1166 "BFD_RELOC_MN10300_RELATIVE",
5d3a298a Nick Clifton2007-10-19 17:31:31 +00001167 "BFD_RELOC_MN10300_SYM_DIFF",
7987ef98 Nick Clifton2007-10-30 15:18:29 +00001168 "BFD_RELOC_MN10300_ALIGN",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001169
1170 "BFD_RELOC_386_GOT32",
1171 "BFD_RELOC_386_PLT32",
1172 "BFD_RELOC_386_COPY",
1173 "BFD_RELOC_386_GLOB_DAT",
1174 "BFD_RELOC_386_JUMP_SLOT",
1175 "BFD_RELOC_386_RELATIVE",
1176 "BFD_RELOC_386_GOTOFF",
1177 "BFD_RELOC_386_GOTPC",
5a085f05
JJ
Jakub Jelinek2002-09-19 19:01:18 +00001178 "BFD_RELOC_386_TLS_TPOFF",
1179 "BFD_RELOC_386_TLS_IE",
1180 "BFD_RELOC_386_TLS_GOTIE",
97b22feb
JJ
Jakub Jelinek2002-05-23 13:12:53 +00001181 "BFD_RELOC_386_TLS_LE",
1182 "BFD_RELOC_386_TLS_GD",
1183 "BFD_RELOC_386_TLS_LDM",
1184 "BFD_RELOC_386_TLS_LDO_32",
1185 "BFD_RELOC_386_TLS_IE_32",
1186 "BFD_RELOC_386_TLS_LE_32",
1187 "BFD_RELOC_386_TLS_DTPMOD32",
1188 "BFD_RELOC_386_TLS_DTPOFF32",
1189 "BFD_RELOC_386_TLS_TPOFF32",
3db1a043
AO
Alexandre Oliva2006-01-18 21:07:51 +00001190 "BFD_RELOC_386_TLS_GOTDESC",
1191 "BFD_RELOC_386_TLS_DESC_CALL",
1192 "BFD_RELOC_386_TLS_DESC",
a252b524 H.J. Lu2009-06-01 13:11:52 +00001193 "BFD_RELOC_386_IRELATIVE",
1512a2b1
NC
Nick Clifton2000-11-30 19:30:33 +00001194 "BFD_RELOC_X86_64_GOT32",
1195 "BFD_RELOC_X86_64_PLT32",
1196 "BFD_RELOC_X86_64_COPY",
1197 "BFD_RELOC_X86_64_GLOB_DAT",
1198 "BFD_RELOC_X86_64_JUMP_SLOT",
1199 "BFD_RELOC_X86_64_RELATIVE",
1200 "BFD_RELOC_X86_64_GOTPCREL",
1201 "BFD_RELOC_X86_64_32S",
32963c36
JJ
Jakub Jelinek2002-09-27 19:29:18 +00001202 "BFD_RELOC_X86_64_DTPMOD64",
1203 "BFD_RELOC_X86_64_DTPOFF64",
1204 "BFD_RELOC_X86_64_TPOFF64",
1205 "BFD_RELOC_X86_64_TLSGD",
1206 "BFD_RELOC_X86_64_TLSLD",
1207 "BFD_RELOC_X86_64_DTPOFF32",
1208 "BFD_RELOC_X86_64_GOTTPOFF",
1209 "BFD_RELOC_X86_64_TPOFF32",
5bd6b9be
JB
Jan Beulich2005-06-17 08:03:59 +00001210 "BFD_RELOC_X86_64_GOTOFF64",
1211 "BFD_RELOC_X86_64_GOTPC32",
0b2fec5a
AJ
Andreas Jaeger2006-03-23 08:23:09 +00001212 "BFD_RELOC_X86_64_GOT64",
1213 "BFD_RELOC_X86_64_GOTPCREL64",
1214 "BFD_RELOC_X86_64_GOTPC64",
1215 "BFD_RELOC_X86_64_GOTPLT64",
1216 "BFD_RELOC_X86_64_PLTOFF64",
3db1a043
AO
Alexandre Oliva2006-01-18 21:07:51 +00001217 "BFD_RELOC_X86_64_GOTPC32_TLSDESC",
1218 "BFD_RELOC_X86_64_TLSDESC_CALL",
1219 "BFD_RELOC_X86_64_TLSDESC",
a252b524 H.J. Lu2009-06-01 13:11:52 +00001220 "BFD_RELOC_X86_64_IRELATIVE",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001221 "BFD_RELOC_NS32K_IMM_8",
1222 "BFD_RELOC_NS32K_IMM_16",
1223 "BFD_RELOC_NS32K_IMM_32",
1224 "BFD_RELOC_NS32K_IMM_8_PCREL",
1225 "BFD_RELOC_NS32K_IMM_16_PCREL",
1226 "BFD_RELOC_NS32K_IMM_32_PCREL",
1227 "BFD_RELOC_NS32K_DISP_8",
1228 "BFD_RELOC_NS32K_DISP_16",
1229 "BFD_RELOC_NS32K_DISP_32",
1230 "BFD_RELOC_NS32K_DISP_8_PCREL",
1231 "BFD_RELOC_NS32K_DISP_16_PCREL",
1232 "BFD_RELOC_NS32K_DISP_32_PCREL",
c4101914
NC
Nick Clifton2001-02-18 23:33:11 +00001233 "BFD_RELOC_PDP11_DISP_8_PCREL",
1234 "BFD_RELOC_PDP11_DISP_6_PCREL",
c7e275cc
ILT
Ian Lance Taylor1999-09-04 17:07:46 +00001235 "BFD_RELOC_PJ_CODE_HI16",
1236 "BFD_RELOC_PJ_CODE_LO16",
1237 "BFD_RELOC_PJ_CODE_DIR16",
1238 "BFD_RELOC_PJ_CODE_DIR32",
1239 "BFD_RELOC_PJ_CODE_REL16",
1240 "BFD_RELOC_PJ_CODE_REL32",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001241 "BFD_RELOC_PPC_B26",
1242 "BFD_RELOC_PPC_BA26",
1243 "BFD_RELOC_PPC_TOC16",
1244 "BFD_RELOC_PPC_B16",
1245 "BFD_RELOC_PPC_B16_BRTAKEN",
1246 "BFD_RELOC_PPC_B16_BRNTAKEN",
1247 "BFD_RELOC_PPC_BA16",
1248 "BFD_RELOC_PPC_BA16_BRTAKEN",
1249 "BFD_RELOC_PPC_BA16_BRNTAKEN",
1250 "BFD_RELOC_PPC_COPY",
1251 "BFD_RELOC_PPC_GLOB_DAT",
1252 "BFD_RELOC_PPC_JMP_SLOT",
1253 "BFD_RELOC_PPC_RELATIVE",
1254 "BFD_RELOC_PPC_LOCAL24PC",
1255 "BFD_RELOC_PPC_EMB_NADDR32",
1256 "BFD_RELOC_PPC_EMB_NADDR16",
1257 "BFD_RELOC_PPC_EMB_NADDR16_LO",
1258 "BFD_RELOC_PPC_EMB_NADDR16_HI",
1259 "BFD_RELOC_PPC_EMB_NADDR16_HA",
1260 "BFD_RELOC_PPC_EMB_SDAI16",
1261 "BFD_RELOC_PPC_EMB_SDA2I16",
1262 "BFD_RELOC_PPC_EMB_SDA2REL",
1263 "BFD_RELOC_PPC_EMB_SDA21",
1264 "BFD_RELOC_PPC_EMB_MRKREF",
1265 "BFD_RELOC_PPC_EMB_RELSEC16",
1266 "BFD_RELOC_PPC_EMB_RELST_LO",
1267 "BFD_RELOC_PPC_EMB_RELST_HI",
1268 "BFD_RELOC_PPC_EMB_RELST_HA",
1269 "BFD_RELOC_PPC_EMB_BIT_FLD",
1270 "BFD_RELOC_PPC_EMB_RELSDA",
b8a79e13
AM
Alan Modra2001-08-27 10:22:03 +00001271 "BFD_RELOC_PPC64_HIGHER",
1272 "BFD_RELOC_PPC64_HIGHER_S",
1273 "BFD_RELOC_PPC64_HIGHEST",
1274 "BFD_RELOC_PPC64_HIGHEST_S",
1275 "BFD_RELOC_PPC64_TOC16_LO",
1276 "BFD_RELOC_PPC64_TOC16_HI",
1277 "BFD_RELOC_PPC64_TOC16_HA",
1278 "BFD_RELOC_PPC64_TOC",
61ffdd1d Alan Modra2001-09-18 09:57:26 +00001279 "BFD_RELOC_PPC64_PLTGOT16",
b8a79e13
AM
Alan Modra2001-08-27 10:22:03 +00001280 "BFD_RELOC_PPC64_PLTGOT16_LO",
1281 "BFD_RELOC_PPC64_PLTGOT16_HI",
1282 "BFD_RELOC_PPC64_PLTGOT16_HA",
1283 "BFD_RELOC_PPC64_ADDR16_DS",
1284 "BFD_RELOC_PPC64_ADDR16_LO_DS",
1285 "BFD_RELOC_PPC64_GOT16_DS",
1286 "BFD_RELOC_PPC64_GOT16_LO_DS",
1287 "BFD_RELOC_PPC64_PLT16_LO_DS",
1288 "BFD_RELOC_PPC64_SECTOFF_DS",
1289 "BFD_RELOC_PPC64_SECTOFF_LO_DS",
1290 "BFD_RELOC_PPC64_TOC16_DS",
1291 "BFD_RELOC_PPC64_TOC16_LO_DS",
1292 "BFD_RELOC_PPC64_PLTGOT16_DS",
1293 "BFD_RELOC_PPC64_PLTGOT16_LO_DS",
74a18476 Alan Modra2003-02-04 14:50:50 +00001294 "BFD_RELOC_PPC_TLS",
3aa8e945
AM
Alan Modra2009-03-04 05:50:50 +00001295 "BFD_RELOC_PPC_TLSGD",
1296 "BFD_RELOC_PPC_TLSLD",
74a18476
AM
Alan Modra2003-02-04 14:50:50 +00001297 "BFD_RELOC_PPC_DTPMOD",
1298 "BFD_RELOC_PPC_TPREL16",
1299 "BFD_RELOC_PPC_TPREL16_LO",
1300 "BFD_RELOC_PPC_TPREL16_HI",
1301 "BFD_RELOC_PPC_TPREL16_HA",
1302 "BFD_RELOC_PPC_TPREL",
1303 "BFD_RELOC_PPC_DTPREL16",
1304 "BFD_RELOC_PPC_DTPREL16_LO",
1305 "BFD_RELOC_PPC_DTPREL16_HI",
1306 "BFD_RELOC_PPC_DTPREL16_HA",
1307 "BFD_RELOC_PPC_DTPREL",
1308 "BFD_RELOC_PPC_GOT_TLSGD16",
1309 "BFD_RELOC_PPC_GOT_TLSGD16_LO",
1310 "BFD_RELOC_PPC_GOT_TLSGD16_HI",
1311 "BFD_RELOC_PPC_GOT_TLSGD16_HA",
1312 "BFD_RELOC_PPC_GOT_TLSLD16",
1313 "BFD_RELOC_PPC_GOT_TLSLD16_LO",
1314 "BFD_RELOC_PPC_GOT_TLSLD16_HI",
1315 "BFD_RELOC_PPC_GOT_TLSLD16_HA",
1316 "BFD_RELOC_PPC_GOT_TPREL16",
1317 "BFD_RELOC_PPC_GOT_TPREL16_LO",
1318 "BFD_RELOC_PPC_GOT_TPREL16_HI",
1319 "BFD_RELOC_PPC_GOT_TPREL16_HA",
1320 "BFD_RELOC_PPC_GOT_DTPREL16",
1321 "BFD_RELOC_PPC_GOT_DTPREL16_LO",
1322 "BFD_RELOC_PPC_GOT_DTPREL16_HI",
1323 "BFD_RELOC_PPC_GOT_DTPREL16_HA",
1324 "BFD_RELOC_PPC64_TPREL16_DS",
1325 "BFD_RELOC_PPC64_TPREL16_LO_DS",
1326 "BFD_RELOC_PPC64_TPREL16_HIGHER",
1327 "BFD_RELOC_PPC64_TPREL16_HIGHERA",
1328 "BFD_RELOC_PPC64_TPREL16_HIGHEST",
1329 "BFD_RELOC_PPC64_TPREL16_HIGHESTA",
1330 "BFD_RELOC_PPC64_DTPREL16_DS",
1331 "BFD_RELOC_PPC64_DTPREL16_LO_DS",
1332 "BFD_RELOC_PPC64_DTPREL16_HIGHER",
1333 "BFD_RELOC_PPC64_DTPREL16_HIGHERA",
1334 "BFD_RELOC_PPC64_DTPREL16_HIGHEST",
1335 "BFD_RELOC_PPC64_DTPREL16_HIGHESTA",
13f160c0 Alan Modra2000-02-23 13:52:23 +00001336 "BFD_RELOC_I370_D12",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001337 "BFD_RELOC_CTOR",
1338 "BFD_RELOC_ARM_PCREL_BRANCH",
6232ab66
NC
Nick Clifton2000-04-08 00:10:49 +00001339 "BFD_RELOC_ARM_PCREL_BLX",
1340 "BFD_RELOC_THUMB_PCREL_BLX",
bfb54168
PB
Paul Brook2005-12-12 17:03:40 +00001341 "BFD_RELOC_ARM_PCREL_CALL",
1342 "BFD_RELOC_ARM_PCREL_JUMP",
fd643151
ZW
Zack Weinberg2005-05-18 05:40:12 +00001343 "BFD_RELOC_THUMB_PCREL_BRANCH7",
1344 "BFD_RELOC_THUMB_PCREL_BRANCH9",
1345 "BFD_RELOC_THUMB_PCREL_BRANCH12",
1346 "BFD_RELOC_THUMB_PCREL_BRANCH20",
1347 "BFD_RELOC_THUMB_PCREL_BRANCH23",
1348 "BFD_RELOC_THUMB_PCREL_BRANCH25",
1349 "BFD_RELOC_ARM_OFFSET_IMM",
1350 "BFD_RELOC_ARM_THUMB_OFFSET",
1351 "BFD_RELOC_ARM_TARGET1",
1352 "BFD_RELOC_ARM_ROSEGREL32",
1353 "BFD_RELOC_ARM_SBREL32",
1354 "BFD_RELOC_ARM_TARGET2",
1355 "BFD_RELOC_ARM_PREL31",
e3fbbaf5
PB
Paul Brook2006-05-11 15:17:34 +00001356 "BFD_RELOC_ARM_MOVW",
1357 "BFD_RELOC_ARM_MOVT",
1358 "BFD_RELOC_ARM_MOVW_PCREL",
1359 "BFD_RELOC_ARM_MOVT_PCREL",
1360 "BFD_RELOC_ARM_THUMB_MOVW",
1361 "BFD_RELOC_ARM_THUMB_MOVT",
1362 "BFD_RELOC_ARM_THUMB_MOVW_PCREL",
1363 "BFD_RELOC_ARM_THUMB_MOVT_PCREL",
fd643151
ZW
Zack Weinberg2005-05-18 05:40:12 +00001364 "BFD_RELOC_ARM_JUMP_SLOT",
1365 "BFD_RELOC_ARM_GLOB_DAT",
1366 "BFD_RELOC_ARM_GOT32",
1367 "BFD_RELOC_ARM_PLT32",
1368 "BFD_RELOC_ARM_RELATIVE",
1369 "BFD_RELOC_ARM_GOTOFF",
1370 "BFD_RELOC_ARM_GOTPC",
746a8579 Nick Clifton2010-03-18 11:22:43 +00001371 "BFD_RELOC_ARM_GOT_PREL",
fd643151
ZW
Zack Weinberg2005-05-18 05:40:12 +00001372 "BFD_RELOC_ARM_TLS_GD32",
1373 "BFD_RELOC_ARM_TLS_LDO32",
1374 "BFD_RELOC_ARM_TLS_LDM32",
1375 "BFD_RELOC_ARM_TLS_DTPOFF32",
1376 "BFD_RELOC_ARM_TLS_DTPMOD32",
1377 "BFD_RELOC_ARM_TLS_TPOFF32",
1378 "BFD_RELOC_ARM_TLS_IE32",
1379 "BFD_RELOC_ARM_TLS_LE32",
f5fa6a6e
NS
Nathan Sidwell2011-01-10 08:40:14 +00001380 "BFD_RELOC_ARM_TLS_GOTDESC",
1381 "BFD_RELOC_ARM_TLS_CALL",
1382 "BFD_RELOC_ARM_THM_TLS_CALL",
1383 "BFD_RELOC_ARM_TLS_DESCSEQ",
1384 "BFD_RELOC_ARM_THM_TLS_DESCSEQ",
1385 "BFD_RELOC_ARM_TLS_DESC",
5b238cbe
MS
Mark Shinwell2006-06-15 11:03:02 +00001386 "BFD_RELOC_ARM_ALU_PC_G0_NC",
1387 "BFD_RELOC_ARM_ALU_PC_G0",
1388 "BFD_RELOC_ARM_ALU_PC_G1_NC",
1389 "BFD_RELOC_ARM_ALU_PC_G1",
1390 "BFD_RELOC_ARM_ALU_PC_G2",
1391 "BFD_RELOC_ARM_LDR_PC_G0",
1392 "BFD_RELOC_ARM_LDR_PC_G1",
1393 "BFD_RELOC_ARM_LDR_PC_G2",
1394 "BFD_RELOC_ARM_LDRS_PC_G0",
1395 "BFD_RELOC_ARM_LDRS_PC_G1",
1396 "BFD_RELOC_ARM_LDRS_PC_G2",
1397 "BFD_RELOC_ARM_LDC_PC_G0",
1398 "BFD_RELOC_ARM_LDC_PC_G1",
1399 "BFD_RELOC_ARM_LDC_PC_G2",
1400 "BFD_RELOC_ARM_ALU_SB_G0_NC",
1401 "BFD_RELOC_ARM_ALU_SB_G0",
1402 "BFD_RELOC_ARM_ALU_SB_G1_NC",
1403 "BFD_RELOC_ARM_ALU_SB_G1",
1404 "BFD_RELOC_ARM_ALU_SB_G2",
1405 "BFD_RELOC_ARM_LDR_SB_G0",
1406 "BFD_RELOC_ARM_LDR_SB_G1",
1407 "BFD_RELOC_ARM_LDR_SB_G2",
1408 "BFD_RELOC_ARM_LDRS_SB_G0",
1409 "BFD_RELOC_ARM_LDRS_SB_G1",
1410 "BFD_RELOC_ARM_LDRS_SB_G2",
1411 "BFD_RELOC_ARM_LDC_SB_G0",
1412 "BFD_RELOC_ARM_LDC_SB_G1",
1413 "BFD_RELOC_ARM_LDC_SB_G2",
01f470d7 Paul Brook2008-02-20 15:17:56 +00001414 "BFD_RELOC_ARM_V4BX",
9f9a0b1a Nick Clifton2011-03-28 11:18:20 +00001415 "BFD_RELOC_ARM_IRELATIVE",
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00001416 "BFD_RELOC_ARM_IMMEDIATE",
6fbef180 Ian Lance Taylor1999-07-07 11:40:42 +00001417 "BFD_RELOC_ARM_ADRL_IMMEDIATE",
fd643151 Zack Weinberg2005-05-18 05:40:12 +00001418 "BFD_RELOC_ARM_T32_IMMEDIATE",
1f86a69b Paul Brook2006-07-18 16:44:47 +00001419 "BFD_RELOC_ARM_T32_ADD_IMM",
0aa298a4 Paul Brook2005-07-29 17:28:33 +00001420 "BFD_RELOC_ARM_T32_IMM12",
ff933676 Paul Brook2005-07-29 17:39:39 +00001421 "BFD_RELOC_ARM_T32_ADD_PC12",
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00001422 "BFD_RELOC_ARM_SHIFT_IMM",
ac7fa076 Paul Brook2005-09-08 12:49:27 +00001423 "BFD_RELOC_ARM_SMC",
e00a540d Alan Modra2010-10-08 22:34:35 +00001424 "BFD_RELOC_ARM_HVC",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001425 "BFD_RELOC_ARM_SWI",
1426 "BFD_RELOC_ARM_MULTI",
1427 "BFD_RELOC_ARM_CP_OFF_IMM",
5dc4c049 Nick Clifton2003-03-25 20:56:01 +00001428 "BFD_RELOC_ARM_CP_OFF_IMM_S2",
802d759e
PB
Paul Brook2005-09-02 13:12:45 +00001429 "BFD_RELOC_ARM_T32_CP_OFF_IMM",
1430 "BFD_RELOC_ARM_T32_CP_OFF_IMM_S2",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001431 "BFD_RELOC_ARM_ADR_IMM",
1432 "BFD_RELOC_ARM_LDR_IMM",
1433 "BFD_RELOC_ARM_LITERAL",
1434 "BFD_RELOC_ARM_IN_POOL",
1435 "BFD_RELOC_ARM_OFFSET_IMM8",
fd643151
ZW
Zack Weinberg2005-05-18 05:40:12 +00001436 "BFD_RELOC_ARM_T32_OFFSET_U8",
1437 "BFD_RELOC_ARM_T32_OFFSET_IMM",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001438 "BFD_RELOC_ARM_HWLITERAL",
1439 "BFD_RELOC_ARM_THUMB_ADD",
1440 "BFD_RELOC_ARM_THUMB_IMM",
1441 "BFD_RELOC_ARM_THUMB_SHIFT",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001442 "BFD_RELOC_SH_PCDISP8BY2",
1443 "BFD_RELOC_SH_PCDISP12BY2",
b901793d
AO
Alexandre Oliva2004-07-29 05:17:41 +00001444 "BFD_RELOC_SH_IMM3",
1445 "BFD_RELOC_SH_IMM3U",
1446 "BFD_RELOC_SH_DISP12",
1447 "BFD_RELOC_SH_DISP12BY2",
1448 "BFD_RELOC_SH_DISP12BY4",
1449 "BFD_RELOC_SH_DISP12BY8",
1450 "BFD_RELOC_SH_DISP20",
1451 "BFD_RELOC_SH_DISP20BY8",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001452 "BFD_RELOC_SH_IMM4",
1453 "BFD_RELOC_SH_IMM4BY2",
1454 "BFD_RELOC_SH_IMM4BY4",
1455 "BFD_RELOC_SH_IMM8",
1456 "BFD_RELOC_SH_IMM8BY2",
1457 "BFD_RELOC_SH_IMM8BY4",
1458 "BFD_RELOC_SH_PCRELIMM8BY2",
1459 "BFD_RELOC_SH_PCRELIMM8BY4",
1460 "BFD_RELOC_SH_SWITCH16",
1461 "BFD_RELOC_SH_SWITCH32",
1462 "BFD_RELOC_SH_USES",
1463 "BFD_RELOC_SH_COUNT",
1464 "BFD_RELOC_SH_ALIGN",
1465 "BFD_RELOC_SH_CODE",
1466 "BFD_RELOC_SH_DATA",
1467 "BFD_RELOC_SH_LABEL",
b68544c4
JR
Joern Rennecke2000-04-05 21:23:05 +00001468 "BFD_RELOC_SH_LOOP_START",
1469 "BFD_RELOC_SH_LOOP_END",
d6a53387
NC
Nick Clifton2000-09-06 00:13:34 +00001470 "BFD_RELOC_SH_COPY",
1471 "BFD_RELOC_SH_GLOB_DAT",
1472 "BFD_RELOC_SH_JMP_SLOT",
1473 "BFD_RELOC_SH_RELATIVE",
1474 "BFD_RELOC_SH_GOTPC",
f6eff804
AM
Alan Modra2002-03-21 09:15:18 +00001475 "BFD_RELOC_SH_GOT_LOW16",
1476 "BFD_RELOC_SH_GOT_MEDLOW16",
1477 "BFD_RELOC_SH_GOT_MEDHI16",
1478 "BFD_RELOC_SH_GOT_HI16",
1479 "BFD_RELOC_SH_GOTPLT_LOW16",
1480 "BFD_RELOC_SH_GOTPLT_MEDLOW16",
1481 "BFD_RELOC_SH_GOTPLT_MEDHI16",
1482 "BFD_RELOC_SH_GOTPLT_HI16",
1483 "BFD_RELOC_SH_PLT_LOW16",
1484 "BFD_RELOC_SH_PLT_MEDLOW16",
1485 "BFD_RELOC_SH_PLT_MEDHI16",
1486 "BFD_RELOC_SH_PLT_HI16",
1487 "BFD_RELOC_SH_GOTOFF_LOW16",
1488 "BFD_RELOC_SH_GOTOFF_MEDLOW16",
1489 "BFD_RELOC_SH_GOTOFF_MEDHI16",
1490 "BFD_RELOC_SH_GOTOFF_HI16",
1491 "BFD_RELOC_SH_GOTPC_LOW16",
1492 "BFD_RELOC_SH_GOTPC_MEDLOW16",
1493 "BFD_RELOC_SH_GOTPC_MEDHI16",
1494 "BFD_RELOC_SH_GOTPC_HI16",
1495 "BFD_RELOC_SH_COPY64",
1496 "BFD_RELOC_SH_GLOB_DAT64",
1497 "BFD_RELOC_SH_JMP_SLOT64",
1498 "BFD_RELOC_SH_RELATIVE64",
1499 "BFD_RELOC_SH_GOT10BY4",
1500 "BFD_RELOC_SH_GOT10BY8",
1501 "BFD_RELOC_SH_GOTPLT10BY4",
1502 "BFD_RELOC_SH_GOTPLT10BY8",
1503 "BFD_RELOC_SH_GOTPLT32",
1504 "BFD_RELOC_SH_SHMEDIA_CODE",
1505 "BFD_RELOC_SH_IMMU5",
1506 "BFD_RELOC_SH_IMMS6",
1507 "BFD_RELOC_SH_IMMS6BY32",
1508 "BFD_RELOC_SH_IMMU6",
1509 "BFD_RELOC_SH_IMMS10",
1510 "BFD_RELOC_SH_IMMS10BY2",
1511 "BFD_RELOC_SH_IMMS10BY4",
1512 "BFD_RELOC_SH_IMMS10BY8",
1513 "BFD_RELOC_SH_IMMS16",
1514 "BFD_RELOC_SH_IMMU16",
1515 "BFD_RELOC_SH_IMM_LOW16",
1516 "BFD_RELOC_SH_IMM_LOW16_PCREL",
1517 "BFD_RELOC_SH_IMM_MEDLOW16",
1518 "BFD_RELOC_SH_IMM_MEDLOW16_PCREL",
1519 "BFD_RELOC_SH_IMM_MEDHI16",
1520 "BFD_RELOC_SH_IMM_MEDHI16_PCREL",
1521 "BFD_RELOC_SH_IMM_HI16",
1522 "BFD_RELOC_SH_IMM_HI16_PCREL",
1523 "BFD_RELOC_SH_PT_16",
3145bdab
KK
Kaz Kojima2002-10-11 14:32:03 +00001524 "BFD_RELOC_SH_TLS_GD_32",
1525 "BFD_RELOC_SH_TLS_LD_32",
1526 "BFD_RELOC_SH_TLS_LDO_32",
1527 "BFD_RELOC_SH_TLS_IE_32",
1528 "BFD_RELOC_SH_TLS_LE_32",
1529 "BFD_RELOC_SH_TLS_DTPMOD32",
1530 "BFD_RELOC_SH_TLS_DTPOFF32",
1531 "BFD_RELOC_SH_TLS_TPOFF32",
aab06c2d
NC
Nick Clifton2010-05-25 14:12:35 +00001532 "BFD_RELOC_SH_GOT20",
1533 "BFD_RELOC_SH_GOTOFF20",
1534 "BFD_RELOC_SH_GOTFUNCDESC",
1535 "BFD_RELOC_SH_GOTFUNCDESC20",
1536 "BFD_RELOC_SH_GOTOFFFUNCDESC",
1537 "BFD_RELOC_SH_GOTOFFFUNCDESC20",
1538 "BFD_RELOC_SH_FUNCDESC",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001539 "BFD_RELOC_ARC_B22_PCREL",
1540 "BFD_RELOC_ARC_B26",
1a35c4a0
CM
Catherine Moore2005-09-30 15:36:41 +00001541 "BFD_RELOC_BFIN_16_IMM",
1542 "BFD_RELOC_BFIN_16_HIGH",
1543 "BFD_RELOC_BFIN_4_PCREL",
1544 "BFD_RELOC_BFIN_5_PCREL",
1545 "BFD_RELOC_BFIN_16_LOW",
1546 "BFD_RELOC_BFIN_10_PCREL",
1547 "BFD_RELOC_BFIN_11_PCREL",
1548 "BFD_RELOC_BFIN_12_PCREL_JUMP",
1549 "BFD_RELOC_BFIN_12_PCREL_JUMP_S",
1550 "BFD_RELOC_BFIN_24_PCREL_CALL_X",
1551 "BFD_RELOC_BFIN_24_PCREL_JUMP_L",
65a4b3b8
BS
Bernd Schmidt2006-03-26 00:38:42 +00001552 "BFD_RELOC_BFIN_GOT17M4",
1553 "BFD_RELOC_BFIN_GOTHI",
1554 "BFD_RELOC_BFIN_GOTLO",
1555 "BFD_RELOC_BFIN_FUNCDESC",
1556 "BFD_RELOC_BFIN_FUNCDESC_GOT17M4",
1557 "BFD_RELOC_BFIN_FUNCDESC_GOTHI",
1558 "BFD_RELOC_BFIN_FUNCDESC_GOTLO",
1559 "BFD_RELOC_BFIN_FUNCDESC_VALUE",
1560 "BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4",
1561 "BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI",
1562 "BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO",
1563 "BFD_RELOC_BFIN_GOTOFF17M4",
1564 "BFD_RELOC_BFIN_GOTOFFHI",
1565 "BFD_RELOC_BFIN_GOTOFFLO",
1a35c4a0
CM
Catherine Moore2005-09-30 15:36:41 +00001566 "BFD_RELOC_BFIN_GOT",
1567 "BFD_RELOC_BFIN_PLTPC",
1568 "BFD_ARELOC_BFIN_PUSH",
1569 "BFD_ARELOC_BFIN_CONST",
1570 "BFD_ARELOC_BFIN_ADD",
1571 "BFD_ARELOC_BFIN_SUB",
1572 "BFD_ARELOC_BFIN_MULT",
1573 "BFD_ARELOC_BFIN_DIV",
1574 "BFD_ARELOC_BFIN_MOD",
1575 "BFD_ARELOC_BFIN_LSHIFT",
1576 "BFD_ARELOC_BFIN_RSHIFT",
1577 "BFD_ARELOC_BFIN_AND",
1578 "BFD_ARELOC_BFIN_OR",
1579 "BFD_ARELOC_BFIN_XOR",
1580 "BFD_ARELOC_BFIN_LAND",
1581 "BFD_ARELOC_BFIN_LOR",
1582 "BFD_ARELOC_BFIN_LEN",
1583 "BFD_ARELOC_BFIN_NEG",
1584 "BFD_ARELOC_BFIN_COMP",
1585 "BFD_ARELOC_BFIN_PAGE",
1586 "BFD_ARELOC_BFIN_HWPAGE",
1587 "BFD_ARELOC_BFIN_ADDR",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001588 "BFD_RELOC_D10V_10_PCREL_R",
1589 "BFD_RELOC_D10V_10_PCREL_L",
1590 "BFD_RELOC_D10V_18",
1591 "BFD_RELOC_D10V_18_PCREL",
1592 "BFD_RELOC_D30V_6",
1593 "BFD_RELOC_D30V_9_PCREL",
1594 "BFD_RELOC_D30V_9_PCREL_R",
1595 "BFD_RELOC_D30V_15",
1596 "BFD_RELOC_D30V_15_PCREL",
1597 "BFD_RELOC_D30V_15_PCREL_R",
1598 "BFD_RELOC_D30V_21",
1599 "BFD_RELOC_D30V_21_PCREL",
1600 "BFD_RELOC_D30V_21_PCREL_R",
1601 "BFD_RELOC_D30V_32",
1602 "BFD_RELOC_D30V_32_PCREL",
ba57705f
NC
Nick Clifton2002-05-28 14:08:47 +00001603 "BFD_RELOC_DLX_HI16_S",
1604 "BFD_RELOC_DLX_LO16",
1605 "BFD_RELOC_DLX_JMP26",
4e6a2a3c DJ Delorie2005-07-26 03:21:53 +00001606 "BFD_RELOC_M32C_HI8",
f2588b67
DD
DJ Delorie2006-02-24 22:10:36 +00001607 "BFD_RELOC_M32C_RL_JUMP",
1608 "BFD_RELOC_M32C_RL_1ADDR",
1609 "BFD_RELOC_M32C_RL_2ADDR",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001610 "BFD_RELOC_M32R_24",
1611 "BFD_RELOC_M32R_10_PCREL",
1612 "BFD_RELOC_M32R_18_PCREL",
1613 "BFD_RELOC_M32R_26_PCREL",
1614 "BFD_RELOC_M32R_HI16_ULO",
1615 "BFD_RELOC_M32R_HI16_SLO",
1616 "BFD_RELOC_M32R_LO16",
1617 "BFD_RELOC_M32R_SDA16",
9fa9cdcd
NC
Nick Clifton2003-12-19 11:59:20 +00001618 "BFD_RELOC_M32R_GOT24",
1619 "BFD_RELOC_M32R_26_PLTREL",
1620 "BFD_RELOC_M32R_COPY",
1621 "BFD_RELOC_M32R_GLOB_DAT",
1622 "BFD_RELOC_M32R_JMP_SLOT",
1623 "BFD_RELOC_M32R_RELATIVE",
1624 "BFD_RELOC_M32R_GOTOFF",
19fb3172
NC
Nick Clifton2004-06-25 16:11:09 +00001625 "BFD_RELOC_M32R_GOTOFF_HI_ULO",
1626 "BFD_RELOC_M32R_GOTOFF_HI_SLO",
1627 "BFD_RELOC_M32R_GOTOFF_LO",
9fa9cdcd
NC
Nick Clifton2003-12-19 11:59:20 +00001628 "BFD_RELOC_M32R_GOTPC24",
1629 "BFD_RELOC_M32R_GOT16_HI_ULO",
1630 "BFD_RELOC_M32R_GOT16_HI_SLO",
1631 "BFD_RELOC_M32R_GOT16_LO",
1632 "BFD_RELOC_M32R_GOTPC_HI_ULO",
1633 "BFD_RELOC_M32R_GOTPC_HI_SLO",
1634 "BFD_RELOC_M32R_GOTPC_LO",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001635 "BFD_RELOC_V850_9_PCREL",
1636 "BFD_RELOC_V850_22_PCREL",
1637 "BFD_RELOC_V850_SDA_16_16_OFFSET",
1638 "BFD_RELOC_V850_SDA_15_16_OFFSET",
1639 "BFD_RELOC_V850_ZDA_16_16_OFFSET",
1640 "BFD_RELOC_V850_ZDA_15_16_OFFSET",
1641 "BFD_RELOC_V850_TDA_6_8_OFFSET",
1642 "BFD_RELOC_V850_TDA_7_8_OFFSET",
1643 "BFD_RELOC_V850_TDA_7_7_OFFSET",
1644 "BFD_RELOC_V850_TDA_16_16_OFFSET",
1645 "BFD_RELOC_V850_TDA_4_5_OFFSET",
1646 "BFD_RELOC_V850_TDA_4_4_OFFSET",
1647 "BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET",
1648 "BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET",
1649 "BFD_RELOC_V850_CALLT_6_7_OFFSET",
1650 "BFD_RELOC_V850_CALLT_16_16_OFFSET",
09b6c421
NC
Nick Clifton2002-08-29 06:49:35 +00001651 "BFD_RELOC_V850_LONGCALL",
1652 "BFD_RELOC_V850_LONGJUMP",
1653 "BFD_RELOC_V850_ALIGN",
9bd88bdf Richard Sandiford2004-12-16 16:56:04 +00001654 "BFD_RELOC_V850_LO16_SPLIT_OFFSET",
a37e2475
NC
Nick Clifton2010-07-23 14:52:41 +00001655 "BFD_RELOC_V850_16_PCREL",
1656 "BFD_RELOC_V850_17_PCREL",
1657 "BFD_RELOC_V850_23",
1658 "BFD_RELOC_V850_32_PCREL",
1659 "BFD_RELOC_V850_32_ABS",
1660 "BFD_RELOC_V850_16_SPLIT_OFFSET",
1661 "BFD_RELOC_V850_16_S1",
1662 "BFD_RELOC_V850_LO16_S1",
1663 "BFD_RELOC_V850_CALLT_15_16_OFFSET",
1664 "BFD_RELOC_V850_32_GOTPCREL",
1665 "BFD_RELOC_V850_16_GOT",
1666 "BFD_RELOC_V850_32_GOT",
1667 "BFD_RELOC_V850_22_PLT_PCREL",
1668 "BFD_RELOC_V850_32_PLT_PCREL",
1669 "BFD_RELOC_V850_COPY",
1670 "BFD_RELOC_V850_GLOB_DAT",
1671 "BFD_RELOC_V850_JMP_SLOT",
1672 "BFD_RELOC_V850_RELATIVE",
1673 "BFD_RELOC_V850_16_GOTOFF",
1674 "BFD_RELOC_V850_32_GOTOFF",
1675 "BFD_RELOC_V850_CODE",
1676 "BFD_RELOC_V850_DATA",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001677 "BFD_RELOC_MN10300_32_PCREL",
1678 "BFD_RELOC_MN10300_16_PCREL",
1679 "BFD_RELOC_TIC30_LDP",
482a616e
TW
Timothy Wall2000-04-07 17:06:58 +00001680 "BFD_RELOC_TIC54X_PARTLS7",
1681 "BFD_RELOC_TIC54X_PARTMS9",
1682 "BFD_RELOC_TIC54X_23",
1683 "BFD_RELOC_TIC54X_16_OF_23",
1684 "BFD_RELOC_TIC54X_MS7_OF_23",
05186a7b
JM
Joseph Myers2010-03-25 21:12:25 +00001685 "BFD_RELOC_C6000_PCR_S21",
1686 "BFD_RELOC_C6000_PCR_S12",
1687 "BFD_RELOC_C6000_PCR_S10",
1688 "BFD_RELOC_C6000_PCR_S7",
1689 "BFD_RELOC_C6000_ABS_S16",
1690 "BFD_RELOC_C6000_ABS_L16",
1691 "BFD_RELOC_C6000_ABS_H16",
1692 "BFD_RELOC_C6000_SBR_U15_B",
1693 "BFD_RELOC_C6000_SBR_U15_H",
1694 "BFD_RELOC_C6000_SBR_U15_W",
1695 "BFD_RELOC_C6000_SBR_S16",
1696 "BFD_RELOC_C6000_SBR_L16_B",
1697 "BFD_RELOC_C6000_SBR_L16_H",
1698 "BFD_RELOC_C6000_SBR_L16_W",
1699 "BFD_RELOC_C6000_SBR_H16_B",
1700 "BFD_RELOC_C6000_SBR_H16_H",
1701 "BFD_RELOC_C6000_SBR_H16_W",
1702 "BFD_RELOC_C6000_SBR_GOT_U15_W",
1703 "BFD_RELOC_C6000_SBR_GOT_L16_W",
1704 "BFD_RELOC_C6000_SBR_GOT_H16_W",
1705 "BFD_RELOC_C6000_DSBT_INDEX",
1706 "BFD_RELOC_C6000_PREL31",
1707 "BFD_RELOC_C6000_COPY",
1708 "BFD_RELOC_C6000_ALIGN",
1709 "BFD_RELOC_C6000_FPHEAD",
1710 "BFD_RELOC_C6000_NOCMP",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001711 "BFD_RELOC_FR30_48",
1712 "BFD_RELOC_FR30_20",
1713 "BFD_RELOC_FR30_6_IN_4",
1714 "BFD_RELOC_FR30_8_IN_8",
1715 "BFD_RELOC_FR30_9_IN_8",
1716 "BFD_RELOC_FR30_10_IN_8",
1717 "BFD_RELOC_FR30_9_PCREL",
1718 "BFD_RELOC_FR30_12_PCREL",
1719 "BFD_RELOC_MCORE_PCREL_IMM8BY4",
1720 "BFD_RELOC_MCORE_PCREL_IMM11BY2",
1721 "BFD_RELOC_MCORE_PCREL_IMM4BY2",
1722 "BFD_RELOC_MCORE_PCREL_32",
1723 "BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2",
13abe50a Ian Lance Taylor1999-05-27 21:40:25 +00001724 "BFD_RELOC_MCORE_RVA",
21971afd
DB
Dave Brolley2007-02-05 20:10:25 +00001725 "BFD_RELOC_MEP_8",
1726 "BFD_RELOC_MEP_16",
1727 "BFD_RELOC_MEP_32",
1728 "BFD_RELOC_MEP_PCREL8A2",
1729 "BFD_RELOC_MEP_PCREL12A2",
1730 "BFD_RELOC_MEP_PCREL17A2",
1731 "BFD_RELOC_MEP_PCREL24A2",
1732 "BFD_RELOC_MEP_PCABS24A2",
1733 "BFD_RELOC_MEP_LOW16",
1734 "BFD_RELOC_MEP_HI16U",
1735 "BFD_RELOC_MEP_HI16S",
1736 "BFD_RELOC_MEP_GPREL",
1737 "BFD_RELOC_MEP_TPREL",
1738 "BFD_RELOC_MEP_TPREL7",
1739 "BFD_RELOC_MEP_TPREL7A2",
1740 "BFD_RELOC_MEP_TPREL7A4",
1741 "BFD_RELOC_MEP_UIMM24",
1742 "BFD_RELOC_MEP_ADDR24A4",
1743 "BFD_RELOC_MEP_GNU_VTINHERIT",
1744 "BFD_RELOC_MEP_GNU_VTENTRY",
1745
2cf98ff0
NC
Nick Clifton2001-10-30 15:20:14 +00001746 "BFD_RELOC_MMIX_GETA",
1747 "BFD_RELOC_MMIX_GETA_1",
1748 "BFD_RELOC_MMIX_GETA_2",
1749 "BFD_RELOC_MMIX_GETA_3",
1750 "BFD_RELOC_MMIX_CBRANCH",
1751 "BFD_RELOC_MMIX_CBRANCH_J",
1752 "BFD_RELOC_MMIX_CBRANCH_1",
1753 "BFD_RELOC_MMIX_CBRANCH_2",
1754 "BFD_RELOC_MMIX_CBRANCH_3",
1755 "BFD_RELOC_MMIX_PUSHJ",
1756 "BFD_RELOC_MMIX_PUSHJ_1",
1757 "BFD_RELOC_MMIX_PUSHJ_2",
1758 "BFD_RELOC_MMIX_PUSHJ_3",
94583bf0 Hans-Peter Nilsson2003-10-18 15:42:40 +00001759 "BFD_RELOC_MMIX_PUSHJ_STUBBABLE",
2cf98ff0
NC
Nick Clifton2001-10-30 15:20:14 +00001760 "BFD_RELOC_MMIX_JMP",
1761 "BFD_RELOC_MMIX_JMP_1",
1762 "BFD_RELOC_MMIX_JMP_2",
1763 "BFD_RELOC_MMIX_JMP_3",
1764 "BFD_RELOC_MMIX_ADDR19",
1765 "BFD_RELOC_MMIX_ADDR27",
1766 "BFD_RELOC_MMIX_REG_OR_BYTE",
1767 "BFD_RELOC_MMIX_REG",
1768 "BFD_RELOC_MMIX_BASE_PLUS_OFFSET",
1769 "BFD_RELOC_MMIX_LOCAL",
eb62019a
AM
Alan Modra2000-03-27 08:39:14 +00001770 "BFD_RELOC_AVR_7_PCREL",
1771 "BFD_RELOC_AVR_13_PCREL",
1772 "BFD_RELOC_AVR_16_PM",
1773 "BFD_RELOC_AVR_LO8_LDI",
1774 "BFD_RELOC_AVR_HI8_LDI",
1775 "BFD_RELOC_AVR_HH8_LDI",
5e3c9c20 Nick Clifton2006-03-03 15:25:31 +00001776 "BFD_RELOC_AVR_MS8_LDI",
eb62019a
AM
Alan Modra2000-03-27 08:39:14 +00001777 "BFD_RELOC_AVR_LO8_LDI_NEG",
1778 "BFD_RELOC_AVR_HI8_LDI_NEG",
1779 "BFD_RELOC_AVR_HH8_LDI_NEG",
5e3c9c20 Nick Clifton2006-03-03 15:25:31 +00001780 "BFD_RELOC_AVR_MS8_LDI_NEG",
eb62019a Alan Modra2000-03-27 08:39:14 +00001781 "BFD_RELOC_AVR_LO8_LDI_PM",
a40184dc Nick Clifton2006-05-24 07:36:12 +00001782 "BFD_RELOC_AVR_LO8_LDI_GS",
eb62019a Alan Modra2000-03-27 08:39:14 +00001783 "BFD_RELOC_AVR_HI8_LDI_PM",
a40184dc Nick Clifton2006-05-24 07:36:12 +00001784 "BFD_RELOC_AVR_HI8_LDI_GS",
eb62019a
AM
Alan Modra2000-03-27 08:39:14 +00001785 "BFD_RELOC_AVR_HH8_LDI_PM",
1786 "BFD_RELOC_AVR_LO8_LDI_PM_NEG",
1787 "BFD_RELOC_AVR_HI8_LDI_PM_NEG",
1788 "BFD_RELOC_AVR_HH8_LDI_PM_NEG",
1789 "BFD_RELOC_AVR_CALL",
322c567d
AM
Alan Modra2005-01-06 09:03:56 +00001790 "BFD_RELOC_AVR_LDI",
1791 "BFD_RELOC_AVR_6",
1792 "BFD_RELOC_AVR_6_ADIW",
7bb985cd
NC
Nick Clifton2009-09-29 14:17:19 +00001793 "BFD_RELOC_RX_NEG8",
1794 "BFD_RELOC_RX_NEG16",
1795 "BFD_RELOC_RX_NEG24",
1796 "BFD_RELOC_RX_NEG32",
1797 "BFD_RELOC_RX_16_OP",
1798 "BFD_RELOC_RX_24_OP",
1799 "BFD_RELOC_RX_32_OP",
1800 "BFD_RELOC_RX_8U",
1801 "BFD_RELOC_RX_16U",
1802 "BFD_RELOC_RX_24U",
1803 "BFD_RELOC_RX_DIR3U_PCREL",
1804 "BFD_RELOC_RX_DIFF",
1805 "BFD_RELOC_RX_GPRELB",
1806 "BFD_RELOC_RX_GPRELW",
1807 "BFD_RELOC_RX_GPRELL",
1808 "BFD_RELOC_RX_SYM",
1809 "BFD_RELOC_RX_OP_SUBTRACT",
d32587ed DJ Delorie2011-01-05 22:04:07 +00001810 "BFD_RELOC_RX_OP_NEG",
7bb985cd
NC
Nick Clifton2009-09-29 14:17:19 +00001811 "BFD_RELOC_RX_ABS8",
1812 "BFD_RELOC_RX_ABS16",
19d6c3db DJ Delorie2010-12-17 04:16:55 +00001813 "BFD_RELOC_RX_ABS16_REV",
7bb985cd Nick Clifton2009-09-29 14:17:19 +00001814 "BFD_RELOC_RX_ABS32",
19d6c3db DJ Delorie2010-12-17 04:16:55 +00001815 "BFD_RELOC_RX_ABS32_REV",
7bb985cd
NC
Nick Clifton2009-09-29 14:17:19 +00001816 "BFD_RELOC_RX_ABS16U",
1817 "BFD_RELOC_RX_ABS16UW",
1818 "BFD_RELOC_RX_ABS16UL",
1819 "BFD_RELOC_RX_RELAX",
b72e10f9
NC
Nick Clifton2001-02-10 00:58:38 +00001820 "BFD_RELOC_390_12",
1821 "BFD_RELOC_390_GOT12",
1822 "BFD_RELOC_390_PLT32",
1823 "BFD_RELOC_390_COPY",
1824 "BFD_RELOC_390_GLOB_DAT",
1825 "BFD_RELOC_390_JMP_SLOT",
1826 "BFD_RELOC_390_RELATIVE",
1827 "BFD_RELOC_390_GOTPC",
1828 "BFD_RELOC_390_GOT16",
1829 "BFD_RELOC_390_PC16DBL",
1830 "BFD_RELOC_390_PLT16DBL",
1831 "BFD_RELOC_390_PC32DBL",
1832 "BFD_RELOC_390_PLT32DBL",
1833 "BFD_RELOC_390_GOTPCDBL",
1834 "BFD_RELOC_390_GOT64",
1835 "BFD_RELOC_390_PLT64",
1836 "BFD_RELOC_390_GOTENT",
f77271f7
MS
Martin Schwidefsky2003-01-20 11:46:33 +00001837 "BFD_RELOC_390_GOTOFF64",
1838 "BFD_RELOC_390_GOTPLT12",
1839 "BFD_RELOC_390_GOTPLT16",
1840 "BFD_RELOC_390_GOTPLT32",
1841 "BFD_RELOC_390_GOTPLT64",
1842 "BFD_RELOC_390_GOTPLTENT",
1843 "BFD_RELOC_390_PLTOFF16",
1844 "BFD_RELOC_390_PLTOFF32",
1845 "BFD_RELOC_390_PLTOFF64",
7d8c417b
MS
Martin Schwidefsky2003-01-24 17:12:42 +00001846 "BFD_RELOC_390_TLS_LOAD",
1847 "BFD_RELOC_390_TLS_GDCALL",
1848 "BFD_RELOC_390_TLS_LDCALL",
1849 "BFD_RELOC_390_TLS_GD32",
1850 "BFD_RELOC_390_TLS_GD64",
1851 "BFD_RELOC_390_TLS_GOTIE12",
1852 "BFD_RELOC_390_TLS_GOTIE32",
1853 "BFD_RELOC_390_TLS_GOTIE64",
1854 "BFD_RELOC_390_TLS_LDM32",
1855 "BFD_RELOC_390_TLS_LDM64",
1856 "BFD_RELOC_390_TLS_IE32",
1857 "BFD_RELOC_390_TLS_IE64",
1858 "BFD_RELOC_390_TLS_IEENT",
1859 "BFD_RELOC_390_TLS_LE32",
1860 "BFD_RELOC_390_TLS_LE64",
1861 "BFD_RELOC_390_TLS_LDO32",
1862 "BFD_RELOC_390_TLS_LDO64",
1863 "BFD_RELOC_390_TLS_DTPMOD",
1864 "BFD_RELOC_390_TLS_DTPOFF",
1865 "BFD_RELOC_390_TLS_TPOFF",
c2338b69
MS
Martin Schwidefsky2003-07-01 14:44:59 +00001866 "BFD_RELOC_390_20",
1867 "BFD_RELOC_390_GOT20",
1868 "BFD_RELOC_390_GOTPLT20",
1869 "BFD_RELOC_390_TLS_GOTIE20",
2e8803ac
NC
Nick Clifton2006-09-16 23:51:50 +00001870 "BFD_RELOC_SCORE_GPREL15",
1871 "BFD_RELOC_SCORE_DUMMY2",
1872 "BFD_RELOC_SCORE_JMP",
1873 "BFD_RELOC_SCORE_BRANCH",
8acf8137
NC
Nick Clifton2009-03-02 10:33:08 +00001874 "BFD_RELOC_SCORE_IMM30",
1875 "BFD_RELOC_SCORE_IMM32",
2e8803ac
NC
Nick Clifton2006-09-16 23:51:50 +00001876 "BFD_RELOC_SCORE16_JMP",
1877 "BFD_RELOC_SCORE16_BRANCH",
8acf8137 Nick Clifton2009-03-02 10:33:08 +00001878 "BFD_RELOC_SCORE_BCMP",
2e8803ac
NC
Nick Clifton2006-09-16 23:51:50 +00001879 "BFD_RELOC_SCORE_GOT15",
1880 "BFD_RELOC_SCORE_GOT_LO16",
1881 "BFD_RELOC_SCORE_CALL15",
1882 "BFD_RELOC_SCORE_DUMMY_HI16",
ae36e8cc
NC
Nick Clifton2002-07-17 14:15:52 +00001883 "BFD_RELOC_IP2K_FR9",
1884 "BFD_RELOC_IP2K_BANK",
1885 "BFD_RELOC_IP2K_ADDR16CJP",
1886 "BFD_RELOC_IP2K_PAGE3",
1887 "BFD_RELOC_IP2K_LO8DATA",
1888 "BFD_RELOC_IP2K_HI8DATA",
1889 "BFD_RELOC_IP2K_EX8DATA",
1890 "BFD_RELOC_IP2K_LO8INSN",
1891 "BFD_RELOC_IP2K_HI8INSN",
1892 "BFD_RELOC_IP2K_PC_SKIP",
1893 "BFD_RELOC_IP2K_TEXT",
1894 "BFD_RELOC_IP2K_FR_OFFSET",
1895 "BFD_RELOC_VPE4KMATH_DATA",
1896 "BFD_RELOC_VPE4KMATH_INSN",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001897 "BFD_RELOC_VTABLE_INHERIT",
1898 "BFD_RELOC_VTABLE_ENTRY",
54aab81f
JW
Jim Wilson2000-04-21 20:22:24 +00001899 "BFD_RELOC_IA64_IMM14",
1900 "BFD_RELOC_IA64_IMM22",
1901 "BFD_RELOC_IA64_IMM64",
1902 "BFD_RELOC_IA64_DIR32MSB",
1903 "BFD_RELOC_IA64_DIR32LSB",
1904 "BFD_RELOC_IA64_DIR64MSB",
1905 "BFD_RELOC_IA64_DIR64LSB",
1906 "BFD_RELOC_IA64_GPREL22",
1907 "BFD_RELOC_IA64_GPREL64I",
1908 "BFD_RELOC_IA64_GPREL32MSB",
1909 "BFD_RELOC_IA64_GPREL32LSB",
1910 "BFD_RELOC_IA64_GPREL64MSB",
1911 "BFD_RELOC_IA64_GPREL64LSB",
1912 "BFD_RELOC_IA64_LTOFF22",
1913 "BFD_RELOC_IA64_LTOFF64I",
1914 "BFD_RELOC_IA64_PLTOFF22",
1915 "BFD_RELOC_IA64_PLTOFF64I",
1916 "BFD_RELOC_IA64_PLTOFF64MSB",
1917 "BFD_RELOC_IA64_PLTOFF64LSB",
1918 "BFD_RELOC_IA64_FPTR64I",
1919 "BFD_RELOC_IA64_FPTR32MSB",
1920 "BFD_RELOC_IA64_FPTR32LSB",
1921 "BFD_RELOC_IA64_FPTR64MSB",
1922 "BFD_RELOC_IA64_FPTR64LSB",
1923 "BFD_RELOC_IA64_PCREL21B",
93508d4b Richard Henderson2000-05-23 01:32:28 +00001924 "BFD_RELOC_IA64_PCREL21BI",
54aab81f
JW
Jim Wilson2000-04-21 20:22:24 +00001925 "BFD_RELOC_IA64_PCREL21M",
1926 "BFD_RELOC_IA64_PCREL21F",
93508d4b
RH
Richard Henderson2000-05-23 01:32:28 +00001927 "BFD_RELOC_IA64_PCREL22",
1928 "BFD_RELOC_IA64_PCREL60B",
1929 "BFD_RELOC_IA64_PCREL64I",
54aab81f
JW
Jim Wilson2000-04-21 20:22:24 +00001930 "BFD_RELOC_IA64_PCREL32MSB",
1931 "BFD_RELOC_IA64_PCREL32LSB",
1932 "BFD_RELOC_IA64_PCREL64MSB",
1933 "BFD_RELOC_IA64_PCREL64LSB",
1934 "BFD_RELOC_IA64_LTOFF_FPTR22",
1935 "BFD_RELOC_IA64_LTOFF_FPTR64I",
acf20f18
JW
Jim Wilson2001-07-12 01:24:14 +00001936 "BFD_RELOC_IA64_LTOFF_FPTR32MSB",
1937 "BFD_RELOC_IA64_LTOFF_FPTR32LSB",
54aab81f
JW
Jim Wilson2000-04-21 20:22:24 +00001938 "BFD_RELOC_IA64_LTOFF_FPTR64MSB",
1939 "BFD_RELOC_IA64_LTOFF_FPTR64LSB",
54aab81f
JW
Jim Wilson2000-04-21 20:22:24 +00001940 "BFD_RELOC_IA64_SEGREL32MSB",
1941 "BFD_RELOC_IA64_SEGREL32LSB",
1942 "BFD_RELOC_IA64_SEGREL64MSB",
1943 "BFD_RELOC_IA64_SEGREL64LSB",
1944 "BFD_RELOC_IA64_SECREL32MSB",
1945 "BFD_RELOC_IA64_SECREL32LSB",
1946 "BFD_RELOC_IA64_SECREL64MSB",
1947 "BFD_RELOC_IA64_SECREL64LSB",
1948 "BFD_RELOC_IA64_REL32MSB",
1949 "BFD_RELOC_IA64_REL32LSB",
1950 "BFD_RELOC_IA64_REL64MSB",
1951 "BFD_RELOC_IA64_REL64LSB",
1952 "BFD_RELOC_IA64_LTV32MSB",
1953 "BFD_RELOC_IA64_LTV32LSB",
1954 "BFD_RELOC_IA64_LTV64MSB",
1955 "BFD_RELOC_IA64_LTV64LSB",
1956 "BFD_RELOC_IA64_IPLTMSB",
1957 "BFD_RELOC_IA64_IPLTLSB",
54aab81f Jim Wilson2000-04-21 20:22:24 +00001958 "BFD_RELOC_IA64_COPY",
97b22feb
JJ
Jakub Jelinek2002-05-23 13:12:53 +00001959 "BFD_RELOC_IA64_LTOFF22X",
1960 "BFD_RELOC_IA64_LDXMOV",
1961 "BFD_RELOC_IA64_TPREL14",
54aab81f Jim Wilson2000-04-21 20:22:24 +00001962 "BFD_RELOC_IA64_TPREL22",
97b22feb Jakub Jelinek2002-05-23 13:12:53 +00001963 "BFD_RELOC_IA64_TPREL64I",
54aab81f
JW
Jim Wilson2000-04-21 20:22:24 +00001964 "BFD_RELOC_IA64_TPREL64MSB",
1965 "BFD_RELOC_IA64_TPREL64LSB",
97b22feb
JJ
Jakub Jelinek2002-05-23 13:12:53 +00001966 "BFD_RELOC_IA64_LTOFF_TPREL22",
1967 "BFD_RELOC_IA64_DTPMOD64MSB",
1968 "BFD_RELOC_IA64_DTPMOD64LSB",
1969 "BFD_RELOC_IA64_LTOFF_DTPMOD22",
1970 "BFD_RELOC_IA64_DTPREL14",
1971 "BFD_RELOC_IA64_DTPREL22",
1972 "BFD_RELOC_IA64_DTPREL64I",
1973 "BFD_RELOC_IA64_DTPREL32MSB",
1974 "BFD_RELOC_IA64_DTPREL32LSB",
1975 "BFD_RELOC_IA64_DTPREL64MSB",
1976 "BFD_RELOC_IA64_DTPREL64LSB",
1977 "BFD_RELOC_IA64_LTOFF_DTPREL22",
1848baaa
NC
Nick Clifton2000-06-19 01:22:44 +00001978 "BFD_RELOC_M68HC11_HI8",
1979 "BFD_RELOC_M68HC11_LO8",
1980 "BFD_RELOC_M68HC11_3B",
8314646b
L
H.J. Lu2002-08-14 16:42:56 +00001981 "BFD_RELOC_M68HC11_RL_JUMP",
1982 "BFD_RELOC_M68HC11_RL_GROUP",
1983 "BFD_RELOC_M68HC11_LO16",
1984 "BFD_RELOC_M68HC11_PAGE",
1985 "BFD_RELOC_M68HC11_24",
2197995b Nick Clifton2004-01-21 11:17:53 +00001986 "BFD_RELOC_M68HC12_5B",
ed2dd403
NC
Nick Clifton2004-03-30 14:04:32 +00001987 "BFD_RELOC_16C_NUM08",
1988 "BFD_RELOC_16C_NUM08_C",
1989 "BFD_RELOC_16C_NUM16",
1990 "BFD_RELOC_16C_NUM16_C",
1991 "BFD_RELOC_16C_NUM32",
1992 "BFD_RELOC_16C_NUM32_C",
1993 "BFD_RELOC_16C_DISP04",
1994 "BFD_RELOC_16C_DISP04_C",
1995 "BFD_RELOC_16C_DISP08",
1996 "BFD_RELOC_16C_DISP08_C",
1997 "BFD_RELOC_16C_DISP16",
1998 "BFD_RELOC_16C_DISP16_C",
1999 "BFD_RELOC_16C_DISP24",
2000 "BFD_RELOC_16C_DISP24_C",
2001 "BFD_RELOC_16C_DISP24a",
2002 "BFD_RELOC_16C_DISP24a_C",
2003 "BFD_RELOC_16C_REG04",
2004 "BFD_RELOC_16C_REG04_C",
2005 "BFD_RELOC_16C_REG04a",
2006 "BFD_RELOC_16C_REG04a_C",
2007 "BFD_RELOC_16C_REG14",
2008 "BFD_RELOC_16C_REG14_C",
2009 "BFD_RELOC_16C_REG16",
2010 "BFD_RELOC_16C_REG16_C",
2011 "BFD_RELOC_16C_REG20",
2012 "BFD_RELOC_16C_REG20_C",
2013 "BFD_RELOC_16C_ABS20",
2014 "BFD_RELOC_16C_ABS20_C",
2015 "BFD_RELOC_16C_ABS24",
2016 "BFD_RELOC_16C_ABS24_C",
2017 "BFD_RELOC_16C_IMM04",
2018 "BFD_RELOC_16C_IMM04_C",
2019 "BFD_RELOC_16C_IMM16",
2020 "BFD_RELOC_16C_IMM16_C",
2021 "BFD_RELOC_16C_IMM20",
2022 "BFD_RELOC_16C_IMM20_C",
2023 "BFD_RELOC_16C_IMM24",
2024 "BFD_RELOC_16C_IMM24_C",
2025 "BFD_RELOC_16C_IMM32",
2026 "BFD_RELOC_16C_IMM32_C",
c71c5ca9
NC
Nick Clifton2007-06-29 14:09:34 +00002027 "BFD_RELOC_CR16_NUM8",
2028 "BFD_RELOC_CR16_NUM16",
2029 "BFD_RELOC_CR16_NUM32",
2030 "BFD_RELOC_CR16_NUM32a",
2031 "BFD_RELOC_CR16_REGREL0",
2032 "BFD_RELOC_CR16_REGREL4",
2033 "BFD_RELOC_CR16_REGREL4a",
2034 "BFD_RELOC_CR16_REGREL14",
2035 "BFD_RELOC_CR16_REGREL14a",
2036 "BFD_RELOC_CR16_REGREL16",
2037 "BFD_RELOC_CR16_REGREL20",
2038 "BFD_RELOC_CR16_REGREL20a",
2039 "BFD_RELOC_CR16_ABS20",
2040 "BFD_RELOC_CR16_ABS24",
2041 "BFD_RELOC_CR16_IMM4",
2042 "BFD_RELOC_CR16_IMM8",
2043 "BFD_RELOC_CR16_IMM16",
2044 "BFD_RELOC_CR16_IMM20",
2045 "BFD_RELOC_CR16_IMM24",
2046 "BFD_RELOC_CR16_IMM32",
2047 "BFD_RELOC_CR16_IMM32a",
2048 "BFD_RELOC_CR16_DISP4",
2049 "BFD_RELOC_CR16_DISP8",
2050 "BFD_RELOC_CR16_DISP16",
2051 "BFD_RELOC_CR16_DISP20",
2052 "BFD_RELOC_CR16_DISP24",
2053 "BFD_RELOC_CR16_DISP24a",
9b5394d7
NC
Nick Clifton2007-10-01 15:55:44 +00002054 "BFD_RELOC_CR16_SWITCH8",
2055 "BFD_RELOC_CR16_SWITCH16",
2056 "BFD_RELOC_CR16_SWITCH32",
b514d09a
SR
M R Swami Reddy2008-11-27 12:26:49 +00002057 "BFD_RELOC_CR16_GOT_REGREL20",
2058 "BFD_RELOC_CR16_GOTC_REGREL20",
2059 "BFD_RELOC_CR16_GLOB_DAT",
13e82919
NC
Nick Clifton2004-07-07 17:28:53 +00002060 "BFD_RELOC_CRX_REL4",
2061 "BFD_RELOC_CRX_REL8",
2062 "BFD_RELOC_CRX_REL8_CMP",
2063 "BFD_RELOC_CRX_REL16",
2064 "BFD_RELOC_CRX_REL24",
2065 "BFD_RELOC_CRX_REL32",
2066 "BFD_RELOC_CRX_REGREL12",
2067 "BFD_RELOC_CRX_REGREL22",
2068 "BFD_RELOC_CRX_REGREL28",
2069 "BFD_RELOC_CRX_REGREL32",
2070 "BFD_RELOC_CRX_ABS16",
2071 "BFD_RELOC_CRX_ABS32",
2072 "BFD_RELOC_CRX_NUM8",
2073 "BFD_RELOC_CRX_NUM16",
2074 "BFD_RELOC_CRX_NUM32",
2075 "BFD_RELOC_CRX_IMM16",
2076 "BFD_RELOC_CRX_IMM32",
3dcc91f8
NC
Nick Clifton2004-07-27 11:40:24 +00002077 "BFD_RELOC_CRX_SWITCH8",
2078 "BFD_RELOC_CRX_SWITCH16",
2079 "BFD_RELOC_CRX_SWITCH32",
cd6f7291
HPN
Hans-Peter Nilsson2000-07-20 16:21:07 +00002080 "BFD_RELOC_CRIS_BDISP8",
2081 "BFD_RELOC_CRIS_UNSIGNED_5",
2082 "BFD_RELOC_CRIS_SIGNED_6",
2083 "BFD_RELOC_CRIS_UNSIGNED_6",
81d77732
HPN
Hans-Peter Nilsson2004-11-04 14:58:13 +00002084 "BFD_RELOC_CRIS_SIGNED_8",
2085 "BFD_RELOC_CRIS_UNSIGNED_8",
2086 "BFD_RELOC_CRIS_SIGNED_16",
2087 "BFD_RELOC_CRIS_UNSIGNED_16",
2088 "BFD_RELOC_CRIS_LAPCQ_OFFSET",
cd6f7291 Hans-Peter Nilsson2000-07-20 16:21:07 +00002089 "BFD_RELOC_CRIS_UNSIGNED_4",
fb0bf2d3
HPN
Hans-Peter Nilsson2001-03-22 11:17:16 +00002090 "BFD_RELOC_CRIS_COPY",
2091 "BFD_RELOC_CRIS_GLOB_DAT",
2092 "BFD_RELOC_CRIS_JUMP_SLOT",
2093 "BFD_RELOC_CRIS_RELATIVE",
2094 "BFD_RELOC_CRIS_32_GOT",
2095 "BFD_RELOC_CRIS_16_GOT",
2096 "BFD_RELOC_CRIS_32_GOTPLT",
2097 "BFD_RELOC_CRIS_16_GOTPLT",
2098 "BFD_RELOC_CRIS_32_GOTREL",
2099 "BFD_RELOC_CRIS_32_PLT_GOTREL",
2100 "BFD_RELOC_CRIS_32_PLT_PCREL",
8f2f8dc7
HPN
Hans-Peter Nilsson2008-10-04 17:18:36 +00002101 "BFD_RELOC_CRIS_32_GOT_GD",
2102 "BFD_RELOC_CRIS_16_GOT_GD",
2103 "BFD_RELOC_CRIS_32_GD",
2104 "BFD_RELOC_CRIS_DTP",
2105 "BFD_RELOC_CRIS_32_DTPREL",
2106 "BFD_RELOC_CRIS_16_DTPREL",
2107 "BFD_RELOC_CRIS_32_GOT_TPREL",
2108 "BFD_RELOC_CRIS_16_GOT_TPREL",
2109 "BFD_RELOC_CRIS_32_TPREL",
2110 "BFD_RELOC_CRIS_16_TPREL",
2111 "BFD_RELOC_CRIS_DTPMOD",
51b8aba6 Hans-Peter Nilsson2008-12-20 00:26:36 +00002112 "BFD_RELOC_CRIS_32_IE",
f951777a
JE
Jason Eckhardt2000-08-01 01:45:29 +00002113 "BFD_RELOC_860_COPY",
2114 "BFD_RELOC_860_GLOB_DAT",
2115 "BFD_RELOC_860_JUMP_SLOT",
2116 "BFD_RELOC_860_RELATIVE",
2117 "BFD_RELOC_860_PC26",
2118 "BFD_RELOC_860_PLT26",
2119 "BFD_RELOC_860_PC16",
2120 "BFD_RELOC_860_LOW0",
2121 "BFD_RELOC_860_SPLIT0",
2122 "BFD_RELOC_860_LOW1",
2123 "BFD_RELOC_860_SPLIT1",
2124 "BFD_RELOC_860_LOW2",
2125 "BFD_RELOC_860_SPLIT2",
2126 "BFD_RELOC_860_LOW3",
2127 "BFD_RELOC_860_LOGOT0",
2128 "BFD_RELOC_860_SPGOT0",
2129 "BFD_RELOC_860_LOGOT1",
2130 "BFD_RELOC_860_SPGOT1",
2131 "BFD_RELOC_860_LOGOTOFF0",
2132 "BFD_RELOC_860_SPGOTOFF0",
2133 "BFD_RELOC_860_LOGOTOFF1",
2134 "BFD_RELOC_860_SPGOTOFF1",
2135 "BFD_RELOC_860_LOGOTOFF2",
2136 "BFD_RELOC_860_LOGOTOFF3",
2137 "BFD_RELOC_860_LOPC",
2138 "BFD_RELOC_860_HIGHADJ",
2139 "BFD_RELOC_860_HAGOT",
2140 "BFD_RELOC_860_HAGOTOFF",
2141 "BFD_RELOC_860_HAPC",
2142 "BFD_RELOC_860_HIGH",
2143 "BFD_RELOC_860_HIGOT",
2144 "BFD_RELOC_860_HIGOTOFF",
6e10a47a
NC
Nick Clifton2001-04-24 15:08:16 +00002145 "BFD_RELOC_OPENRISC_ABS_26",
2146 "BFD_RELOC_OPENRISC_REL_26",
4ff50093
JR
Joern Rennecke2001-08-29 01:33:52 +00002147 "BFD_RELOC_H8_DIR16A8",
2148 "BFD_RELOC_H8_DIR16R8",
2149 "BFD_RELOC_H8_DIR24A8",
2150 "BFD_RELOC_H8_DIR24R8",
2151 "BFD_RELOC_H8_DIR32A16",
dc323640 Geoffrey Keating2001-12-08 03:46:03 +00002152 "BFD_RELOC_XSTORMY16_REL_12",
965bc52b DJ Delorie2002-12-20 21:13:19 +00002153 "BFD_RELOC_XSTORMY16_12",
dc323640
GK
Geoffrey Keating2001-12-08 03:46:03 +00002154 "BFD_RELOC_XSTORMY16_24",
2155 "BFD_RELOC_XSTORMY16_FPTR16",
21971afd
DB
Dave Brolley2007-02-05 20:10:25 +00002156 "BFD_RELOC_RELC",
2157
6da0fc66
NC
Nick Clifton2006-02-17 14:36:28 +00002158 "BFD_RELOC_XC16X_PAG",
2159 "BFD_RELOC_XC16X_POF",
2160 "BFD_RELOC_XC16X_SEG",
2161 "BFD_RELOC_XC16X_SOF",
c60fbb22
AM
Alan Modra2002-05-31 04:23:27 +00002162 "BFD_RELOC_VAX_GLOB_DAT",
2163 "BFD_RELOC_VAX_JMP_SLOT",
2164 "BFD_RELOC_VAX_RELATIVE",
5c7604d4
NS
Nathan Sidwell2005-12-16 10:23:12 +00002165 "BFD_RELOC_MT_PC16",
2166 "BFD_RELOC_MT_HI16",
2167 "BFD_RELOC_MT_LO16",
2168 "BFD_RELOC_MT_GNU_VTINHERIT",
2169 "BFD_RELOC_MT_GNU_VTENTRY",
2170 "BFD_RELOC_MT_PCINSN8",
1c300c07
NC
Nick Clifton2002-12-30 19:25:13 +00002171 "BFD_RELOC_MSP430_10_PCREL",
2172 "BFD_RELOC_MSP430_16_PCREL",
2173 "BFD_RELOC_MSP430_16",
2174 "BFD_RELOC_MSP430_16_PCREL_BYTE",
2175 "BFD_RELOC_MSP430_16_BYTE",
f67ce728
NC
Nick Clifton2004-08-25 12:54:15 +00002176 "BFD_RELOC_MSP430_2X_PCREL",
2177 "BFD_RELOC_MSP430_RL_PCREL",
293bde6b
SC
Stan Cox2003-01-03 21:12:28 +00002178 "BFD_RELOC_IQ2000_OFFSET_16",
2179 "BFD_RELOC_IQ2000_OFFSET_21",
2180 "BFD_RELOC_IQ2000_UHI16",
607ef48f
NC
Nick Clifton2003-04-01 15:50:31 +00002181 "BFD_RELOC_XTENSA_RTLD",
2182 "BFD_RELOC_XTENSA_GLOB_DAT",
2183 "BFD_RELOC_XTENSA_JMP_SLOT",
2184 "BFD_RELOC_XTENSA_RELATIVE",
2185 "BFD_RELOC_XTENSA_PLT",
9aa4f3b0
BW
Bob Wilson2004-10-08 00:22:15 +00002186 "BFD_RELOC_XTENSA_DIFF8",
2187 "BFD_RELOC_XTENSA_DIFF16",
2188 "BFD_RELOC_XTENSA_DIFF32",
2189 "BFD_RELOC_XTENSA_SLOT0_OP",
2190 "BFD_RELOC_XTENSA_SLOT1_OP",
2191 "BFD_RELOC_XTENSA_SLOT2_OP",
2192 "BFD_RELOC_XTENSA_SLOT3_OP",
2193 "BFD_RELOC_XTENSA_SLOT4_OP",
2194 "BFD_RELOC_XTENSA_SLOT5_OP",
2195 "BFD_RELOC_XTENSA_SLOT6_OP",
2196 "BFD_RELOC_XTENSA_SLOT7_OP",
2197 "BFD_RELOC_XTENSA_SLOT8_OP",
2198 "BFD_RELOC_XTENSA_SLOT9_OP",
2199 "BFD_RELOC_XTENSA_SLOT10_OP",
2200 "BFD_RELOC_XTENSA_SLOT11_OP",
2201 "BFD_RELOC_XTENSA_SLOT12_OP",
2202 "BFD_RELOC_XTENSA_SLOT13_OP",
2203 "BFD_RELOC_XTENSA_SLOT14_OP",
2204 "BFD_RELOC_XTENSA_SLOT0_ALT",
2205 "BFD_RELOC_XTENSA_SLOT1_ALT",
2206 "BFD_RELOC_XTENSA_SLOT2_ALT",
2207 "BFD_RELOC_XTENSA_SLOT3_ALT",
2208 "BFD_RELOC_XTENSA_SLOT4_ALT",
2209 "BFD_RELOC_XTENSA_SLOT5_ALT",
2210 "BFD_RELOC_XTENSA_SLOT6_ALT",
2211 "BFD_RELOC_XTENSA_SLOT7_ALT",
2212 "BFD_RELOC_XTENSA_SLOT8_ALT",
2213 "BFD_RELOC_XTENSA_SLOT9_ALT",
2214 "BFD_RELOC_XTENSA_SLOT10_ALT",
2215 "BFD_RELOC_XTENSA_SLOT11_ALT",
2216 "BFD_RELOC_XTENSA_SLOT12_ALT",
2217 "BFD_RELOC_XTENSA_SLOT13_ALT",
2218 "BFD_RELOC_XTENSA_SLOT14_ALT",
607ef48f
NC
Nick Clifton2003-04-01 15:50:31 +00002219 "BFD_RELOC_XTENSA_OP0",
2220 "BFD_RELOC_XTENSA_OP1",
2221 "BFD_RELOC_XTENSA_OP2",
2222 "BFD_RELOC_XTENSA_ASM_EXPAND",
2223 "BFD_RELOC_XTENSA_ASM_SIMPLIFY",
78ecf5dc
BW
Bob Wilson2008-08-20 23:28:59 +00002224 "BFD_RELOC_XTENSA_TLSDESC_FN",
2225 "BFD_RELOC_XTENSA_TLSDESC_ARG",
2226 "BFD_RELOC_XTENSA_TLS_DTPOFF",
2227 "BFD_RELOC_XTENSA_TLS_TPOFF",
2228 "BFD_RELOC_XTENSA_TLS_FUNC",
2229 "BFD_RELOC_XTENSA_TLS_ARG",
2230 "BFD_RELOC_XTENSA_TLS_CALL",
d35e1486 Nick Clifton2005-10-25 17:40:19 +00002231 "BFD_RELOC_Z80_DISP8",
7a96054c
NC
Nick Clifton2005-08-26 09:47:49 +00002232 "BFD_RELOC_Z8K_DISP7",
2233 "BFD_RELOC_Z8K_CALLR",
2234 "BFD_RELOC_Z8K_IMM4L",
76f66765
NC
Nick Clifton2008-12-23 19:10:25 +00002235 "BFD_RELOC_LM32_CALL",
2236 "BFD_RELOC_LM32_BRANCH",
2237 "BFD_RELOC_LM32_16_GOT",
2238 "BFD_RELOC_LM32_GOTOFF_HI16",
2239 "BFD_RELOC_LM32_GOTOFF_LO16",
2240 "BFD_RELOC_LM32_COPY",
2241 "BFD_RELOC_LM32_GLOB_DAT",
2242 "BFD_RELOC_LM32_JMP_SLOT",
2243 "BFD_RELOC_LM32_RELATIVE",
1afb7422
TG
Tristan Gingold2009-06-12 09:15:46 +00002244 "BFD_RELOC_MACH_O_SECTDIFF",
2245 "BFD_RELOC_MACH_O_PAIR",
ec347e04
TG
Tristan Gingold2010-01-13 11:35:19 +00002246 "BFD_RELOC_MACH_O_X86_64_BRANCH32",
2247 "BFD_RELOC_MACH_O_X86_64_BRANCH8",
2248 "BFD_RELOC_MACH_O_X86_64_GOT",
2249 "BFD_RELOC_MACH_O_X86_64_GOT_LOAD",
2250 "BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32",
2251 "BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64",
2252 "BFD_RELOC_MACH_O_X86_64_PCREL32_1",
2253 "BFD_RELOC_MACH_O_X86_64_PCREL32_2",
2254 "BFD_RELOC_MACH_O_X86_64_PCREL32_4",
ad627b38
NC
Nick Clifton2009-08-06 17:38:04 +00002255 "BFD_RELOC_MICROBLAZE_32_LO",
2256 "BFD_RELOC_MICROBLAZE_32_LO_PCREL",
2257 "BFD_RELOC_MICROBLAZE_32_ROSDA",
2258 "BFD_RELOC_MICROBLAZE_32_RWSDA",
2259 "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
2260 "BFD_RELOC_MICROBLAZE_64_NONE",
2261 "BFD_RELOC_MICROBLAZE_64_GOTPC",
2262 "BFD_RELOC_MICROBLAZE_64_GOT",
2263 "BFD_RELOC_MICROBLAZE_64_PLT",
2264 "BFD_RELOC_MICROBLAZE_64_GOTOFF",
2265 "BFD_RELOC_MICROBLAZE_32_GOTOFF",
2266 "BFD_RELOC_MICROBLAZE_COPY",
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002267 "@@overflow: BFD_RELOC_UNUSED@@",
2268};
2269#endif
2270
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +00002271reloc_howto_type *bfd_default_reloc_type_lookup
2272 (bfd *abfd, bfd_reloc_code_real_type code);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002273
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +00002274bfd_boolean bfd_generic_relax_section
2275 (bfd *abfd,
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002276 asection *section,
2277 struct bfd_link_info *,
95c86dce Alan Modra2003-06-29 10:06:40 +00002278 bfd_boolean *);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002279
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +00002280bfd_boolean bfd_generic_gc_sections
2281 (bfd *, struct bfd_link_info *);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002282
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +00002283bfd_boolean bfd_generic_merge_sections
2284 (bfd *, struct bfd_link_info *);
b6959f39 Jakub Jelinek2001-05-11 12:23:48 +00002285
95c86dce Alan Modra2003-06-29 10:06:40 +00002286bfd_byte *bfd_generic_get_relocated_section_contents
1bd90188
AM
Alan Modra2010-06-29 04:17:18 +00002287 (bfd *abfd,
2288 struct bfd_link_info *link_info,
2289 struct bfd_link_order *link_order,
2290 bfd_byte *data,
2291 bfd_boolean relocatable,
2292 asymbol **symbols);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002293
9673d88b Alan Modra2002-06-05 03:43:11 +00002294/* Extracted from archures.c. */
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002295extern const bfd_arch_info_type bfd_default_arch_struct;
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +00002296bfd_boolean bfd_default_set_arch_mach
2297 (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002298
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +00002299const bfd_arch_info_type *bfd_default_compatible
2300 (const bfd_arch_info_type *a, const bfd_arch_info_type *b);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002301
95c86dce
AM
Alan Modra2003-06-29 10:06:40 +00002302bfd_boolean bfd_default_scan
2303 (const struct bfd_arch_info *info, const char *string);
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002304
9673d88b Alan Modra2002-06-05 03:43:11 +00002305/* Extracted from elf.c. */