Deleted Added
full compact
bfd.h (208737) bfd.h (218822)
1/* $FreeBSD: head/gnu/usr.bin/binutils/libbfd/bfd.h 208737 2010-06-02 11:06:03Z jmallett $ */
1/* $FreeBSD: head/gnu/usr.bin/binutils/libbfd/bfd.h 218822 2011-02-18 20:54:12Z dim $ */
2
3/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically
4 generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c",
5 "bfdio.c", "bfdwin.c", "section.c", "archures.c", "reloc.c",
6 "syms.c", "bfd.c", "archive.c", "corefile.c", "targets.c", "format.c",
7 "linker.c" and "simple.c".
8 Run "make headers" in your build bfd/ to regenerate. */
9
10/* Main header file for the bfd library -- portable access to object files.
11
12 Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
2
3/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically
4 generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c",
5 "bfdio.c", "bfdwin.c", "section.c", "archures.c", "reloc.c",
6 "syms.c", "bfd.c", "archive.c", "corefile.c", "targets.c", "format.c",
7 "linker.c" and "simple.c".
8 Run "make headers" in your build bfd/ to regenerate. */
9
10/* Main header file for the bfd library -- portable access to object files.
11
12 Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
13 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
13 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
14 Free Software Foundation, Inc.
14
15 Contributed by Cygnus Support.
16
17 This file is part of BFD, the Binary File Descriptor library.
18
19 This program is free software; you can redistribute it and/or modify
20 it under the terms of the GNU General Public License as published by
21 the Free Software Foundation; either version 2 of the License, or
22 (at your option) any later version.
23
24 This program is distributed in the hope that it will be useful,
25 but WITHOUT ANY WARRANTY; without even the implied warranty of
26 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 GNU General Public License for more details.
28
29 You should have received a copy of the GNU General Public License
30 along with this program; if not, write to the Free Software
15
16 Contributed by Cygnus Support.
17
18 This file is part of BFD, the Binary File Descriptor library.
19
20 This program is free software; you can redistribute it and/or modify
21 it under the terms of the GNU General Public License as published by
22 the Free Software Foundation; either version 2 of the License, or
23 (at your option) any later version.
24
25 This program is distributed in the hope that it will be useful,
26 but WITHOUT ANY WARRANTY; without even the implied warranty of
27 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 GNU General Public License for more details.
29
30 You should have received a copy of the GNU General Public License
31 along with this program; if not, write to the Free Software
31 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
32 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
32
33#ifndef __BFD_H_SEEN__
34#define __BFD_H_SEEN__
35
36#ifdef __cplusplus
37extern "C" {
38#endif
39

--- 6 unchanged lines hidden (view full) ---

46 want extra underscores (e.g., "nlm_32_"). The XCONCAT2 macro will
47 cause the inner CONCAT2 macros to be evaluated first, producing
48 still-valid pp-tokens. Then the final concatenation can be done. */
49#undef CONCAT4
50#define CONCAT4(a,b,c,d) XCONCAT2(CONCAT2(a,b),CONCAT2(c,d))
51#endif
52#endif
53
33
34#ifndef __BFD_H_SEEN__
35#define __BFD_H_SEEN__
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40

--- 6 unchanged lines hidden (view full) ---

47 want extra underscores (e.g., "nlm_32_"). The XCONCAT2 macro will
48 cause the inner CONCAT2 macros to be evaluated first, producing
49 still-valid pp-tokens. Then the final concatenation can be done. */
50#undef CONCAT4
51#define CONCAT4(a,b,c,d) XCONCAT2(CONCAT2(a,b),CONCAT2(c,d))
52#endif
53#endif
54
55/* This is a utility macro to handle the situation where the code
56 wants to place a constant string into the code, followed by a
57 comma and then the length of the string. Doing this by hand
58 is error prone, so using this macro is safer. The macro will
59 also safely handle the case where a NULL is passed as the arg. */
60#define STRING_COMMA_LEN(STR) (STR), ((STR) ? sizeof (STR) - 1 : 0)
61/* Unfortunately it is not possible to use the STRING_COMMA_LEN macro
62 to create the arguments to another macro, since the preprocessor
63 will mis-count the number of arguments to the outer macro (by not
64 evaluating STRING_COMMA_LEN and so missing the comma). This is a
65 problem for example when trying to use STRING_COMMA_LEN to build
66 the arguments to the strncmp() macro. Hence this alternative
67 definition of strncmp is provided here.
68
69 Note - these macros do NOT work if STR2 is not a constant string. */
70#define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0)
71 /* strcpy() can have a similar problem, but since we know we are
72 copying a constant string, we can use memcpy which will be faster
73 since there is no need to check for a NUL byte inside STR. We
74 can also save time if we do not need to copy the terminating NUL. */
75#define LITMEMCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2) - 1)
76#define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2))
77
78
54/* The word size used by BFD on the host. This may be 64 with a 32
55 bit target if the host is 64 bit, or if other 64 bit targets have
56 been selected with --enable-targets, or if --enable-64-bit-bfd. */
57#define BFD_ARCH_SIZE 64
58
79/* The word size used by BFD on the host. This may be 64 with a 32
80 bit target if the host is 64 bit, or if other 64 bit targets have
81 been selected with --enable-targets, or if --enable-64-bit-bfd. */
82#define BFD_ARCH_SIZE 64
83
59
60#if defined(__i386__) || defined(__powerpc__) || defined(__arm__) || defined(__mips__)
61#define BFD_HOST_64BIT_LONG 0
62#define BFD_HOST_64_BIT long long
63#define BFD_HOST_U_64_BIT unsigned long long
64#elif defined(__alpha__) || defined(__sparc64__) || defined(__amd64__) || defined(__ia64__)
65#define BFD_HOST_64BIT_LONG 1
66#define BFD_HOST_64_BIT long
67#define BFD_HOST_U_64_BIT unsigned long

--- 30 unchanged lines hidden (view full) ---

98 success and FALSE on failure (unless they're a predicate). */
99
100typedef int bfd_boolean;
101#undef FALSE
102#undef TRUE
103#define FALSE 0
104#define TRUE 1
105
84#if defined(__i386__) || defined(__powerpc__) || defined(__arm__) || defined(__mips__)
85#define BFD_HOST_64BIT_LONG 0
86#define BFD_HOST_64_BIT long long
87#define BFD_HOST_U_64_BIT unsigned long long
88#elif defined(__alpha__) || defined(__sparc64__) || defined(__amd64__) || defined(__ia64__)
89#define BFD_HOST_64BIT_LONG 1
90#define BFD_HOST_64_BIT long
91#define BFD_HOST_U_64_BIT unsigned long

--- 30 unchanged lines hidden (view full) ---

122 success and FALSE on failure (unless they're a predicate). */
123
124typedef int bfd_boolean;
125#undef FALSE
126#undef TRUE
127#define FALSE 0
128#define TRUE 1
129
106#if 0
107/* Poison. */
108#undef false
109#undef true
110#define false dont_use_false_in_bfd
111#define true dont_use_true_in_bfd
112#endif
113
114#ifdef BFD64
115
116#ifndef BFD_HOST_64_BIT
117 #error No 64 bit integer type available
118#endif /* ! defined (BFD_HOST_64_BIT) */
119
120typedef BFD_HOST_U_64_BIT bfd_vma;
121typedef BFD_HOST_64_BIT bfd_signed_vma;

--- 31 unchanged lines hidden (view full) ---

153typedef unsigned long bfd_size_type;
154
155/* Print a bfd_vma x on stream s. */
156#define fprintf_vma(s,x) fprintf (s, "%08lx", x)
157#define sprintf_vma(s,x) sprintf (s, "%08lx", x)
158
159#endif /* not BFD64 */
160
130#ifdef BFD64
131
132#ifndef BFD_HOST_64_BIT
133 #error No 64 bit integer type available
134#endif /* ! defined (BFD_HOST_64_BIT) */
135
136typedef BFD_HOST_U_64_BIT bfd_vma;
137typedef BFD_HOST_64_BIT bfd_signed_vma;

--- 31 unchanged lines hidden (view full) ---

169typedef unsigned long bfd_size_type;
170
171/* Print a bfd_vma x on stream s. */
172#define fprintf_vma(s,x) fprintf (s, "%08lx", x)
173#define sprintf_vma(s,x) sprintf (s, "%08lx", x)
174
175#endif /* not BFD64 */
176
177#define HALF_BFD_SIZE_TYPE \
178 (((bfd_size_type) 1) << (8 * sizeof (bfd_size_type) / 2))
179
161#ifndef BFD_HOST_64_BIT
162/* Fall back on a 32 bit type. The idea is to make these types always
163 available for function return types, but in the case that
164 BFD_HOST_64_BIT is undefined such a function should abort or
165 otherwise signal an error. */
166typedef bfd_signed_vma bfd_int64_t;
167typedef bfd_vma bfd_uint64_t;
168#endif

--- 78 unchanged lines hidden (view full) ---

247#define BFD_TRADITIONAL_FORMAT 0x400
248
249/* This flag indicates that the BFD contents are actually cached in
250 memory. If this is set, iostream points to a bfd_in_memory struct. */
251#define BFD_IN_MEMORY 0x800
252
253/* The sections in this BFD specify a memory page. */
254#define HAS_LOAD_PAGE 0x1000
180#ifndef BFD_HOST_64_BIT
181/* Fall back on a 32 bit type. The idea is to make these types always
182 available for function return types, but in the case that
183 BFD_HOST_64_BIT is undefined such a function should abort or
184 otherwise signal an error. */
185typedef bfd_signed_vma bfd_int64_t;
186typedef bfd_vma bfd_uint64_t;
187#endif

--- 78 unchanged lines hidden (view full) ---

266#define BFD_TRADITIONAL_FORMAT 0x400
267
268/* This flag indicates that the BFD contents are actually cached in
269 memory. If this is set, iostream points to a bfd_in_memory struct. */
270#define BFD_IN_MEMORY 0x800
271
272/* The sections in this BFD specify a memory page. */
273#define HAS_LOAD_PAGE 0x1000
274
275/* This BFD has been created by the linker and doesn't correspond
276 to any input file. */
277#define BFD_LINKER_CREATED 0x2000
255
256/* Symbols and relocation. */
257
258/* A count of carsyms (canonical archive symbols). */
259typedef unsigned long symindex;
260
261/* How to perform a relocation. */
262typedef const struct reloc_howto_struct reloc_howto_type;

--- 54 unchanged lines hidden (view full) ---

317
318typedef struct bfd_section *sec_ptr;
319
320#define bfd_get_section_name(bfd, ptr) ((ptr)->name + 0)
321#define bfd_get_section_vma(bfd, ptr) ((ptr)->vma + 0)
322#define bfd_get_section_lma(bfd, ptr) ((ptr)->lma + 0)
323#define bfd_get_section_alignment(bfd, ptr) ((ptr)->alignment_power + 0)
324#define bfd_section_name(bfd, ptr) ((ptr)->name)
278
279/* Symbols and relocation. */
280
281/* A count of carsyms (canonical archive symbols). */
282typedef unsigned long symindex;
283
284/* How to perform a relocation. */
285typedef const struct reloc_howto_struct reloc_howto_type;

--- 54 unchanged lines hidden (view full) ---

340
341typedef struct bfd_section *sec_ptr;
342
343#define bfd_get_section_name(bfd, ptr) ((ptr)->name + 0)
344#define bfd_get_section_vma(bfd, ptr) ((ptr)->vma + 0)
345#define bfd_get_section_lma(bfd, ptr) ((ptr)->lma + 0)
346#define bfd_get_section_alignment(bfd, ptr) ((ptr)->alignment_power + 0)
347#define bfd_section_name(bfd, ptr) ((ptr)->name)
325#define bfd_section_size(bfd, ptr) (bfd_get_section_size_before_reloc(ptr))
348#define bfd_section_size(bfd, ptr) ((ptr)->size)
349#define bfd_get_section_size(ptr) ((ptr)->size)
326#define bfd_section_vma(bfd, ptr) ((ptr)->vma)
327#define bfd_section_lma(bfd, ptr) ((ptr)->lma)
328#define bfd_section_alignment(bfd, ptr) ((ptr)->alignment_power)
329#define bfd_get_section_flags(bfd, ptr) ((ptr)->flags + 0)
330#define bfd_get_section_userdata(bfd, ptr) ((ptr)->userdata)
331
332#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
333
334#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
335#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
336#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
350#define bfd_section_vma(bfd, ptr) ((ptr)->vma)
351#define bfd_section_lma(bfd, ptr) ((ptr)->lma)
352#define bfd_section_alignment(bfd, ptr) ((ptr)->alignment_power)
353#define bfd_get_section_flags(bfd, ptr) ((ptr)->flags + 0)
354#define bfd_get_section_userdata(bfd, ptr) ((ptr)->userdata)
355
356#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
357
358#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
359#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
360#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
361/* Find the address one past the end of SEC. */
362#define bfd_get_section_limit(bfd, sec) \
363 (((sec)->rawsize ? (sec)->rawsize : (sec)->size) \
364 / bfd_octets_per_byte (bfd))
337
365
338typedef struct stat stat_type;
366/* Return TRUE if section has been discarded. */
367#define elf_discarded_section(sec) \
368 (!bfd_is_abs_section (sec) \
369 && bfd_is_abs_section ((sec)->output_section) \
370 && (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \
371 && (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
372
373/* Forward define. */
374struct stat;
339
340typedef enum bfd_print_symbol
341{
342 bfd_print_symbol_name,
343 bfd_print_symbol_more,
344 bfd_print_symbol_all
345} bfd_print_symbol_type;
346

--- 31 unchanged lines hidden (view full) ---

378};
379
380/* A hash table. */
381
382struct bfd_hash_table
383{
384 /* The hash array. */
385 struct bfd_hash_entry **table;
375
376typedef enum bfd_print_symbol
377{
378 bfd_print_symbol_name,
379 bfd_print_symbol_more,
380 bfd_print_symbol_all
381} bfd_print_symbol_type;
382

--- 31 unchanged lines hidden (view full) ---

414};
415
416/* A hash table. */
417
418struct bfd_hash_table
419{
420 /* The hash array. */
421 struct bfd_hash_entry **table;
386 /* The number of slots in the hash table. */
387 unsigned int size;
388 /* A function used to create new elements in the hash table. The
389 first entry is itself a pointer to an element. When this
390 function is first invoked, this pointer will be NULL. However,
391 having the pointer permits a hierarchy of method functions to be
392 built each of which calls the function in the superclass. Thus
393 each function should be written to allocate a new block of memory
394 only if the argument is NULL. */
395 struct bfd_hash_entry *(*newfunc)
396 (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
397 /* An objalloc for this hash table. This is a struct objalloc *,
398 but we use void * to avoid requiring the inclusion of objalloc.h. */
399 void *memory;
422 /* A function used to create new elements in the hash table. The
423 first entry is itself a pointer to an element. When this
424 function is first invoked, this pointer will be NULL. However,
425 having the pointer permits a hierarchy of method functions to be
426 built each of which calls the function in the superclass. Thus
427 each function should be written to allocate a new block of memory
428 only if the argument is NULL. */
429 struct bfd_hash_entry *(*newfunc)
430 (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
431 /* An objalloc for this hash table. This is a struct objalloc *,
432 but we use void * to avoid requiring the inclusion of objalloc.h. */
433 void *memory;
434 /* The number of slots in the hash table. */
435 unsigned int size;
436 /* The number of entries in the hash table. */
437 unsigned int count;
438 /* The size of elements. */
439 unsigned int entsize;
440 /* If non-zero, don't grow the hash table. */
441 unsigned int frozen:1;
400};
401
402/* Initialize a hash table. */
403extern bfd_boolean bfd_hash_table_init
404 (struct bfd_hash_table *,
405 struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
406 struct bfd_hash_table *,
442};
443
444/* Initialize a hash table. */
445extern bfd_boolean bfd_hash_table_init
446 (struct bfd_hash_table *,
447 struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
448 struct bfd_hash_table *,
407 const char *));
449 const char *),
450 unsigned int);
408
409/* Initialize a hash table specifying a size. */
410extern bfd_boolean bfd_hash_table_init_n
411 (struct bfd_hash_table *,
412 struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
413 struct bfd_hash_table *,
414 const char *),
451
452/* Initialize a hash table specifying a size. */
453extern bfd_boolean bfd_hash_table_init_n
454 (struct bfd_hash_table *,
455 struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
456 struct bfd_hash_table *,
457 const char *),
415 unsigned int size);
458 unsigned int, unsigned int);
416
417/* Free up a hash table. */
418extern void bfd_hash_table_free
419 (struct bfd_hash_table *);
420
421/* Look up a string in a hash table. If CREATE is TRUE, a new entry
422 will be created for this string if one does not already exist. The
423 COPY argument must be TRUE if this routine should copy the string

--- 18 unchanged lines hidden (view full) ---

442/* Traverse a hash table in a random order, calling a function on each
443 element. If the function returns FALSE, the traversal stops. The
444 INFO argument is passed to the function. */
445extern void bfd_hash_traverse
446 (struct bfd_hash_table *,
447 bfd_boolean (*) (struct bfd_hash_entry *, void *),
448 void *info);
449
459
460/* Free up a hash table. */
461extern void bfd_hash_table_free
462 (struct bfd_hash_table *);
463
464/* Look up a string in a hash table. If CREATE is TRUE, a new entry
465 will be created for this string if one does not already exist. The
466 COPY argument must be TRUE if this routine should copy the string

--- 18 unchanged lines hidden (view full) ---

485/* Traverse a hash table in a random order, calling a function on each
486 element. If the function returns FALSE, the traversal stops. The
487 INFO argument is passed to the function. */
488extern void bfd_hash_traverse
489 (struct bfd_hash_table *,
490 bfd_boolean (*) (struct bfd_hash_entry *, void *),
491 void *info);
492
493/* Allows the default size of a hash table to be configured. New hash
494 tables allocated using bfd_hash_table_init will be created with
495 this size. */
496extern void bfd_hash_set_default_size (bfd_size_type);
497
498/* This structure is used to keep track of stabs in sections
499 information while linking. */
500
501struct stab_info
502{
503 /* A hash table used to hold stabs strings. */
504 struct bfd_strtab_hash *strings;
505 /* The header file hash table. */
506 struct bfd_hash_table includes;
507 /* The first .stabstr section. */
508 struct bfd_section *stabstr;
509};
510
450#define COFF_SWAP_TABLE (void *) &bfd_coff_std_swap_table
451
452/* User program access to BFD facilities. */
453
454/* Direct I/O routines, for programs which know more about the object
455 file than BFD does. Use higher level routines if possible. */
456
457extern bfd_size_type bfd_bread (void *, bfd_size_type, bfd *);

--- 56 unchanged lines hidden (view full) ---

514#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
515
516#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
517
518extern bfd_boolean bfd_cache_close
519 (bfd *abfd);
520/* NB: This declaration should match the autogenerated one in libbfd.h. */
521
511#define COFF_SWAP_TABLE (void *) &bfd_coff_std_swap_table
512
513/* User program access to BFD facilities. */
514
515/* Direct I/O routines, for programs which know more about the object
516 file than BFD does. Use higher level routines if possible. */
517
518extern bfd_size_type bfd_bread (void *, bfd_size_type, bfd *);

--- 56 unchanged lines hidden (view full) ---

575#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
576
577#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
578
579extern bfd_boolean bfd_cache_close
580 (bfd *abfd);
581/* NB: This declaration should match the autogenerated one in libbfd.h. */
582
583extern bfd_boolean bfd_cache_close_all (void);
584
522extern bfd_boolean bfd_record_phdr
523 (bfd *, unsigned long, bfd_boolean, flagword, bfd_boolean, bfd_vma,
524 bfd_boolean, bfd_boolean, unsigned int, struct bfd_section **);
525
526/* Byte swapping routines. */
527
528bfd_uint64_t bfd_getb64 (const void *);
529bfd_uint64_t bfd_getl64 (const void *);

--- 13 unchanged lines hidden (view full) ---

543void bfd_putl32 (bfd_vma, void *);
544void bfd_putb16 (bfd_vma, void *);
545void bfd_putl16 (bfd_vma, void *);
546
547/* Byte swapping routines which take size and endiannes as arguments. */
548
549bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean);
550void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean);
585extern bfd_boolean bfd_record_phdr
586 (bfd *, unsigned long, bfd_boolean, flagword, bfd_boolean, bfd_vma,
587 bfd_boolean, bfd_boolean, unsigned int, struct bfd_section **);
588
589/* Byte swapping routines. */
590
591bfd_uint64_t bfd_getb64 (const void *);
592bfd_uint64_t bfd_getl64 (const void *);

--- 13 unchanged lines hidden (view full) ---

606void bfd_putl32 (bfd_vma, void *);
607void bfd_putb16 (bfd_vma, void *);
608void bfd_putl16 (bfd_vma, void *);
609
610/* Byte swapping routines which take size and endiannes as arguments. */
611
612bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean);
613void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean);
614
615extern bfd_boolean bfd_section_already_linked_table_init (void);
616extern void bfd_section_already_linked_table_free (void);
551
552/* Externally visible ECOFF routines. */
553
554#if defined(__STDC__) || defined(ALMOST_STDC)
555struct ecoff_debug_info;
556struct ecoff_debug_swap;
557struct ecoff_extr;
558struct bfd_symbol;

--- 37 unchanged lines hidden (view full) ---

596 const struct ecoff_debug_swap *swap);
597extern bfd_boolean bfd_ecoff_write_debug
598 (bfd *abfd, struct ecoff_debug_info *debug,
599 const struct ecoff_debug_swap *swap, file_ptr where);
600extern bfd_boolean bfd_ecoff_write_accumulated_debug
601 (void *handle, bfd *abfd, struct ecoff_debug_info *debug,
602 const struct ecoff_debug_swap *swap,
603 struct bfd_link_info *info, file_ptr where);
617
618/* Externally visible ECOFF routines. */
619
620#if defined(__STDC__) || defined(ALMOST_STDC)
621struct ecoff_debug_info;
622struct ecoff_debug_swap;
623struct ecoff_extr;
624struct bfd_symbol;

--- 37 unchanged lines hidden (view full) ---

662 const struct ecoff_debug_swap *swap);
663extern bfd_boolean bfd_ecoff_write_debug
664 (bfd *abfd, struct ecoff_debug_info *debug,
665 const struct ecoff_debug_swap *swap, file_ptr where);
666extern bfd_boolean bfd_ecoff_write_accumulated_debug
667 (void *handle, bfd *abfd, struct ecoff_debug_info *debug,
668 const struct ecoff_debug_swap *swap,
669 struct bfd_link_info *info, file_ptr where);
604extern bfd_boolean bfd_mips_ecoff_create_embedded_relocs
605 (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
606
607/* Externally visible ELF routines. */
608
609struct bfd_link_needed_list
610{
611 struct bfd_link_needed_list *next;
612 bfd *by;
613 const char *name;
614};
615
616enum dynamic_lib_link_class {
617 DYN_NORMAL = 0,
618 DYN_AS_NEEDED = 1,
670
671/* Externally visible ELF routines. */
672
673struct bfd_link_needed_list
674{
675 struct bfd_link_needed_list *next;
676 bfd *by;
677 const char *name;
678};
679
680enum dynamic_lib_link_class {
681 DYN_NORMAL = 0,
682 DYN_AS_NEEDED = 1,
619 DYN_DT_NEEDED = 2
683 DYN_DT_NEEDED = 2,
684 DYN_NO_ADD_NEEDED = 4,
685 DYN_NO_NEEDED = 8
620};
621
686};
687
688enum notice_asneeded_action {
689 notice_as_needed,
690 notice_not_needed,
691 notice_needed
692};
693
622extern bfd_boolean bfd_elf_record_link_assignment
694extern bfd_boolean bfd_elf_record_link_assignment
623 (bfd *, struct bfd_link_info *, const char *, bfd_boolean);
695 (bfd *, struct bfd_link_info *, const char *, bfd_boolean,
696 bfd_boolean);
624extern struct bfd_link_needed_list *bfd_elf_get_needed_list
625 (bfd *, struct bfd_link_info *);
626extern bfd_boolean bfd_elf_get_bfd_needed_list
627 (bfd *, struct bfd_link_needed_list **);
628extern bfd_boolean bfd_elf_size_dynamic_sections
629 (bfd *, const char *, const char *, const char *, const char * const *,
697extern struct bfd_link_needed_list *bfd_elf_get_needed_list
698 (bfd *, struct bfd_link_info *);
699extern bfd_boolean bfd_elf_get_bfd_needed_list
700 (bfd *, struct bfd_link_needed_list **);
701extern bfd_boolean bfd_elf_size_dynamic_sections
702 (bfd *, const char *, const char *, const char *, const char * const *,
630 struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *);
703 struct bfd_link_info *, struct bfd_section **,
704 struct bfd_elf_version_tree *);
705extern bfd_boolean bfd_elf_size_dynsym_hash_dynstr
706 (bfd *, struct bfd_link_info *);
631extern void bfd_elf_set_dt_needed_name
632 (bfd *, const char *);
633extern const char *bfd_elf_get_dt_soname
634 (bfd *);
635extern void bfd_elf_set_dyn_lib_class
707extern void bfd_elf_set_dt_needed_name
708 (bfd *, const char *);
709extern const char *bfd_elf_get_dt_soname
710 (bfd *);
711extern void bfd_elf_set_dyn_lib_class
636 (bfd *, int);
712 (bfd *, enum dynamic_lib_link_class);
713extern int bfd_elf_get_dyn_lib_class
714 (bfd *);
637extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
638 (bfd *, struct bfd_link_info *);
639extern bfd_boolean bfd_elf_discard_info
640 (bfd *, struct bfd_link_info *);
715extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
716 (bfd *, struct bfd_link_info *);
717extern bfd_boolean bfd_elf_discard_info
718 (bfd *, struct bfd_link_info *);
719extern unsigned int _bfd_elf_default_action_discarded
720 (struct bfd_section *);
641
642/* Return an upper bound on the number of bytes required to store a
643 copy of ABFD's program header table entries. Return -1 if an error
644 occurs; bfd_get_error will return an appropriate code. */
645extern long bfd_get_elf_phdr_upper_bound
646 (bfd *abfd);
647
648/* Copy ABFD's program header table entries to *PHDRS. The entries

--- 15 unchanged lines hidden (view full) ---

664
665 The function TARGET_READ_MEMORY is called to copy LEN bytes from the
666 remote memory at target address VMA into the local buffer at MYADDR; it
667 should return zero on success or an `errno' code on failure. TEMPL must
668 be a BFD for an ELF target with the word size and byte order found in
669 the remote memory. */
670extern bfd *bfd_elf_bfd_from_remote_memory
671 (bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
721
722/* Return an upper bound on the number of bytes required to store a
723 copy of ABFD's program header table entries. Return -1 if an error
724 occurs; bfd_get_error will return an appropriate code. */
725extern long bfd_get_elf_phdr_upper_bound
726 (bfd *abfd);
727
728/* Copy ABFD's program header table entries to *PHDRS. The entries

--- 15 unchanged lines hidden (view full) ---

744
745 The function TARGET_READ_MEMORY is called to copy LEN bytes from the
746 remote memory at target address VMA into the local buffer at MYADDR; it
747 should return zero on success or an `errno' code on failure. TEMPL must
748 be a BFD for an ELF target with the word size and byte order found in
749 the remote memory. */
750extern bfd *bfd_elf_bfd_from_remote_memory
751 (bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
672 int (*target_read_memory) (bfd_vma vma, char *myaddr, int len));
752 int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr, int len));
673
674/* Return the arch_size field of an elf bfd, or -1 if not elf. */
675extern int bfd_get_arch_size
676 (bfd *);
677
678/* Return TRUE if address "naturally" sign extends, or -1 if not elf. */
679extern int bfd_get_sign_extend_vma
680 (bfd *);
681
682extern struct bfd_section *_bfd_elf_tls_setup
683 (bfd *, struct bfd_link_info *);
684
753
754/* Return the arch_size field of an elf bfd, or -1 if not elf. */
755extern int bfd_get_arch_size
756 (bfd *);
757
758/* Return TRUE if address "naturally" sign extends, or -1 if not elf. */
759extern int bfd_get_sign_extend_vma
760 (bfd *);
761
762extern struct bfd_section *_bfd_elf_tls_setup
763 (bfd *, struct bfd_link_info *);
764
765extern void _bfd_fix_excluded_sec_syms
766 (bfd *, struct bfd_link_info *);
767
768extern unsigned bfd_m68k_mach_to_features (int);
769
770extern int bfd_m68k_features_to_mach (unsigned);
771
685extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs
772extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs
686 (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
687extern bfd_boolean bfd_mips_elf32_create_embedded_relocs
688 (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
773 (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
774 char **);
689
775
776extern bfd_boolean bfd_bfin_elf32_create_embedded_relocs
777 (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
778 char **);
779
690/* SunOS shared library support routines for the linker. */
691
692extern struct bfd_link_needed_list *bfd_sunos_get_needed_list
693 (bfd *, struct bfd_link_info *);
694extern bfd_boolean bfd_sunos_record_link_assignment
695 (bfd *, struct bfd_link_info *, const char *);
696extern bfd_boolean bfd_sunos_size_dynamic_sections
780/* SunOS shared library support routines for the linker. */
781
782extern struct bfd_link_needed_list *bfd_sunos_get_needed_list
783 (bfd *, struct bfd_link_info *);
784extern bfd_boolean bfd_sunos_record_link_assignment
785 (bfd *, struct bfd_link_info *, const char *);
786extern bfd_boolean bfd_sunos_size_dynamic_sections
697 (bfd *, struct bfd_link_info *, struct bfd_section **, struct bfd_section **, struct bfd_section **);
787 (bfd *, struct bfd_link_info *, struct bfd_section **,
788 struct bfd_section **, struct bfd_section **);
698
699/* Linux shared library support routines for the linker. */
700
701extern bfd_boolean bfd_i386linux_size_dynamic_sections
702 (bfd *, struct bfd_link_info *);
703extern bfd_boolean bfd_m68klinux_size_dynamic_sections
704 (bfd *, struct bfd_link_info *);
705extern bfd_boolean bfd_sparclinux_size_dynamic_sections

--- 64 unchanged lines hidden (view full) ---

770 (bfd *, struct bfd_symbol *, int, union internal_auxent *);
771
772extern bfd_boolean bfd_coff_set_symbol_class
773 (bfd *, struct bfd_symbol *, unsigned int);
774
775extern bfd_boolean bfd_m68k_coff_create_embedded_relocs
776 (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
777
789
790/* Linux shared library support routines for the linker. */
791
792extern bfd_boolean bfd_i386linux_size_dynamic_sections
793 (bfd *, struct bfd_link_info *);
794extern bfd_boolean bfd_m68klinux_size_dynamic_sections
795 (bfd *, struct bfd_link_info *);
796extern bfd_boolean bfd_sparclinux_size_dynamic_sections

--- 64 unchanged lines hidden (view full) ---

861 (bfd *, struct bfd_symbol *, int, union internal_auxent *);
862
863extern bfd_boolean bfd_coff_set_symbol_class
864 (bfd *, struct bfd_symbol *, unsigned int);
865
866extern bfd_boolean bfd_m68k_coff_create_embedded_relocs
867 (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
868
869/* ARM VFP11 erratum workaround support. */
870typedef enum
871{
872 BFD_ARM_VFP11_FIX_DEFAULT,
873 BFD_ARM_VFP11_FIX_NONE,
874 BFD_ARM_VFP11_FIX_SCALAR,
875 BFD_ARM_VFP11_FIX_VECTOR
876} bfd_arm_vfp11_fix;
877
878extern void bfd_elf32_arm_init_maps
879 (bfd *);
880
881extern void bfd_elf32_arm_set_vfp11_fix
882 (bfd *, struct bfd_link_info *);
883
884extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan
885 (bfd *, struct bfd_link_info *);
886
887extern void bfd_elf32_arm_vfp11_fix_veneer_locations
888 (bfd *, struct bfd_link_info *);
889
778/* ARM Interworking support. Called from linker. */
779extern bfd_boolean bfd_arm_allocate_interworking_sections
780 (struct bfd_link_info *);
781
782extern bfd_boolean bfd_arm_process_before_allocation
783 (bfd *, struct bfd_link_info *, int);
784
785extern bfd_boolean bfd_arm_get_bfd_for_interworking

--- 9 unchanged lines hidden (view full) ---

795extern bfd_boolean bfd_arm_pe_get_bfd_for_interworking
796 (bfd *, struct bfd_link_info *);
797
798/* ELF ARM Interworking support. Called from linker. */
799extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
800 (struct bfd_link_info *);
801
802extern bfd_boolean bfd_elf32_arm_process_before_allocation
890/* ARM Interworking support. Called from linker. */
891extern bfd_boolean bfd_arm_allocate_interworking_sections
892 (struct bfd_link_info *);
893
894extern bfd_boolean bfd_arm_process_before_allocation
895 (bfd *, struct bfd_link_info *, int);
896
897extern bfd_boolean bfd_arm_get_bfd_for_interworking

--- 9 unchanged lines hidden (view full) ---

907extern bfd_boolean bfd_arm_pe_get_bfd_for_interworking
908 (bfd *, struct bfd_link_info *);
909
910/* ELF ARM Interworking support. Called from linker. */
911extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
912 (struct bfd_link_info *);
913
914extern bfd_boolean bfd_elf32_arm_process_before_allocation
803 (bfd *, struct bfd_link_info *, int);
915 (bfd *, struct bfd_link_info *);
804
916
917void bfd_elf32_arm_set_target_relocs
918 (bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix,
919 int, int);
920
805extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
806 (bfd *, struct bfd_link_info *);
807
808extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
809 (bfd *, struct bfd_link_info *);
810
921extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
922 (bfd *, struct bfd_link_info *);
923
924extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
925 (bfd *, struct bfd_link_info *);
926
927/* ELF ARM mapping symbol support */
928#define BFD_ARM_SPECIAL_SYM_TYPE_MAP (1 << 0)
929#define BFD_ARM_SPECIAL_SYM_TYPE_TAG (1 << 1)
930#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER (1 << 2)
931#define BFD_ARM_SPECIAL_SYM_TYPE_ANY (~0)
932extern bfd_boolean bfd_is_arm_special_symbol_name
933 (const char * name, int type);
934
935extern void bfd_elf32_arm_set_byteswap_code (struct bfd_link_info *, int);
936
811/* ARM Note section processing. */
812extern bfd_boolean bfd_arm_merge_machines
813 (bfd *, bfd *);
814
815extern bfd_boolean bfd_arm_update_notes
816 (bfd *, const char *);
817
818extern unsigned int bfd_arm_get_mach_from_notes

--- 12 unchanged lines hidden (view full) ---

831
832/* IA64 Itanium code generation. Called from linker. */
833extern void bfd_elf32_ia64_after_parse
834 (int);
835
836extern void bfd_elf64_ia64_after_parse
837 (int);
838
937/* ARM Note section processing. */
938extern bfd_boolean bfd_arm_merge_machines
939 (bfd *, bfd *);
940
941extern bfd_boolean bfd_arm_update_notes
942 (bfd *, const char *);
943
944extern unsigned int bfd_arm_get_mach_from_notes

--- 12 unchanged lines hidden (view full) ---

957
958/* IA64 Itanium code generation. Called from linker. */
959extern void bfd_elf32_ia64_after_parse
960 (int);
961
962extern void bfd_elf64_ia64_after_parse
963 (int);
964
965/* This structure is used for a comdat section, as in PE. A comdat
966 section is associated with a particular symbol. When the linker
967 sees a comdat section, it keeps only one of the sections with a
968 given name and associated with a given symbol. */
969
970struct coff_comdat_info
971{
972 /* The name of the symbol associated with a comdat section. */
973 const char *name;
974
975 /* The local symbol table index of the symbol associated with a
976 comdat section. This is only meaningful to the object file format
977 specific code; it is not an index into the list returned by
978 bfd_canonicalize_symtab. */
979 long symbol;
980};
981
982extern struct coff_comdat_info *bfd_coff_get_comdat_section
983 (bfd *, struct bfd_section *);
984
839/* Extracted from init.c. */
840void bfd_init (void);
841
842/* Extracted from opncls.c. */
985/* Extracted from init.c. */
986void bfd_init (void);
987
988/* Extracted from opncls.c. */
989bfd *bfd_fopen (const char *filename, const char *target,
990 const char *mode, int fd);
991
843bfd *bfd_openr (const char *filename, const char *target);
844
845bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
846
847bfd *bfd_openstreamr (const char *, const char *, void *);
848
992bfd *bfd_openr (const char *filename, const char *target);
993
994bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
995
996bfd *bfd_openstreamr (const char *, const char *, void *);
997
998bfd *bfd_openr_iovec (const char *filename, const char *target,
999 void *(*open) (struct bfd *nbfd,
1000 void *open_closure),
1001 void *open_closure,
1002 file_ptr (*pread) (struct bfd *nbfd,
1003 void *stream,
1004 void *buf,
1005 file_ptr nbytes,
1006 file_ptr offset),
1007 int (*close) (struct bfd *nbfd,
1008 void *stream),
1009 int (*stat) (struct bfd *abfd,
1010 void *stream,
1011 struct stat *sb));
1012
849bfd *bfd_openw (const char *filename, const char *target);
850
851bfd_boolean bfd_close (bfd *abfd);
852
853bfd_boolean bfd_close_all_done (bfd *);
854
855bfd *bfd_create (const char *filename, bfd *templ);
856

--- 123 unchanged lines hidden (view full) ---

980#define H_GET_S32 bfd_h_get_signed_32
981#define H_GET_S16 bfd_h_get_signed_16
982#define H_GET_S8 bfd_h_get_signed_8
983
984
985/* Extracted from bfdio.c. */
986long bfd_get_mtime (bfd *abfd);
987
1013bfd *bfd_openw (const char *filename, const char *target);
1014
1015bfd_boolean bfd_close (bfd *abfd);
1016
1017bfd_boolean bfd_close_all_done (bfd *);
1018
1019bfd *bfd_create (const char *filename, bfd *templ);
1020

--- 123 unchanged lines hidden (view full) ---

1144#define H_GET_S32 bfd_h_get_signed_32
1145#define H_GET_S16 bfd_h_get_signed_16
1146#define H_GET_S8 bfd_h_get_signed_8
1147
1148
1149/* Extracted from bfdio.c. */
1150long bfd_get_mtime (bfd *abfd);
1151
988long bfd_get_size (bfd *abfd);
1152file_ptr bfd_get_size (bfd *abfd);
989
990/* Extracted from bfdwin.c. */
991/* Extracted from section.c. */
1153
1154/* Extracted from bfdwin.c. */
1155/* Extracted from section.c. */
992/* This structure is used for a comdat section, as in PE. A comdat
993 section is associated with a particular symbol. When the linker
994 sees a comdat section, it keeps only one of the sections with a
995 given name and associated with a given symbol. */
996
997struct bfd_comdat_info
998{
999 /* The name of the symbol associated with a comdat section. */
1000 const char *name;
1001
1002 /* The local symbol table index of the symbol associated with a
1003 comdat section. This is only meaningful to the object file format
1004 specific code; it is not an index into the list returned by
1005 bfd_canonicalize_symtab. */
1006 long symbol;
1007};
1008
1009typedef struct bfd_section
1010{
1011 /* The name of the section; the name isn't a copy, the pointer is
1012 the same as that passed to bfd_make_section. */
1013 const char *name;
1014
1015 /* A unique sequence number. */
1016 int id;
1017
1018 /* Which section in the bfd; 0..n-1 as sections are created in a bfd. */
1019 int index;
1020
1021 /* The next section in the list belonging to the BFD, or NULL. */
1022 struct bfd_section *next;
1023
1156typedef struct bfd_section
1157{
1158 /* The name of the section; the name isn't a copy, the pointer is
1159 the same as that passed to bfd_make_section. */
1160 const char *name;
1161
1162 /* A unique sequence number. */
1163 int id;
1164
1165 /* Which section in the bfd; 0..n-1 as sections are created in a bfd. */
1166 int index;
1167
1168 /* The next section in the list belonging to the BFD, or NULL. */
1169 struct bfd_section *next;
1170
1171 /* The previous section in the list belonging to the BFD, or NULL. */
1172 struct bfd_section *prev;
1173
1024 /* The field flags contains attributes of the section. Some
1025 flags are read in from the object file, and some are
1026 synthesized from other information. */
1027 flagword flags;
1028
1029#define SEC_NO_FLAGS 0x000
1030
1031 /* Tells the OS to allocate space for this section when loading.
1032 This is clear for a section containing debug information only. */
1033#define SEC_ALLOC 0x001
1034
1035 /* Tells the OS to load the section from the file when loading.
1036 This is clear for a .bss section. */
1037#define SEC_LOAD 0x002
1038
1039 /* The section contains data still to be relocated, so there is
1040 some relocation information too. */
1041#define SEC_RELOC 0x004
1042
1174 /* The field flags contains attributes of the section. Some
1175 flags are read in from the object file, and some are
1176 synthesized from other information. */
1177 flagword flags;
1178
1179#define SEC_NO_FLAGS 0x000
1180
1181 /* Tells the OS to allocate space for this section when loading.
1182 This is clear for a section containing debug information only. */
1183#define SEC_ALLOC 0x001
1184
1185 /* Tells the OS to load the section from the file when loading.
1186 This is clear for a .bss section. */
1187#define SEC_LOAD 0x002
1188
1189 /* The section contains data still to be relocated, so there is
1190 some relocation information too. */
1191#define SEC_RELOC 0x004
1192
1043 /* ELF reserves 4 processor specific bits and 8 operating system
1044 specific bits in sh_flags; at present we can get away with just
1045 one in communicating between the assembler and BFD, but this
1046 isn't a good long-term solution. */
1047#define SEC_ARCH_BIT_0 0x008
1048
1049 /* A signal to the OS that the section contains read only data. */
1193 /* A signal to the OS that the section contains read only data. */
1050#define SEC_READONLY 0x010
1194#define SEC_READONLY 0x008
1051
1052 /* The section contains code only. */
1195
1196 /* The section contains code only. */
1053#define SEC_CODE 0x020
1197#define SEC_CODE 0x010
1054
1055 /* The section contains data only. */
1198
1199 /* The section contains data only. */
1056#define SEC_DATA 0x040
1200#define SEC_DATA 0x020
1057
1058 /* The section will reside in ROM. */
1201
1202 /* The section will reside in ROM. */
1059#define SEC_ROM 0x080
1203#define SEC_ROM 0x040
1060
1061 /* The section contains constructor information. This section
1062 type is used by the linker to create lists of constructors and
1063 destructors used by <<g++>>. When a back end sees a symbol
1064 which should be used in a constructor list, it creates a new
1065 section for the type of name (e.g., <<__CTOR_LIST__>>), attaches
1066 the symbol to it, and builds a relocation. To build the lists
1067 of constructors, all the linker has to do is catenate all the
1068 sections called <<__CTOR_LIST__>> and relocate the data
1069 contained within - exactly the operations it would peform on
1070 standard data. */
1204
1205 /* The section contains constructor information. This section
1206 type is used by the linker to create lists of constructors and
1207 destructors used by <<g++>>. When a back end sees a symbol
1208 which should be used in a constructor list, it creates a new
1209 section for the type of name (e.g., <<__CTOR_LIST__>>), attaches
1210 the symbol to it, and builds a relocation. To build the lists
1211 of constructors, all the linker has to do is catenate all the
1212 sections called <<__CTOR_LIST__>> and relocate the data
1213 contained within - exactly the operations it would peform on
1214 standard data. */
1071#define SEC_CONSTRUCTOR 0x100
1215#define SEC_CONSTRUCTOR 0x080
1072
1073 /* The section has contents - a data section could be
1074 <<SEC_ALLOC>> | <<SEC_HAS_CONTENTS>>; a debug section could be
1075 <<SEC_HAS_CONTENTS>> */
1216
1217 /* The section has contents - a data section could be
1218 <<SEC_ALLOC>> | <<SEC_HAS_CONTENTS>>; a debug section could be
1219 <<SEC_HAS_CONTENTS>> */
1076#define SEC_HAS_CONTENTS 0x200
1220#define SEC_HAS_CONTENTS 0x100
1077
1078 /* An instruction to the linker to not output the section
1079 even if it has information which would normally be written. */
1221
1222 /* An instruction to the linker to not output the section
1223 even if it has information which would normally be written. */
1080#define SEC_NEVER_LOAD 0x400
1224#define SEC_NEVER_LOAD 0x200
1081
1225
1082 /* The section is a COFF shared library section. This flag is
1083 only for the linker. If this type of section appears in
1084 the input file, the linker must copy it to the output file
1085 without changing the vma or size. FIXME: Although this
1086 was originally intended to be general, it really is COFF
1087 specific (and the flag was renamed to indicate this). It
1088 might be cleaner to have some more general mechanism to
1089 allow the back end to control what the linker does with
1090 sections. */
1091#define SEC_COFF_SHARED_LIBRARY 0x800
1092
1093 /* The section contains thread local data. */
1226 /* The section contains thread local data. */
1094#define SEC_THREAD_LOCAL 0x1000
1227#define SEC_THREAD_LOCAL 0x400
1095
1096 /* The section has GOT references. This flag is only for the
1097 linker, and is currently only used by the elf32-hppa back end.
1098 It will be set if global offset table references were detected
1099 in this section, which indicate to the linker that the section
1100 contains PIC code, and must be handled specially when doing a
1101 static link. */
1228
1229 /* The section has GOT references. This flag is only for the
1230 linker, and is currently only used by the elf32-hppa back end.
1231 It will be set if global offset table references were detected
1232 in this section, which indicate to the linker that the section
1233 contains PIC code, and must be handled specially when doing a
1234 static link. */
1102#define SEC_HAS_GOT_REF 0x4000
1235#define SEC_HAS_GOT_REF 0x800
1103
1104 /* The section contains common symbols (symbols may be defined
1105 multiple times, the value of a symbol is the amount of
1106 space it requires, and the largest symbol value is the one
1107 used). Most targets have exactly one of these (which we
1108 translate to bfd_com_section_ptr), but ECOFF has two. */
1236
1237 /* The section contains common symbols (symbols may be defined
1238 multiple times, the value of a symbol is the amount of
1239 space it requires, and the largest symbol value is the one
1240 used). Most targets have exactly one of these (which we
1241 translate to bfd_com_section_ptr), but ECOFF has two. */
1109#define SEC_IS_COMMON 0x8000
1242#define SEC_IS_COMMON 0x1000
1110
1111 /* The section contains only debugging information. For
1112 example, this is set for ELF .debug and .stab sections.
1113 strip tests this flag to see if a section can be
1114 discarded. */
1243
1244 /* The section contains only debugging information. For
1245 example, this is set for ELF .debug and .stab sections.
1246 strip tests this flag to see if a section can be
1247 discarded. */
1115#define SEC_DEBUGGING 0x10000
1248#define SEC_DEBUGGING 0x2000
1116
1117 /* The contents of this section are held in memory pointed to
1118 by the contents field. This is checked by bfd_get_section_contents,
1119 and the data is retrieved from memory if appropriate. */
1249
1250 /* The contents of this section are held in memory pointed to
1251 by the contents field. This is checked by bfd_get_section_contents,
1252 and the data is retrieved from memory if appropriate. */
1120#define SEC_IN_MEMORY 0x20000
1253#define SEC_IN_MEMORY 0x4000
1121
1122 /* The contents of this section are to be excluded by the
1123 linker for executable and shared objects unless those
1124 objects are to be further relocated. */
1254
1255 /* The contents of this section are to be excluded by the
1256 linker for executable and shared objects unless those
1257 objects are to be further relocated. */
1125#define SEC_EXCLUDE 0x40000
1258#define SEC_EXCLUDE 0x8000
1126
1127 /* The contents of this section are to be sorted based on the sum of
1128 the symbol and addend values specified by the associated relocation
1129 entries. Entries without associated relocation entries will be
1130 appended to the end of the section in an unspecified order. */
1259
1260 /* The contents of this section are to be sorted based on the sum of
1261 the symbol and addend values specified by the associated relocation
1262 entries. Entries without associated relocation entries will be
1263 appended to the end of the section in an unspecified order. */
1131#define SEC_SORT_ENTRIES 0x80000
1264#define SEC_SORT_ENTRIES 0x10000
1132
1133 /* When linking, duplicate sections of the same name should be
1134 discarded, rather than being combined into a single section as
1135 is usually done. This is similar to how common symbols are
1136 handled. See SEC_LINK_DUPLICATES below. */
1265
1266 /* When linking, duplicate sections of the same name should be
1267 discarded, rather than being combined into a single section as
1268 is usually done. This is similar to how common symbols are
1269 handled. See SEC_LINK_DUPLICATES below. */
1137#define SEC_LINK_ONCE 0x100000
1270#define SEC_LINK_ONCE 0x20000
1138
1139 /* If SEC_LINK_ONCE is set, this bitfield describes how the linker
1140 should handle duplicate sections. */
1271
1272 /* If SEC_LINK_ONCE is set, this bitfield describes how the linker
1273 should handle duplicate sections. */
1141#define SEC_LINK_DUPLICATES 0x600000
1274#define SEC_LINK_DUPLICATES 0x40000
1142
1143 /* This value for SEC_LINK_DUPLICATES means that duplicate
1144 sections with the same name should simply be discarded. */
1145#define SEC_LINK_DUPLICATES_DISCARD 0x0
1146
1147 /* This value for SEC_LINK_DUPLICATES means that the linker
1148 should warn if there are any duplicate sections, although
1149 it should still only link one copy. */
1275
1276 /* This value for SEC_LINK_DUPLICATES means that duplicate
1277 sections with the same name should simply be discarded. */
1278#define SEC_LINK_DUPLICATES_DISCARD 0x0
1279
1280 /* This value for SEC_LINK_DUPLICATES means that the linker
1281 should warn if there are any duplicate sections, although
1282 it should still only link one copy. */
1150#define SEC_LINK_DUPLICATES_ONE_ONLY 0x200000
1283#define SEC_LINK_DUPLICATES_ONE_ONLY 0x80000
1151
1152 /* This value for SEC_LINK_DUPLICATES means that the linker
1153 should warn if any duplicate sections are a different size. */
1284
1285 /* This value for SEC_LINK_DUPLICATES means that the linker
1286 should warn if any duplicate sections are a different size. */
1154#define SEC_LINK_DUPLICATES_SAME_SIZE 0x400000
1287#define SEC_LINK_DUPLICATES_SAME_SIZE 0x100000
1155
1156 /* This value for SEC_LINK_DUPLICATES means that the linker
1157 should warn if any duplicate sections contain different
1158 contents. */
1288
1289 /* This value for SEC_LINK_DUPLICATES means that the linker
1290 should warn if any duplicate sections contain different
1291 contents. */
1159#define SEC_LINK_DUPLICATES_SAME_CONTENTS 0x600000
1292#define SEC_LINK_DUPLICATES_SAME_CONTENTS \
1293 (SEC_LINK_DUPLICATES_ONE_ONLY | SEC_LINK_DUPLICATES_SAME_SIZE)
1160
1161 /* This section was created by the linker as part of dynamic
1162 relocation or other arcane processing. It is skipped when
1163 going through the first-pass output, trusting that someone
1164 else up the line will take care of it later. */
1294
1295 /* This section was created by the linker as part of dynamic
1296 relocation or other arcane processing. It is skipped when
1297 going through the first-pass output, trusting that someone
1298 else up the line will take care of it later. */
1165#define SEC_LINKER_CREATED 0x800000
1299#define SEC_LINKER_CREATED 0x200000
1166
1300
1167 /* This section should not be subject to garbage collection. */
1168#define SEC_KEEP 0x1000000
1301 /* This section should not be subject to garbage collection.
1302 Also set to inform the linker that this section should not be
1303 listed in the link map as discarded. */
1304#define SEC_KEEP 0x400000
1169
1170 /* This section contains "short" data, and should be placed
1171 "near" the GP. */
1305
1306 /* This section contains "short" data, and should be placed
1307 "near" the GP. */
1172#define SEC_SMALL_DATA 0x2000000
1308#define SEC_SMALL_DATA 0x800000
1173
1309
1174 /* This section contains data which may be shared with other
1175 executables or shared objects. */
1176#define SEC_SHARED 0x4000000
1177
1178 /* When a section with this flag is being linked, then if the size of
1179 the input section is less than a page, it should not cross a page
1180 boundary. If the size of the input section is one page or more, it
1181 should be aligned on a page boundary. */
1182#define SEC_BLOCK 0x8000000
1183
1184 /* Conditionally link this section; do not link if there are no
1185 references found to any symbol in the section. */
1186#define SEC_CLINK 0x10000000
1187
1188 /* Attempt to merge identical entities in the section.
1189 Entity size is given in the entsize field. */
1310 /* Attempt to merge identical entities in the section.
1311 Entity size is given in the entsize field. */
1190#define SEC_MERGE 0x20000000
1312#define SEC_MERGE 0x1000000
1191
1192 /* If given with SEC_MERGE, entities to merge are zero terminated
1193 strings where entsize specifies character size instead of fixed
1194 size entries. */
1313
1314 /* If given with SEC_MERGE, entities to merge are zero terminated
1315 strings where entsize specifies character size instead of fixed
1316 size entries. */
1195#define SEC_STRINGS 0x40000000
1317#define SEC_STRINGS 0x2000000
1196
1197 /* This section contains data about section groups. */
1318
1319 /* This section contains data about section groups. */
1198#define SEC_GROUP 0x80000000
1320#define SEC_GROUP 0x4000000
1199
1321
1322 /* The section is a COFF shared library section. This flag is
1323 only for the linker. If this type of section appears in
1324 the input file, the linker must copy it to the output file
1325 without changing the vma or size. FIXME: Although this
1326 was originally intended to be general, it really is COFF
1327 specific (and the flag was renamed to indicate this). It
1328 might be cleaner to have some more general mechanism to
1329 allow the back end to control what the linker does with
1330 sections. */
1331#define SEC_COFF_SHARED_LIBRARY 0x10000000
1332
1333 /* This section contains data which may be shared with other
1334 executables or shared objects. This is for COFF only. */
1335#define SEC_COFF_SHARED 0x20000000
1336
1337 /* When a section with this flag is being linked, then if the size of
1338 the input section is less than a page, it should not cross a page
1339 boundary. If the size of the input section is one page or more,
1340 it should be aligned on a page boundary. This is for TI
1341 TMS320C54X only. */
1342#define SEC_TIC54X_BLOCK 0x40000000
1343
1344 /* Conditionally link this section; do not link if there are no
1345 references found to any symbol in the section. This is for TI
1346 TMS320C54X only. */
1347#define SEC_TIC54X_CLINK 0x80000000
1348
1200 /* End of section flags. */
1201
1202 /* Some internal packed boolean fields. */
1203
1204 /* See the vma field. */
1205 unsigned int user_set_vma : 1;
1206
1349 /* End of section flags. */
1350
1351 /* Some internal packed boolean fields. */
1352
1353 /* See the vma field. */
1354 unsigned int user_set_vma : 1;
1355
1207 /* Whether relocations have been processed. */
1208 unsigned int reloc_done : 1;
1209
1210 /* A mark flag used by some of the linker backends. */
1211 unsigned int linker_mark : 1;
1212
1213 /* Another mark flag used by some of the linker backends. Set for
1214 output sections that have an input section. */
1215 unsigned int linker_has_input : 1;
1216
1356 /* A mark flag used by some of the linker backends. */
1357 unsigned int linker_mark : 1;
1358
1359 /* Another mark flag used by some of the linker backends. Set for
1360 output sections that have an input section. */
1361 unsigned int linker_has_input : 1;
1362
1217 /* A mark flag used by some linker backends for garbage collection. */
1363 /* Mark flags used by some linker backends for garbage collection. */
1218 unsigned int gc_mark : 1;
1364 unsigned int gc_mark : 1;
1365 unsigned int gc_mark_from_eh : 1;
1219
1220 /* The following flags are used by the ELF linker. */
1221
1222 /* Mark sections which have been allocated to segments. */
1223 unsigned int segment_mark : 1;
1224
1225 /* Type of sec_info information. */
1226 unsigned int sec_info_type:3;
1227#define ELF_INFO_TYPE_NONE 0
1228#define ELF_INFO_TYPE_STABS 1
1229#define ELF_INFO_TYPE_MERGE 2
1230#define ELF_INFO_TYPE_EH_FRAME 3
1231#define ELF_INFO_TYPE_JUST_SYMS 4
1232
1233 /* Nonzero if this section uses RELA relocations, rather than REL. */
1234 unsigned int use_rela_p:1;
1235
1366
1367 /* The following flags are used by the ELF linker. */
1368
1369 /* Mark sections which have been allocated to segments. */
1370 unsigned int segment_mark : 1;
1371
1372 /* Type of sec_info information. */
1373 unsigned int sec_info_type:3;
1374#define ELF_INFO_TYPE_NONE 0
1375#define ELF_INFO_TYPE_STABS 1
1376#define ELF_INFO_TYPE_MERGE 2
1377#define ELF_INFO_TYPE_EH_FRAME 3
1378#define ELF_INFO_TYPE_JUST_SYMS 4
1379
1380 /* Nonzero if this section uses RELA relocations, rather than REL. */
1381 unsigned int use_rela_p:1;
1382
1236 /* Bits used by various backends. */
1383 /* Bits used by various backends. The generic code doesn't touch
1384 these fields. */
1385
1386 /* Nonzero if this section has TLS related relocations. */
1237 unsigned int has_tls_reloc:1;
1238
1387 unsigned int has_tls_reloc:1;
1388
1239 /* Nonzero if this section needs the relax finalize pass. */
1240 unsigned int need_finalize_relax:1;
1241
1242 /* Nonzero if this section has a gp reloc. */
1243 unsigned int has_gp_reloc:1;
1244
1389 /* Nonzero if this section has a gp reloc. */
1390 unsigned int has_gp_reloc:1;
1391
1245 /* Unused bits. */
1246 unsigned int flag13:1;
1247 unsigned int flag14:1;
1248 unsigned int flag15:1;
1249 unsigned int flag16:4;
1250 unsigned int flag20:4;
1251 unsigned int flag24:8;
1392 /* Nonzero if this section needs the relax finalize pass. */
1393 unsigned int need_finalize_relax:1;
1252
1394
1395 /* Whether relocations have been processed. */
1396 unsigned int reloc_done : 1;
1397
1253 /* End of internal packed boolean fields. */
1254
1255 /* The virtual memory address of the section - where it will be
1256 at run time. The symbols are relocated against this. The
1257 user_set_vma flag is maintained by bfd; if it's not set, the
1258 backend can assign addresses (for example, in <<a.out>>, where
1259 the default address for <<.data>> is dependent on the specific
1260 target and various flags). */
1261 bfd_vma vma;
1262
1263 /* The load address of the section - where it would be in a
1264 rom image; really only used for writing section header
1265 information. */
1266 bfd_vma lma;
1267
1268 /* The size of the section in octets, as it will be output.
1269 Contains a value even if the section has no contents (e.g., the
1398 /* End of internal packed boolean fields. */
1399
1400 /* The virtual memory address of the section - where it will be
1401 at run time. The symbols are relocated against this. The
1402 user_set_vma flag is maintained by bfd; if it's not set, the
1403 backend can assign addresses (for example, in <<a.out>>, where
1404 the default address for <<.data>> is dependent on the specific
1405 target and various flags). */
1406 bfd_vma vma;
1407
1408 /* The load address of the section - where it would be in a
1409 rom image; really only used for writing section header
1410 information. */
1411 bfd_vma lma;
1412
1413 /* The size of the section in octets, as it will be output.
1414 Contains a value even if the section has no contents (e.g., the
1270 size of <<.bss>>). This will be filled in after relocation. */
1271 bfd_size_type _cooked_size;
1415 size of <<.bss>>). */
1416 bfd_size_type size;
1272
1417
1273 /* The original size on disk of the section, in octets. Normally this
1274 value is the same as the size, but if some relaxing has
1275 been done, then this value will be bigger. */
1276 bfd_size_type _raw_size;
1418 /* For input sections, the original size on disk of the section, in
1419 octets. This field is used by the linker relaxation code. It is
1420 currently only set for sections where the linker relaxation scheme
1421 doesn't cache altered section and reloc contents (stabs, eh_frame,
1422 SEC_MERGE, some coff relaxing targets), and thus the original size
1423 needs to be kept to read the section multiple times.
1424 For output sections, rawsize holds the section size calculated on
1425 a previous linker relaxation pass. */
1426 bfd_size_type rawsize;
1277
1278 /* If this section is going to be output, then this value is the
1279 offset in *bytes* into the output section of the first byte in the
1280 input section (byte ==> smallest addressable unit on the
1281 target). In most cases, if this was going to start at the
1282 100th octet (8-bit quantity) in the output section, this value
1283 would be 100. However, if the target byte size is 16 bits
1284 (bfd_octets_per_byte is "2"), this value would be 50. */

--- 40 unchanged lines hidden (view full) ---

1325 alent *lineno;
1326
1327 /* Number of line number records. */
1328 unsigned int lineno_count;
1329
1330 /* Entity size for merging purposes. */
1331 unsigned int entsize;
1332
1427
1428 /* If this section is going to be output, then this value is the
1429 offset in *bytes* into the output section of the first byte in the
1430 input section (byte ==> smallest addressable unit on the
1431 target). In most cases, if this was going to start at the
1432 100th octet (8-bit quantity) in the output section, this value
1433 would be 100. However, if the target byte size is 16 bits
1434 (bfd_octets_per_byte is "2"), this value would be 50. */

--- 40 unchanged lines hidden (view full) ---

1475 alent *lineno;
1476
1477 /* Number of line number records. */
1478 unsigned int lineno_count;
1479
1480 /* Entity size for merging purposes. */
1481 unsigned int entsize;
1482
1333 /* Optional information about a COMDAT entry; NULL if not COMDAT. */
1334 struct bfd_comdat_info *comdat;
1335
1336 /* Points to the kept section if this section is a link-once section,
1337 and is discarded. */
1338 struct bfd_section *kept_section;
1339
1340 /* When a section is being output, this value changes as more
1341 linenumbers are written out. */
1342 file_ptr moving_line_filepos;
1343

--- 8 unchanged lines hidden (view full) ---

1352
1353 /* The BFD which owns the section. */
1354 bfd *owner;
1355
1356 /* A symbol which points at this section only. */
1357 struct bfd_symbol *symbol;
1358 struct bfd_symbol **symbol_ptr_ptr;
1359
1483 /* Points to the kept section if this section is a link-once section,
1484 and is discarded. */
1485 struct bfd_section *kept_section;
1486
1487 /* When a section is being output, this value changes as more
1488 linenumbers are written out. */
1489 file_ptr moving_line_filepos;
1490

--- 8 unchanged lines hidden (view full) ---

1499
1500 /* The BFD which owns the section. */
1501 bfd *owner;
1502
1503 /* A symbol which points at this section only. */
1504 struct bfd_symbol *symbol;
1505 struct bfd_symbol **symbol_ptr_ptr;
1506
1360 struct bfd_link_order *link_order_head;
1361 struct bfd_link_order *link_order_tail;
1507 /* Early in the link process, map_head and map_tail are used to build
1508 a list of input sections attached to an output section. Later,
1509 output sections use these fields for a list of bfd_link_order
1510 structs. */
1511 union {
1512 struct bfd_link_order *link_order;
1513 struct bfd_section *s;
1514 } map_head, map_tail;
1362} asection;
1363
1364/* These sections are global, and are managed by BFD. The application
1365 and target back end are not permitted to change the values in
1366 these sections. New code should use the section_ptr macros rather
1367 than referring directly to the const sections. The const sections
1368 may eventually vanish. */
1369#define BFD_ABS_SECTION_NAME "*ABS*"

--- 18 unchanged lines hidden (view full) ---

1388#define bfd_is_ind_section(sec) ((sec) == bfd_ind_section_ptr)
1389
1390#define bfd_is_const_section(SEC) \
1391 ( ((SEC) == bfd_abs_section_ptr) \
1392 || ((SEC) == bfd_und_section_ptr) \
1393 || ((SEC) == bfd_com_section_ptr) \
1394 || ((SEC) == bfd_ind_section_ptr))
1395
1515} asection;
1516
1517/* These sections are global, and are managed by BFD. The application
1518 and target back end are not permitted to change the values in
1519 these sections. New code should use the section_ptr macros rather
1520 than referring directly to the const sections. The const sections
1521 may eventually vanish. */
1522#define BFD_ABS_SECTION_NAME "*ABS*"

--- 18 unchanged lines hidden (view full) ---

1541#define bfd_is_ind_section(sec) ((sec) == bfd_ind_section_ptr)
1542
1543#define bfd_is_const_section(SEC) \
1544 ( ((SEC) == bfd_abs_section_ptr) \
1545 || ((SEC) == bfd_und_section_ptr) \
1546 || ((SEC) == bfd_com_section_ptr) \
1547 || ((SEC) == bfd_ind_section_ptr))
1548
1396extern const struct bfd_symbol * const bfd_abs_symbol;
1397extern const struct bfd_symbol * const bfd_com_symbol;
1398extern const struct bfd_symbol * const bfd_und_symbol;
1399extern const struct bfd_symbol * const bfd_ind_symbol;
1400#define bfd_get_section_size_before_reloc(section) \
1401 ((section)->_raw_size)
1402#define bfd_get_section_size_after_reloc(section) \
1403 ((section)->reloc_done ? (section)->_cooked_size \
1404 : (abort (), (bfd_size_type) 1))
1405
1406/* Macros to handle insertion and deletion of a bfd's sections. These
1407 only handle the list pointers, ie. do not adjust section_count,
1408 target_index etc. */
1549/* Macros to handle insertion and deletion of a bfd's sections. These
1550 only handle the list pointers, ie. do not adjust section_count,
1551 target_index etc. */
1409#define bfd_section_list_remove(ABFD, PS) \
1552#define bfd_section_list_remove(ABFD, S) \
1410 do \
1411 { \
1553 do \
1554 { \
1412 asection **_ps = PS; \
1413 asection *_s = *_ps; \
1414 *_ps = _s->next; \
1415 if (_s->next == NULL) \
1416 (ABFD)->section_tail = _ps; \
1555 asection *_s = S; \
1556 asection *_next = _s->next; \
1557 asection *_prev = _s->prev; \
1558 if (_prev) \
1559 _prev->next = _next; \
1560 else \
1561 (ABFD)->sections = _next; \
1562 if (_next) \
1563 _next->prev = _prev; \
1564 else \
1565 (ABFD)->section_last = _prev; \
1417 } \
1418 while (0)
1566 } \
1567 while (0)
1419#define bfd_section_list_insert(ABFD, PS, S) \
1568#define bfd_section_list_append(ABFD, S) \
1420 do \
1421 { \
1569 do \
1570 { \
1422 asection **_ps = PS; \
1423 asection *_s = S; \
1571 asection *_s = S; \
1424 _s->next = *_ps; \
1425 *_ps = _s; \
1426 if (_s->next == NULL) \
1427 (ABFD)->section_tail = &_s->next; \
1572 bfd *_abfd = ABFD; \
1573 _s->next = NULL; \
1574 if (_abfd->section_last) \
1575 { \
1576 _s->prev = _abfd->section_last; \
1577 _abfd->section_last->next = _s; \
1578 } \
1579 else \
1580 { \
1581 _s->prev = NULL; \
1582 _abfd->sections = _s; \
1583 } \
1584 _abfd->section_last = _s; \
1428 } \
1429 while (0)
1585 } \
1586 while (0)
1587#define bfd_section_list_prepend(ABFD, S) \
1588 do \
1589 { \
1590 asection *_s = S; \
1591 bfd *_abfd = ABFD; \
1592 _s->prev = NULL; \
1593 if (_abfd->sections) \
1594 { \
1595 _s->next = _abfd->sections; \
1596 _abfd->sections->prev = _s; \
1597 } \
1598 else \
1599 { \
1600 _s->next = NULL; \
1601 _abfd->section_last = _s; \
1602 } \
1603 _abfd->sections = _s; \
1604 } \
1605 while (0)
1606#define bfd_section_list_insert_after(ABFD, A, S) \
1607 do \
1608 { \
1609 asection *_a = A; \
1610 asection *_s = S; \
1611 asection *_next = _a->next; \
1612 _s->next = _next; \
1613 _s->prev = _a; \
1614 _a->next = _s; \
1615 if (_next) \
1616 _next->prev = _s; \
1617 else \
1618 (ABFD)->section_last = _s; \
1619 } \
1620 while (0)
1621#define bfd_section_list_insert_before(ABFD, B, S) \
1622 do \
1623 { \
1624 asection *_b = B; \
1625 asection *_s = S; \
1626 asection *_prev = _b->prev; \
1627 _s->prev = _prev; \
1628 _s->next = _b; \
1629 _b->prev = _s; \
1630 if (_prev) \
1631 _prev->next = _s; \
1632 else \
1633 (ABFD)->sections = _s; \
1634 } \
1635 while (0)
1636#define bfd_section_removed_from_list(ABFD, S) \
1637 ((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
1430
1638
1639#define BFD_FAKE_SECTION(SEC, FLAGS, SYM, NAME, IDX) \
1640 /* name, id, index, next, prev, flags, user_set_vma, */ \
1641 { NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
1642 \
1643 /* linker_mark, linker_has_input, gc_mark, gc_mark_from_eh, */ \
1644 0, 0, 1, 0, \
1645 \
1646 /* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \
1647 0, 0, 0, 0, \
1648 \
1649 /* has_gp_reloc, need_finalize_relax, reloc_done, */ \
1650 0, 0, 0, \
1651 \
1652 /* vma, lma, size, rawsize */ \
1653 0, 0, 0, 0, \
1654 \
1655 /* output_offset, output_section, alignment_power, */ \
1656 0, (struct bfd_section *) &SEC, 0, \
1657 \
1658 /* relocation, orelocation, reloc_count, filepos, rel_filepos, */ \
1659 NULL, NULL, 0, 0, 0, \
1660 \
1661 /* line_filepos, userdata, contents, lineno, lineno_count, */ \
1662 0, NULL, NULL, NULL, 0, \
1663 \
1664 /* entsize, kept_section, moving_line_filepos, */ \
1665 0, NULL, 0, \
1666 \
1667 /* target_index, used_by_bfd, constructor_chain, owner, */ \
1668 0, NULL, NULL, NULL, \
1669 \
1670 /* symbol, symbol_ptr_ptr, */ \
1671 (struct bfd_symbol *) SYM, &SEC.symbol, \
1672 \
1673 /* map_head, map_tail */ \
1674 { NULL }, { NULL } \
1675 }
1676
1431void bfd_section_list_clear (bfd *);
1432
1433asection *bfd_get_section_by_name (bfd *abfd, const char *name);
1434
1677void bfd_section_list_clear (bfd *);
1678
1679asection *bfd_get_section_by_name (bfd *abfd, const char *name);
1680
1681asection *bfd_get_section_by_name_if
1682 (bfd *abfd,
1683 const char *name,
1684 bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj),
1685 void *obj);
1686
1435char *bfd_get_unique_section_name
1436 (bfd *abfd, const char *templat, int *count);
1437
1438asection *bfd_make_section_old_way (bfd *abfd, const char *name);
1439
1687char *bfd_get_unique_section_name
1688 (bfd *abfd, const char *templat, int *count);
1689
1690asection *bfd_make_section_old_way (bfd *abfd, const char *name);
1691
1692asection *bfd_make_section_anyway_with_flags
1693 (bfd *abfd, const char *name, flagword flags);
1694
1440asection *bfd_make_section_anyway (bfd *abfd, const char *name);
1441
1695asection *bfd_make_section_anyway (bfd *abfd, const char *name);
1696
1697asection *bfd_make_section_with_flags
1698 (bfd *, const char *name, flagword flags);
1699
1442asection *bfd_make_section (bfd *, const char *name);
1443
1444bfd_boolean bfd_set_section_flags
1445 (bfd *abfd, asection *sec, flagword flags);
1446
1447void bfd_map_over_sections
1448 (bfd *abfd,
1449 void (*func) (bfd *abfd, asection *sect, void *obj),
1450 void *obj);
1451
1700asection *bfd_make_section (bfd *, const char *name);
1701
1702bfd_boolean bfd_set_section_flags
1703 (bfd *abfd, asection *sec, flagword flags);
1704
1705void bfd_map_over_sections
1706 (bfd *abfd,
1707 void (*func) (bfd *abfd, asection *sect, void *obj),
1708 void *obj);
1709
1710asection *bfd_sections_find_if
1711 (bfd *abfd,
1712 bfd_boolean (*operation) (bfd *abfd, asection *sect, void *obj),
1713 void *obj);
1714
1452bfd_boolean bfd_set_section_size
1453 (bfd *abfd, asection *sec, bfd_size_type val);
1454
1455bfd_boolean bfd_set_section_contents
1456 (bfd *abfd, asection *section, const void *data,
1457 file_ptr offset, bfd_size_type count);
1458
1459bfd_boolean bfd_get_section_contents
1460 (bfd *abfd, asection *section, void *location, file_ptr offset,
1461 bfd_size_type count);
1462
1715bfd_boolean bfd_set_section_size
1716 (bfd *abfd, asection *sec, bfd_size_type val);
1717
1718bfd_boolean bfd_set_section_contents
1719 (bfd *abfd, asection *section, const void *data,
1720 file_ptr offset, bfd_size_type count);
1721
1722bfd_boolean bfd_get_section_contents
1723 (bfd *abfd, asection *section, void *location, file_ptr offset,
1724 bfd_size_type count);
1725
1726bfd_boolean bfd_malloc_and_get_section
1727 (bfd *abfd, asection *section, bfd_byte **buf);
1728
1463bfd_boolean bfd_copy_private_section_data
1464 (bfd *ibfd, asection *isec, bfd *obfd, asection *osec);
1465
1466#define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \
1467 BFD_SEND (obfd, _bfd_copy_private_section_data, \
1468 (ibfd, isection, obfd, osection))
1729bfd_boolean bfd_copy_private_section_data
1730 (bfd *ibfd, asection *isec, bfd *obfd, asection *osec);
1731
1732#define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \
1733 BFD_SEND (obfd, _bfd_copy_private_section_data, \
1734 (ibfd, isection, obfd, osection))
1469void _bfd_strip_section_from_output
1470 (struct bfd_link_info *info, asection *section);
1735bfd_boolean bfd_generic_is_group_section (bfd *, const asection *sec);
1471
1472bfd_boolean bfd_generic_discard_group (bfd *abfd, asection *group);
1473
1474/* Extracted from archures.c. */
1475enum bfd_architecture
1476{
1477 bfd_arch_unknown, /* File arch not known. */
1478 bfd_arch_obscure, /* Arch known, not one of these. */
1479 bfd_arch_m68k, /* Motorola 68xxx */
1480#define bfd_mach_m68000 1
1481#define bfd_mach_m68008 2
1482#define bfd_mach_m68010 3
1483#define bfd_mach_m68020 4
1484#define bfd_mach_m68030 5
1485#define bfd_mach_m68040 6
1486#define bfd_mach_m68060 7
1487#define bfd_mach_cpu32 8
1736
1737bfd_boolean bfd_generic_discard_group (bfd *abfd, asection *group);
1738
1739/* Extracted from archures.c. */
1740enum bfd_architecture
1741{
1742 bfd_arch_unknown, /* File arch not known. */
1743 bfd_arch_obscure, /* Arch known, not one of these. */
1744 bfd_arch_m68k, /* Motorola 68xxx */
1745#define bfd_mach_m68000 1
1746#define bfd_mach_m68008 2
1747#define bfd_mach_m68010 3
1748#define bfd_mach_m68020 4
1749#define bfd_mach_m68030 5
1750#define bfd_mach_m68040 6
1751#define bfd_mach_m68060 7
1752#define bfd_mach_cpu32 8
1488#define bfd_mach_mcf5200 9
1489#define bfd_mach_mcf5206e 10
1490#define bfd_mach_mcf5307 11
1491#define bfd_mach_mcf5407 12
1492#define bfd_mach_mcf528x 13
1753#define bfd_mach_fido 9
1754#define bfd_mach_mcf_isa_a_nodiv 10
1755#define bfd_mach_mcf_isa_a 11
1756#define bfd_mach_mcf_isa_a_mac 12
1757#define bfd_mach_mcf_isa_a_emac 13
1758#define bfd_mach_mcf_isa_aplus 14
1759#define bfd_mach_mcf_isa_aplus_mac 15
1760#define bfd_mach_mcf_isa_aplus_emac 16
1761#define bfd_mach_mcf_isa_b_nousp 17
1762#define bfd_mach_mcf_isa_b_nousp_mac 18
1763#define bfd_mach_mcf_isa_b_nousp_emac 19
1764#define bfd_mach_mcf_isa_b 20
1765#define bfd_mach_mcf_isa_b_mac 21
1766#define bfd_mach_mcf_isa_b_emac 22
1767#define bfd_mach_mcf_isa_b_float 23
1768#define bfd_mach_mcf_isa_b_float_mac 24
1769#define bfd_mach_mcf_isa_b_float_emac 25
1770#define bfd_mach_mcf_isa_c 26
1771#define bfd_mach_mcf_isa_c_mac 27
1772#define bfd_mach_mcf_isa_c_emac 28
1493 bfd_arch_vax, /* DEC Vax */
1494 bfd_arch_i960, /* Intel 960 */
1495 /* The order of the following is important.
1496 lower number indicates a machine type that
1497 only accepts a subset of the instructions
1498 available to machines with higher numbers.
1499 The exception is the "ca", which is
1500 incompatible with all other machines except

--- 5 unchanged lines hidden (view full) ---

1506#define bfd_mach_i960_mc 4
1507#define bfd_mach_i960_xa 5
1508#define bfd_mach_i960_ca 6
1509#define bfd_mach_i960_jx 7
1510#define bfd_mach_i960_hx 8
1511
1512 bfd_arch_or32, /* OpenRISC 32 */
1513
1773 bfd_arch_vax, /* DEC Vax */
1774 bfd_arch_i960, /* Intel 960 */
1775 /* The order of the following is important.
1776 lower number indicates a machine type that
1777 only accepts a subset of the instructions
1778 available to machines with higher numbers.
1779 The exception is the "ca", which is
1780 incompatible with all other machines except

--- 5 unchanged lines hidden (view full) ---

1786#define bfd_mach_i960_mc 4
1787#define bfd_mach_i960_xa 5
1788#define bfd_mach_i960_ca 6
1789#define bfd_mach_i960_jx 7
1790#define bfd_mach_i960_hx 8
1791
1792 bfd_arch_or32, /* OpenRISC 32 */
1793
1514 bfd_arch_a29k, /* AMD 29000 */
1515 bfd_arch_sparc, /* SPARC */
1516#define bfd_mach_sparc 1
1517/* The difference between v8plus and v9 is that v9 is a true 64 bit env. */
1518#define bfd_mach_sparc_sparclet 2
1519#define bfd_mach_sparc_sparclite 3
1520#define bfd_mach_sparc_v8plus 4
1521#define bfd_mach_sparc_v8plusa 5 /* with ultrasparc add'ns. */
1522#define bfd_mach_sparc_sparclite_le 6
1523#define bfd_mach_sparc_v9 7
1524#define bfd_mach_sparc_v9a 8 /* with ultrasparc add'ns. */
1525#define bfd_mach_sparc_v8plusb 9 /* with cheetah add'ns. */
1526#define bfd_mach_sparc_v9b 10 /* with cheetah add'ns. */
1527/* Nonzero if MACH has the v9 instruction set. */
1528#define bfd_mach_sparc_v9_p(mach) \
1529 ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \
1530 && (mach) != bfd_mach_sparc_sparclite_le)
1794 bfd_arch_sparc, /* SPARC */
1795#define bfd_mach_sparc 1
1796/* The difference between v8plus and v9 is that v9 is a true 64 bit env. */
1797#define bfd_mach_sparc_sparclet 2
1798#define bfd_mach_sparc_sparclite 3
1799#define bfd_mach_sparc_v8plus 4
1800#define bfd_mach_sparc_v8plusa 5 /* with ultrasparc add'ns. */
1801#define bfd_mach_sparc_sparclite_le 6
1802#define bfd_mach_sparc_v9 7
1803#define bfd_mach_sparc_v9a 8 /* with ultrasparc add'ns. */
1804#define bfd_mach_sparc_v8plusb 9 /* with cheetah add'ns. */
1805#define bfd_mach_sparc_v9b 10 /* with cheetah add'ns. */
1806/* Nonzero if MACH has the v9 instruction set. */
1807#define bfd_mach_sparc_v9_p(mach) \
1808 ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \
1809 && (mach) != bfd_mach_sparc_sparclite_le)
1810/* Nonzero if MACH is a 64 bit sparc architecture. */
1811#define bfd_mach_sparc_64bit_p(mach) \
1812 ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb)
1813 bfd_arch_spu, /* PowerPC SPU */
1814#define bfd_mach_spu 256
1531 bfd_arch_mips, /* MIPS Rxxxx */
1532#define bfd_mach_mips3000 3000
1533#define bfd_mach_mips3900 3900
1534#define bfd_mach_mips4000 4000
1535#define bfd_mach_mips4010 4010
1536#define bfd_mach_mips4100 4100
1537#define bfd_mach_mips4111 4111
1538#define bfd_mach_mips4120 4120

--- 24 unchanged lines hidden (view full) ---

1563#define bfd_mach_i386_i386_intel_syntax 3
1564#define bfd_mach_x86_64 64
1565#define bfd_mach_x86_64_intel_syntax 65
1566 bfd_arch_we32k, /* AT&T WE32xxx */
1567 bfd_arch_tahoe, /* CCI/Harris Tahoe */
1568 bfd_arch_i860, /* Intel 860 */
1569 bfd_arch_i370, /* IBM 360/370 Mainframes */
1570 bfd_arch_romp, /* IBM ROMP PC/RT */
1815 bfd_arch_mips, /* MIPS Rxxxx */
1816#define bfd_mach_mips3000 3000
1817#define bfd_mach_mips3900 3900
1818#define bfd_mach_mips4000 4000
1819#define bfd_mach_mips4010 4010
1820#define bfd_mach_mips4100 4100
1821#define bfd_mach_mips4111 4111
1822#define bfd_mach_mips4120 4120

--- 24 unchanged lines hidden (view full) ---

1847#define bfd_mach_i386_i386_intel_syntax 3
1848#define bfd_mach_x86_64 64
1849#define bfd_mach_x86_64_intel_syntax 65
1850 bfd_arch_we32k, /* AT&T WE32xxx */
1851 bfd_arch_tahoe, /* CCI/Harris Tahoe */
1852 bfd_arch_i860, /* Intel 860 */
1853 bfd_arch_i370, /* IBM 360/370 Mainframes */
1854 bfd_arch_romp, /* IBM ROMP PC/RT */
1571 bfd_arch_alliant, /* Alliant */
1572 bfd_arch_convex, /* Convex */
1573 bfd_arch_m88k, /* Motorola 88xxx */
1574 bfd_arch_m98k, /* Motorola 98xxx */
1575 bfd_arch_pyramid, /* Pyramid Technology */
1576 bfd_arch_h8300, /* Renesas H8/300 (formerly Hitachi H8/300) */
1577#define bfd_mach_h8300 1
1578#define bfd_mach_h8300h 2
1579#define bfd_mach_h8300s 3

--- 46 unchanged lines hidden (view full) ---

1626 bfd_arch_z8k, /* Zilog Z8000 */
1627#define bfd_mach_z8001 1
1628#define bfd_mach_z8002 2
1629 bfd_arch_h8500, /* Renesas H8/500 (formerly Hitachi H8/500) */
1630 bfd_arch_sh, /* Renesas / SuperH SH (formerly Hitachi SH) */
1631#define bfd_mach_sh 1
1632#define bfd_mach_sh2 0x20
1633#define bfd_mach_sh_dsp 0x2d
1855 bfd_arch_convex, /* Convex */
1856 bfd_arch_m88k, /* Motorola 88xxx */
1857 bfd_arch_m98k, /* Motorola 98xxx */
1858 bfd_arch_pyramid, /* Pyramid Technology */
1859 bfd_arch_h8300, /* Renesas H8/300 (formerly Hitachi H8/300) */
1860#define bfd_mach_h8300 1
1861#define bfd_mach_h8300h 2
1862#define bfd_mach_h8300s 3

--- 46 unchanged lines hidden (view full) ---

1909 bfd_arch_z8k, /* Zilog Z8000 */
1910#define bfd_mach_z8001 1
1911#define bfd_mach_z8002 2
1912 bfd_arch_h8500, /* Renesas H8/500 (formerly Hitachi H8/500) */
1913 bfd_arch_sh, /* Renesas / SuperH SH (formerly Hitachi SH) */
1914#define bfd_mach_sh 1
1915#define bfd_mach_sh2 0x20
1916#define bfd_mach_sh_dsp 0x2d
1917#define bfd_mach_sh2a 0x2a
1918#define bfd_mach_sh2a_nofpu 0x2b
1919#define bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu 0x2a1
1920#define bfd_mach_sh2a_nofpu_or_sh3_nommu 0x2a2
1921#define bfd_mach_sh2a_or_sh4 0x2a3
1922#define bfd_mach_sh2a_or_sh3e 0x2a4
1634#define bfd_mach_sh2e 0x2e
1635#define bfd_mach_sh3 0x30
1923#define bfd_mach_sh2e 0x2e
1924#define bfd_mach_sh3 0x30
1925#define bfd_mach_sh3_nommu 0x31
1636#define bfd_mach_sh3_dsp 0x3d
1637#define bfd_mach_sh3e 0x3e
1638#define bfd_mach_sh4 0x40
1639#define bfd_mach_sh4_nofpu 0x41
1926#define bfd_mach_sh3_dsp 0x3d
1927#define bfd_mach_sh3e 0x3e
1928#define bfd_mach_sh4 0x40
1929#define bfd_mach_sh4_nofpu 0x41
1930#define bfd_mach_sh4_nommu_nofpu 0x42
1640#define bfd_mach_sh4a 0x4a
1641#define bfd_mach_sh4a_nofpu 0x4b
1642#define bfd_mach_sh4al_dsp 0x4d
1643#define bfd_mach_sh5 0x50
1644 bfd_arch_alpha, /* Dec Alpha */
1645#define bfd_mach_alpha_ev4 0x10
1646#define bfd_mach_alpha_ev5 0x20
1647#define bfd_mach_alpha_ev6 0x30

--- 6 unchanged lines hidden (view full) ---

1654#define bfd_mach_arm_4 5
1655#define bfd_mach_arm_4T 6
1656#define bfd_mach_arm_5 7
1657#define bfd_mach_arm_5T 8
1658#define bfd_mach_arm_5TE 9
1659#define bfd_mach_arm_XScale 10
1660#define bfd_mach_arm_ep9312 11
1661#define bfd_mach_arm_iWMMXt 12
1931#define bfd_mach_sh4a 0x4a
1932#define bfd_mach_sh4a_nofpu 0x4b
1933#define bfd_mach_sh4al_dsp 0x4d
1934#define bfd_mach_sh5 0x50
1935 bfd_arch_alpha, /* Dec Alpha */
1936#define bfd_mach_alpha_ev4 0x10
1937#define bfd_mach_alpha_ev5 0x20
1938#define bfd_mach_alpha_ev6 0x30

--- 6 unchanged lines hidden (view full) ---

1945#define bfd_mach_arm_4 5
1946#define bfd_mach_arm_4T 6
1947#define bfd_mach_arm_5 7
1948#define bfd_mach_arm_5T 8
1949#define bfd_mach_arm_5TE 9
1950#define bfd_mach_arm_XScale 10
1951#define bfd_mach_arm_ep9312 11
1952#define bfd_mach_arm_iWMMXt 12
1953#define bfd_mach_arm_iWMMXt2 13
1662 bfd_arch_ns32k, /* National Semiconductors ns32000 */
1663 bfd_arch_w65, /* WDC 65816 */
1664 bfd_arch_tic30, /* Texas Instruments TMS320C30 */
1665 bfd_arch_tic4x, /* Texas Instruments TMS320C3X/4X */
1666#define bfd_mach_tic3x 30
1667#define bfd_mach_tic4x 40
1668 bfd_arch_tic54x, /* Texas Instruments TMS320C54X */
1669 bfd_arch_tic80, /* TI TMS320c80 (MVP) */
1670 bfd_arch_v850, /* NEC V850 */
1671#define bfd_mach_v850 1
1672#define bfd_mach_v850e 'E'
1673#define bfd_mach_v850e1 '1'
1674 bfd_arch_arc, /* ARC Cores */
1675#define bfd_mach_arc_5 5
1676#define bfd_mach_arc_6 6
1677#define bfd_mach_arc_7 7
1678#define bfd_mach_arc_8 8
1954 bfd_arch_ns32k, /* National Semiconductors ns32000 */
1955 bfd_arch_w65, /* WDC 65816 */
1956 bfd_arch_tic30, /* Texas Instruments TMS320C30 */
1957 bfd_arch_tic4x, /* Texas Instruments TMS320C3X/4X */
1958#define bfd_mach_tic3x 30
1959#define bfd_mach_tic4x 40
1960 bfd_arch_tic54x, /* Texas Instruments TMS320C54X */
1961 bfd_arch_tic80, /* TI TMS320c80 (MVP) */
1962 bfd_arch_v850, /* NEC V850 */
1963#define bfd_mach_v850 1
1964#define bfd_mach_v850e 'E'
1965#define bfd_mach_v850e1 '1'
1966 bfd_arch_arc, /* ARC Cores */
1967#define bfd_mach_arc_5 5
1968#define bfd_mach_arc_6 6
1969#define bfd_mach_arc_7 7
1970#define bfd_mach_arc_8 8
1971 bfd_arch_m32c, /* Renesas M16C/M32C. */
1972#define bfd_mach_m16c 0x75
1973#define bfd_mach_m32c 0x78
1679 bfd_arch_m32r, /* Renesas M32R (formerly Mitsubishi M32R/D) */
1680#define bfd_mach_m32r 1 /* For backwards compatibility. */
1681#define bfd_mach_m32rx 'x'
1682#define bfd_mach_m32r2 '2'
1683 bfd_arch_mn10200, /* Matsushita MN10200 */
1684 bfd_arch_mn10300, /* Matsushita MN10300 */
1685#define bfd_mach_mn10300 300
1686#define bfd_mach_am33 330
1687#define bfd_mach_am33_2 332
1688 bfd_arch_fr30,
1689#define bfd_mach_fr30 0x46523330
1690 bfd_arch_frv,
1691#define bfd_mach_frv 1
1692#define bfd_mach_frvsimple 2
1693#define bfd_mach_fr300 300
1694#define bfd_mach_fr400 400
1974 bfd_arch_m32r, /* Renesas M32R (formerly Mitsubishi M32R/D) */
1975#define bfd_mach_m32r 1 /* For backwards compatibility. */
1976#define bfd_mach_m32rx 'x'
1977#define bfd_mach_m32r2 '2'
1978 bfd_arch_mn10200, /* Matsushita MN10200 */
1979 bfd_arch_mn10300, /* Matsushita MN10300 */
1980#define bfd_mach_mn10300 300
1981#define bfd_mach_am33 330
1982#define bfd_mach_am33_2 332
1983 bfd_arch_fr30,
1984#define bfd_mach_fr30 0x46523330
1985 bfd_arch_frv,
1986#define bfd_mach_frv 1
1987#define bfd_mach_frvsimple 2
1988#define bfd_mach_fr300 300
1989#define bfd_mach_fr400 400
1990#define bfd_mach_fr450 450
1695#define bfd_mach_frvtomcat 499 /* fr500 prototype */
1696#define bfd_mach_fr500 500
1697#define bfd_mach_fr550 550
1698 bfd_arch_mcore,
1991#define bfd_mach_frvtomcat 499 /* fr500 prototype */
1992#define bfd_mach_fr500 500
1993#define bfd_mach_fr550 550
1994 bfd_arch_mcore,
1995 bfd_arch_mep,
1996#define bfd_mach_mep 1
1997#define bfd_mach_mep_h1 0x6831
1699 bfd_arch_ia64, /* HP/Intel ia64 */
1700#define bfd_mach_ia64_elf64 64
1701#define bfd_mach_ia64_elf32 32
1702 bfd_arch_ip2k, /* Ubicom IP2K microcontrollers. */
1703#define bfd_mach_ip2022 1
1704#define bfd_mach_ip2022ext 2
1705 bfd_arch_iq2000, /* Vitesse IQ2000. */
1706#define bfd_mach_iq2000 1
1707#define bfd_mach_iq10 2
1998 bfd_arch_ia64, /* HP/Intel ia64 */
1999#define bfd_mach_ia64_elf64 64
2000#define bfd_mach_ia64_elf32 32
2001 bfd_arch_ip2k, /* Ubicom IP2K microcontrollers. */
2002#define bfd_mach_ip2022 1
2003#define bfd_mach_ip2022ext 2
2004 bfd_arch_iq2000, /* Vitesse IQ2000. */
2005#define bfd_mach_iq2000 1
2006#define bfd_mach_iq10 2
2007 bfd_arch_mt,
2008#define bfd_mach_ms1 1
2009#define bfd_mach_mrisc2 2
2010#define bfd_mach_ms2 3
1708 bfd_arch_pj,
1709 bfd_arch_avr, /* Atmel AVR microcontrollers. */
1710#define bfd_mach_avr1 1
1711#define bfd_mach_avr2 2
1712#define bfd_mach_avr3 3
1713#define bfd_mach_avr4 4
1714#define bfd_mach_avr5 5
2011 bfd_arch_pj,
2012 bfd_arch_avr, /* Atmel AVR microcontrollers. */
2013#define bfd_mach_avr1 1
2014#define bfd_mach_avr2 2
2015#define bfd_mach_avr3 3
2016#define bfd_mach_avr4 4
2017#define bfd_mach_avr5 5
2018#define bfd_mach_avr6 6
2019 bfd_arch_bfin, /* ADI Blackfin */
2020#define bfd_mach_bfin 1
2021 bfd_arch_cr16, /* National Semiconductor CompactRISC (ie CR16). */
2022#define bfd_mach_cr16 1
2023 bfd_arch_cr16c, /* National Semiconductor CompactRISC. */
2024#define bfd_mach_cr16c 1
2025 bfd_arch_crx, /* National Semiconductor CRX. */
2026#define bfd_mach_crx 1
1715 bfd_arch_cris, /* Axis CRIS */
2027 bfd_arch_cris, /* Axis CRIS */
2028#define bfd_mach_cris_v0_v10 255
2029#define bfd_mach_cris_v32 32
2030#define bfd_mach_cris_v10_v32 1032
1716 bfd_arch_s390, /* IBM s390 */
1717#define bfd_mach_s390_31 31
1718#define bfd_mach_s390_64 64
2031 bfd_arch_s390, /* IBM s390 */
2032#define bfd_mach_s390_31 31
2033#define bfd_mach_s390_64 64
2034 bfd_arch_score, /* Sunplus score */
1719 bfd_arch_openrisc, /* OpenRISC */
1720 bfd_arch_mmix, /* Donald Knuth's educational processor. */
1721 bfd_arch_xstormy16,
1722#define bfd_mach_xstormy16 1
1723 bfd_arch_msp430, /* Texas Instruments MSP430 architecture. */
1724#define bfd_mach_msp11 11
1725#define bfd_mach_msp110 110
1726#define bfd_mach_msp12 12
1727#define bfd_mach_msp13 13
1728#define bfd_mach_msp14 14
1729#define bfd_mach_msp15 15
2035 bfd_arch_openrisc, /* OpenRISC */
2036 bfd_arch_mmix, /* Donald Knuth's educational processor. */
2037 bfd_arch_xstormy16,
2038#define bfd_mach_xstormy16 1
2039 bfd_arch_msp430, /* Texas Instruments MSP430 architecture. */
2040#define bfd_mach_msp11 11
2041#define bfd_mach_msp110 110
2042#define bfd_mach_msp12 12
2043#define bfd_mach_msp13 13
2044#define bfd_mach_msp14 14
2045#define bfd_mach_msp15 15
1730#define bfd_mach_msp16 16
2046#define bfd_mach_msp16 16
2047#define bfd_mach_msp21 21
1731#define bfd_mach_msp31 31
1732#define bfd_mach_msp32 32
1733#define bfd_mach_msp33 33
1734#define bfd_mach_msp41 41
1735#define bfd_mach_msp42 42
1736#define bfd_mach_msp43 43
1737#define bfd_mach_msp44 44
2048#define bfd_mach_msp31 31
2049#define bfd_mach_msp32 32
2050#define bfd_mach_msp33 33
2051#define bfd_mach_msp41 41
2052#define bfd_mach_msp42 42
2053#define bfd_mach_msp43 43
2054#define bfd_mach_msp44 44
2055 bfd_arch_xc16x, /* Infineon's XC16X Series. */
2056#define bfd_mach_xc16x 1
2057#define bfd_mach_xc16xl 2
2058#define bfd_mach_xc16xs 3
1738 bfd_arch_xtensa, /* Tensilica's Xtensa cores. */
1739#define bfd_mach_xtensa 1
2059 bfd_arch_xtensa, /* Tensilica's Xtensa cores. */
2060#define bfd_mach_xtensa 1
2061 bfd_arch_maxq, /* Dallas MAXQ 10/20 */
2062#define bfd_mach_maxq10 10
2063#define bfd_mach_maxq20 20
2064 bfd_arch_z80,
2065#define bfd_mach_z80strict 1 /* No undocumented opcodes. */
2066#define bfd_mach_z80 3 /* With ixl, ixh, iyl, and iyh. */
2067#define bfd_mach_z80full 7 /* All undocumented instructions. */
2068#define bfd_mach_r800 11 /* R800: successor with multiplication. */
1740 bfd_arch_last
1741 };
1742
1743typedef struct bfd_arch_info
1744{
1745 int bits_per_word;
1746 int bits_per_address;
1747 int bits_per_byte;

--- 97 unchanged lines hidden (view full) ---

1845}
1846arelent;
1847
1848enum complain_overflow
1849{
1850 /* Do not complain on overflow. */
1851 complain_overflow_dont,
1852
2069 bfd_arch_last
2070 };
2071
2072typedef struct bfd_arch_info
2073{
2074 int bits_per_word;
2075 int bits_per_address;
2076 int bits_per_byte;

--- 97 unchanged lines hidden (view full) ---

2174}
2175arelent;
2176
2177enum complain_overflow
2178{
2179 /* Do not complain on overflow. */
2180 complain_overflow_dont,
2181
1853 /* Complain if the bitfield overflows, whether it is considered
1854 as signed or unsigned. */
2182 /* Complain if the value overflows when considered as a signed
2183 number one bit larger than the field. ie. A bitfield of N bits
2184 is allowed to represent -2**n to 2**n-1. */
1855 complain_overflow_bitfield,
1856
2185 complain_overflow_bitfield,
2186
1857 /* Complain if the value overflows when considered as signed
2187 /* Complain if the value overflows when considered as a signed
1858 number. */
1859 complain_overflow_signed,
1860
1861 /* Complain if the value overflows when considered as an
1862 unsigned number. */
1863 complain_overflow_unsigned
1864};
1865

--- 161 unchanged lines hidden (view full) ---

2027The 24-bit relocation is used in some Intel 960 configurations. */
2028 BFD_RELOC_64_PCREL,
2029 BFD_RELOC_32_PCREL,
2030 BFD_RELOC_24_PCREL,
2031 BFD_RELOC_16_PCREL,
2032 BFD_RELOC_12_PCREL,
2033 BFD_RELOC_8_PCREL,
2034
2188 number. */
2189 complain_overflow_signed,
2190
2191 /* Complain if the value overflows when considered as an
2192 unsigned number. */
2193 complain_overflow_unsigned
2194};
2195

--- 161 unchanged lines hidden (view full) ---

2357The 24-bit relocation is used in some Intel 960 configurations. */
2358 BFD_RELOC_64_PCREL,
2359 BFD_RELOC_32_PCREL,
2360 BFD_RELOC_24_PCREL,
2361 BFD_RELOC_16_PCREL,
2362 BFD_RELOC_12_PCREL,
2363 BFD_RELOC_8_PCREL,
2364
2365/* Section relative relocations. Some targets need this for DWARF2. */
2366 BFD_RELOC_32_SECREL,
2367
2035/* For ELF. */
2036 BFD_RELOC_32_GOT_PCREL,
2037 BFD_RELOC_16_GOT_PCREL,
2038 BFD_RELOC_8_GOT_PCREL,
2039 BFD_RELOC_32_GOTOFF,
2040 BFD_RELOC_16_GOTOFF,
2041 BFD_RELOC_LO16_GOTOFF,
2042 BFD_RELOC_HI16_GOTOFF,

--- 128 unchanged lines hidden (view full) ---

2171 BFD_RELOC_SPARC_TLS_LE_LOX10,
2172 BFD_RELOC_SPARC_TLS_DTPMOD32,
2173 BFD_RELOC_SPARC_TLS_DTPMOD64,
2174 BFD_RELOC_SPARC_TLS_DTPOFF32,
2175 BFD_RELOC_SPARC_TLS_DTPOFF64,
2176 BFD_RELOC_SPARC_TLS_TPOFF32,
2177 BFD_RELOC_SPARC_TLS_TPOFF64,
2178
2368/* For ELF. */
2369 BFD_RELOC_32_GOT_PCREL,
2370 BFD_RELOC_16_GOT_PCREL,
2371 BFD_RELOC_8_GOT_PCREL,
2372 BFD_RELOC_32_GOTOFF,
2373 BFD_RELOC_16_GOTOFF,
2374 BFD_RELOC_LO16_GOTOFF,
2375 BFD_RELOC_HI16_GOTOFF,

--- 128 unchanged lines hidden (view full) ---

2504 BFD_RELOC_SPARC_TLS_LE_LOX10,
2505 BFD_RELOC_SPARC_TLS_DTPMOD32,
2506 BFD_RELOC_SPARC_TLS_DTPMOD64,
2507 BFD_RELOC_SPARC_TLS_DTPOFF32,
2508 BFD_RELOC_SPARC_TLS_DTPOFF64,
2509 BFD_RELOC_SPARC_TLS_TPOFF32,
2510 BFD_RELOC_SPARC_TLS_TPOFF64,
2511
2512/* SPU Relocations. */
2513 BFD_RELOC_SPU_IMM7,
2514 BFD_RELOC_SPU_IMM8,
2515 BFD_RELOC_SPU_IMM10,
2516 BFD_RELOC_SPU_IMM10W,
2517 BFD_RELOC_SPU_IMM16,
2518 BFD_RELOC_SPU_IMM16W,
2519 BFD_RELOC_SPU_IMM18,
2520 BFD_RELOC_SPU_PCREL9a,
2521 BFD_RELOC_SPU_PCREL9b,
2522 BFD_RELOC_SPU_PCREL16,
2523 BFD_RELOC_SPU_LO16,
2524 BFD_RELOC_SPU_HI16,
2525 BFD_RELOC_SPU_PPU32,
2526 BFD_RELOC_SPU_PPU64,
2527
2179/* Alpha ECOFF and ELF relocations. Some of these treat the symbol or
2180"addend" in some special way.
2181For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when
2182writing; when reading, it will be the absolute section symbol. The
2183addend is the displacement in bytes of the "lda" instruction from
2184the "ldah" instruction (which is at the address of this reloc). */
2185 BFD_RELOC_ALPHA_GPDISP_HI16,
2186

--- 90 unchanged lines hidden (view full) ---

2277extended and added to form the final result. If the low 16
2278bits form a negative number, we need to add one to the high value
2279to compensate for the borrow when the low bits are added. */
2280 BFD_RELOC_HI16_S,
2281
2282/* Low 16 bits. */
2283 BFD_RELOC_LO16,
2284
2528/* Alpha ECOFF and ELF relocations. Some of these treat the symbol or
2529"addend" in some special way.
2530For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when
2531writing; when reading, it will be the absolute section symbol. The
2532addend is the displacement in bytes of the "lda" instruction from
2533the "ldah" instruction (which is at the address of this reloc). */
2534 BFD_RELOC_ALPHA_GPDISP_HI16,
2535

--- 90 unchanged lines hidden (view full) ---

2626extended and added to form the final result. If the low 16
2627bits form a negative number, we need to add one to the high value
2628to compensate for the borrow when the low bits are added. */
2629 BFD_RELOC_HI16_S,
2630
2631/* Low 16 bits. */
2632 BFD_RELOC_LO16,
2633
2285/* Like BFD_RELOC_HI16_S, but PC relative. */
2286 BFD_RELOC_PCREL_HI16_S,
2634/* High 16 bits of 32-bit pc-relative value */
2635 BFD_RELOC_HI16_PCREL,
2287
2636
2288/* Like BFD_RELOC_LO16, but PC relative. */
2289 BFD_RELOC_PCREL_LO16,
2637/* High 16 bits of 32-bit pc-relative value, adjusted */
2638 BFD_RELOC_HI16_S_PCREL,
2290
2639
2640/* Low 16 bits of pc-relative value */
2641 BFD_RELOC_LO16_PCREL,
2642
2643/* MIPS16 high 16 bits of 32-bit value. */
2644 BFD_RELOC_MIPS16_HI16,
2645
2646/* MIPS16 high 16 bits of 32-bit value but the low 16 bits will be sign
2647extended and added to form the final result. If the low 16
2648bits form a negative number, we need to add one to the high value
2649to compensate for the borrow when the low bits are added. */
2650 BFD_RELOC_MIPS16_HI16_S,
2651
2652/* MIPS16 low 16 bits. */
2653 BFD_RELOC_MIPS16_LO16,
2654
2291/* Relocation against a MIPS literal section. */
2292 BFD_RELOC_MIPS_LITERAL,
2293
2294/* MIPS ELF relocations. */
2295 BFD_RELOC_MIPS_GOT16,
2296 BFD_RELOC_MIPS_CALL16,
2297 BFD_RELOC_MIPS_GOT_HI16,
2298 BFD_RELOC_MIPS_GOT_LO16,

--- 9 unchanged lines hidden (view full) ---

2308 BFD_RELOC_MIPS_INSERT_B,
2309 BFD_RELOC_MIPS_DELETE,
2310 BFD_RELOC_MIPS_HIGHEST,
2311 BFD_RELOC_MIPS_HIGHER,
2312 BFD_RELOC_MIPS_SCN_DISP,
2313 BFD_RELOC_MIPS_REL16,
2314 BFD_RELOC_MIPS_RELGOT,
2315 BFD_RELOC_MIPS_JALR,
2655/* Relocation against a MIPS literal section. */
2656 BFD_RELOC_MIPS_LITERAL,
2657
2658/* MIPS ELF relocations. */
2659 BFD_RELOC_MIPS_GOT16,
2660 BFD_RELOC_MIPS_CALL16,
2661 BFD_RELOC_MIPS_GOT_HI16,
2662 BFD_RELOC_MIPS_GOT_LO16,

--- 9 unchanged lines hidden (view full) ---

2672 BFD_RELOC_MIPS_INSERT_B,
2673 BFD_RELOC_MIPS_DELETE,
2674 BFD_RELOC_MIPS_HIGHEST,
2675 BFD_RELOC_MIPS_HIGHER,
2676 BFD_RELOC_MIPS_SCN_DISP,
2677 BFD_RELOC_MIPS_REL16,
2678 BFD_RELOC_MIPS_RELGOT,
2679 BFD_RELOC_MIPS_JALR,
2680 BFD_RELOC_MIPS_TLS_DTPMOD32,
2681 BFD_RELOC_MIPS_TLS_DTPREL32,
2682 BFD_RELOC_MIPS_TLS_DTPMOD64,
2683 BFD_RELOC_MIPS_TLS_DTPREL64,
2684 BFD_RELOC_MIPS_TLS_GD,
2685 BFD_RELOC_MIPS_TLS_LDM,
2686 BFD_RELOC_MIPS_TLS_DTPREL_HI16,
2687 BFD_RELOC_MIPS_TLS_DTPREL_LO16,
2688 BFD_RELOC_MIPS_TLS_GOTTPREL,
2689 BFD_RELOC_MIPS_TLS_TPREL32,
2690 BFD_RELOC_MIPS_TLS_TPREL64,
2691 BFD_RELOC_MIPS_TLS_TPREL_HI16,
2692 BFD_RELOC_MIPS_TLS_TPREL_LO16,
2316
2317
2693
2694
2695/* MIPS ELF relocations (VxWorks extensions). */
2696 BFD_RELOC_MIPS_COPY,
2697 BFD_RELOC_MIPS_JUMP_SLOT,
2698
2699
2318/* Fujitsu Frv Relocations. */
2319 BFD_RELOC_FRV_LABEL16,
2320 BFD_RELOC_FRV_LABEL24,
2321 BFD_RELOC_FRV_LO16,
2322 BFD_RELOC_FRV_HI16,
2323 BFD_RELOC_FRV_GPREL12,
2324 BFD_RELOC_FRV_GPRELU12,
2325 BFD_RELOC_FRV_GPREL32,

--- 8 unchanged lines hidden (view full) ---

2334 BFD_RELOC_FRV_FUNCDESC_GOTLO,
2335 BFD_RELOC_FRV_FUNCDESC_VALUE,
2336 BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
2337 BFD_RELOC_FRV_FUNCDESC_GOTOFFHI,
2338 BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
2339 BFD_RELOC_FRV_GOTOFF12,
2340 BFD_RELOC_FRV_GOTOFFHI,
2341 BFD_RELOC_FRV_GOTOFFLO,
2700/* Fujitsu Frv Relocations. */
2701 BFD_RELOC_FRV_LABEL16,
2702 BFD_RELOC_FRV_LABEL24,
2703 BFD_RELOC_FRV_LO16,
2704 BFD_RELOC_FRV_HI16,
2705 BFD_RELOC_FRV_GPREL12,
2706 BFD_RELOC_FRV_GPRELU12,
2707 BFD_RELOC_FRV_GPREL32,

--- 8 unchanged lines hidden (view full) ---

2716 BFD_RELOC_FRV_FUNCDESC_GOTLO,
2717 BFD_RELOC_FRV_FUNCDESC_VALUE,
2718 BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
2719 BFD_RELOC_FRV_FUNCDESC_GOTOFFHI,
2720 BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
2721 BFD_RELOC_FRV_GOTOFF12,
2722 BFD_RELOC_FRV_GOTOFFHI,
2723 BFD_RELOC_FRV_GOTOFFLO,
2724 BFD_RELOC_FRV_GETTLSOFF,
2725 BFD_RELOC_FRV_TLSDESC_VALUE,
2726 BFD_RELOC_FRV_GOTTLSDESC12,
2727 BFD_RELOC_FRV_GOTTLSDESCHI,
2728 BFD_RELOC_FRV_GOTTLSDESCLO,
2729 BFD_RELOC_FRV_TLSMOFF12,
2730 BFD_RELOC_FRV_TLSMOFFHI,
2731 BFD_RELOC_FRV_TLSMOFFLO,
2732 BFD_RELOC_FRV_GOTTLSOFF12,
2733 BFD_RELOC_FRV_GOTTLSOFFHI,
2734 BFD_RELOC_FRV_GOTTLSOFFLO,
2735 BFD_RELOC_FRV_TLSOFF,
2736 BFD_RELOC_FRV_TLSDESC_RELAX,
2737 BFD_RELOC_FRV_GETTLSOFF_RELAX,
2738 BFD_RELOC_FRV_TLSOFF_RELAX,
2739 BFD_RELOC_FRV_TLSMOFF,
2342
2343
2344/* This is a 24bit GOT-relative reloc for the mn10300. */
2345 BFD_RELOC_MN10300_GOTOFF24,
2346
2347/* This is a 32bit GOT-relative reloc for the mn10300, offset by two bytes
2348in the instruction. */
2349 BFD_RELOC_MN10300_GOT32,

--- 35 unchanged lines hidden (view full) ---

2385 BFD_RELOC_386_TLS_GD,
2386 BFD_RELOC_386_TLS_LDM,
2387 BFD_RELOC_386_TLS_LDO_32,
2388 BFD_RELOC_386_TLS_IE_32,
2389 BFD_RELOC_386_TLS_LE_32,
2390 BFD_RELOC_386_TLS_DTPMOD32,
2391 BFD_RELOC_386_TLS_DTPOFF32,
2392 BFD_RELOC_386_TLS_TPOFF32,
2740
2741
2742/* This is a 24bit GOT-relative reloc for the mn10300. */
2743 BFD_RELOC_MN10300_GOTOFF24,
2744
2745/* This is a 32bit GOT-relative reloc for the mn10300, offset by two bytes
2746in the instruction. */
2747 BFD_RELOC_MN10300_GOT32,

--- 35 unchanged lines hidden (view full) ---

2783 BFD_RELOC_386_TLS_GD,
2784 BFD_RELOC_386_TLS_LDM,
2785 BFD_RELOC_386_TLS_LDO_32,
2786 BFD_RELOC_386_TLS_IE_32,
2787 BFD_RELOC_386_TLS_LE_32,
2788 BFD_RELOC_386_TLS_DTPMOD32,
2789 BFD_RELOC_386_TLS_DTPOFF32,
2790 BFD_RELOC_386_TLS_TPOFF32,
2791 BFD_RELOC_386_TLS_GOTDESC,
2792 BFD_RELOC_386_TLS_DESC_CALL,
2793 BFD_RELOC_386_TLS_DESC,
2393
2394/* x86-64/elf relocations */
2395 BFD_RELOC_X86_64_GOT32,
2396 BFD_RELOC_X86_64_PLT32,
2397 BFD_RELOC_X86_64_COPY,
2398 BFD_RELOC_X86_64_GLOB_DAT,
2399 BFD_RELOC_X86_64_JUMP_SLOT,
2400 BFD_RELOC_X86_64_RELATIVE,
2401 BFD_RELOC_X86_64_GOTPCREL,
2402 BFD_RELOC_X86_64_32S,
2403 BFD_RELOC_X86_64_DTPMOD64,
2404 BFD_RELOC_X86_64_DTPOFF64,
2405 BFD_RELOC_X86_64_TPOFF64,
2406 BFD_RELOC_X86_64_TLSGD,
2407 BFD_RELOC_X86_64_TLSLD,
2408 BFD_RELOC_X86_64_DTPOFF32,
2409 BFD_RELOC_X86_64_GOTTPOFF,
2410 BFD_RELOC_X86_64_TPOFF32,
2794
2795/* x86-64/elf relocations */
2796 BFD_RELOC_X86_64_GOT32,
2797 BFD_RELOC_X86_64_PLT32,
2798 BFD_RELOC_X86_64_COPY,
2799 BFD_RELOC_X86_64_GLOB_DAT,
2800 BFD_RELOC_X86_64_JUMP_SLOT,
2801 BFD_RELOC_X86_64_RELATIVE,
2802 BFD_RELOC_X86_64_GOTPCREL,
2803 BFD_RELOC_X86_64_32S,
2804 BFD_RELOC_X86_64_DTPMOD64,
2805 BFD_RELOC_X86_64_DTPOFF64,
2806 BFD_RELOC_X86_64_TPOFF64,
2807 BFD_RELOC_X86_64_TLSGD,
2808 BFD_RELOC_X86_64_TLSLD,
2809 BFD_RELOC_X86_64_DTPOFF32,
2810 BFD_RELOC_X86_64_GOTTPOFF,
2811 BFD_RELOC_X86_64_TPOFF32,
2812 BFD_RELOC_X86_64_GOTOFF64,
2813 BFD_RELOC_X86_64_GOTPC32,
2814 BFD_RELOC_X86_64_GOT64,
2815 BFD_RELOC_X86_64_GOTPCREL64,
2816 BFD_RELOC_X86_64_GOTPC64,
2817 BFD_RELOC_X86_64_GOTPLT64,
2818 BFD_RELOC_X86_64_PLTOFF64,
2819 BFD_RELOC_X86_64_GOTPC32_TLSDESC,
2820 BFD_RELOC_X86_64_TLSDESC_CALL,
2821 BFD_RELOC_X86_64_TLSDESC,
2411
2412/* ns32k relocations */
2413 BFD_RELOC_NS32K_IMM_8,
2414 BFD_RELOC_NS32K_IMM_16,
2415 BFD_RELOC_NS32K_IMM_32,
2416 BFD_RELOC_NS32K_IMM_8_PCREL,
2417 BFD_RELOC_NS32K_IMM_16_PCREL,
2418 BFD_RELOC_NS32K_IMM_32_PCREL,

--- 130 unchanged lines hidden (view full) ---

2549field in the instruction. */
2550 BFD_RELOC_ARM_PCREL_BLX,
2551
2552/* Thumb 22 bit pc-relative branch. The lowest bit must be zero and is
2553not stored in the instruction. The 2nd lowest bit comes from a 1 bit
2554field in the instruction. */
2555 BFD_RELOC_THUMB_PCREL_BLX,
2556
2822
2823/* ns32k relocations */
2824 BFD_RELOC_NS32K_IMM_8,
2825 BFD_RELOC_NS32K_IMM_16,
2826 BFD_RELOC_NS32K_IMM_32,
2827 BFD_RELOC_NS32K_IMM_8_PCREL,
2828 BFD_RELOC_NS32K_IMM_16_PCREL,
2829 BFD_RELOC_NS32K_IMM_32_PCREL,

--- 130 unchanged lines hidden (view full) ---

2960field in the instruction. */
2961 BFD_RELOC_ARM_PCREL_BLX,
2962
2963/* Thumb 22 bit pc-relative branch. The lowest bit must be zero and is
2964not stored in the instruction. The 2nd lowest bit comes from a 1 bit
2965field in the instruction. */
2966 BFD_RELOC_THUMB_PCREL_BLX,
2967
2968/* ARM 26-bit pc-relative branch for an unconditional BL or BLX instruction. */
2969 BFD_RELOC_ARM_PCREL_CALL,
2970
2971/* ARM 26-bit pc-relative branch for B or conditional BL instruction. */
2972 BFD_RELOC_ARM_PCREL_JUMP,
2973
2974/* Thumb 7-, 9-, 12-, 20-, 23-, and 25-bit pc-relative branches.
2975The lowest bit must be zero and is not stored in the instruction.
2976Note that the corresponding ELF R_ARM_THM_JUMPnn constant has an
2977"nn" one smaller in all cases. Note further that BRANCH23
2978corresponds to R_ARM_THM_CALL. */
2979 BFD_RELOC_THUMB_PCREL_BRANCH7,
2980 BFD_RELOC_THUMB_PCREL_BRANCH9,
2981 BFD_RELOC_THUMB_PCREL_BRANCH12,
2982 BFD_RELOC_THUMB_PCREL_BRANCH20,
2983 BFD_RELOC_THUMB_PCREL_BRANCH23,
2984 BFD_RELOC_THUMB_PCREL_BRANCH25,
2985
2986/* 12-bit immediate offset, used in ARM-format ldr and str instructions. */
2987 BFD_RELOC_ARM_OFFSET_IMM,
2988
2989/* 5-bit immediate offset, used in Thumb-format ldr and str instructions. */
2990 BFD_RELOC_ARM_THUMB_OFFSET,
2991
2992/* Pc-relative or absolute relocation depending on target. Used for
2993entries in .init_array sections. */
2994 BFD_RELOC_ARM_TARGET1,
2995
2996/* Read-only segment base relative address. */
2997 BFD_RELOC_ARM_ROSEGREL32,
2998
2999/* Data segment base relative address. */
3000 BFD_RELOC_ARM_SBREL32,
3001
3002/* This reloc is used for references to RTTI data from exception handling
3003tables. The actual definition depends on the target. It may be a
3004pc-relative or some form of GOT-indirect relocation. */
3005 BFD_RELOC_ARM_TARGET2,
3006
3007/* 31-bit PC relative address. */
3008 BFD_RELOC_ARM_PREL31,
3009
3010/* Low and High halfword relocations for MOVW and MOVT instructions. */
3011 BFD_RELOC_ARM_MOVW,
3012 BFD_RELOC_ARM_MOVT,
3013 BFD_RELOC_ARM_MOVW_PCREL,
3014 BFD_RELOC_ARM_MOVT_PCREL,
3015 BFD_RELOC_ARM_THUMB_MOVW,
3016 BFD_RELOC_ARM_THUMB_MOVT,
3017 BFD_RELOC_ARM_THUMB_MOVW_PCREL,
3018 BFD_RELOC_ARM_THUMB_MOVT_PCREL,
3019
3020/* Relocations for setting up GOTs and PLTs for shared libraries. */
3021 BFD_RELOC_ARM_JUMP_SLOT,
3022 BFD_RELOC_ARM_GLOB_DAT,
3023 BFD_RELOC_ARM_GOT32,
3024 BFD_RELOC_ARM_PLT32,
3025 BFD_RELOC_ARM_RELATIVE,
3026 BFD_RELOC_ARM_GOTOFF,
3027 BFD_RELOC_ARM_GOTPC,
3028
3029/* ARM thread-local storage relocations. */
3030 BFD_RELOC_ARM_TLS_GD32,
3031 BFD_RELOC_ARM_TLS_LDO32,
3032 BFD_RELOC_ARM_TLS_LDM32,
3033 BFD_RELOC_ARM_TLS_DTPOFF32,
3034 BFD_RELOC_ARM_TLS_DTPMOD32,
3035 BFD_RELOC_ARM_TLS_TPOFF32,
3036 BFD_RELOC_ARM_TLS_IE32,
3037 BFD_RELOC_ARM_TLS_LE32,
3038
3039/* ARM group relocations. */
3040 BFD_RELOC_ARM_ALU_PC_G0_NC,
3041 BFD_RELOC_ARM_ALU_PC_G0,
3042 BFD_RELOC_ARM_ALU_PC_G1_NC,
3043 BFD_RELOC_ARM_ALU_PC_G1,
3044 BFD_RELOC_ARM_ALU_PC_G2,
3045 BFD_RELOC_ARM_LDR_PC_G0,
3046 BFD_RELOC_ARM_LDR_PC_G1,
3047 BFD_RELOC_ARM_LDR_PC_G2,
3048 BFD_RELOC_ARM_LDRS_PC_G0,
3049 BFD_RELOC_ARM_LDRS_PC_G1,
3050 BFD_RELOC_ARM_LDRS_PC_G2,
3051 BFD_RELOC_ARM_LDC_PC_G0,
3052 BFD_RELOC_ARM_LDC_PC_G1,
3053 BFD_RELOC_ARM_LDC_PC_G2,
3054 BFD_RELOC_ARM_ALU_SB_G0_NC,
3055 BFD_RELOC_ARM_ALU_SB_G0,
3056 BFD_RELOC_ARM_ALU_SB_G1_NC,
3057 BFD_RELOC_ARM_ALU_SB_G1,
3058 BFD_RELOC_ARM_ALU_SB_G2,
3059 BFD_RELOC_ARM_LDR_SB_G0,
3060 BFD_RELOC_ARM_LDR_SB_G1,
3061 BFD_RELOC_ARM_LDR_SB_G2,
3062 BFD_RELOC_ARM_LDRS_SB_G0,
3063 BFD_RELOC_ARM_LDRS_SB_G1,
3064 BFD_RELOC_ARM_LDRS_SB_G2,
3065 BFD_RELOC_ARM_LDC_SB_G0,
3066 BFD_RELOC_ARM_LDC_SB_G1,
3067 BFD_RELOC_ARM_LDC_SB_G2,
3068
2557/* These relocs are only used within the ARM assembler. They are not
2558(at present) written to any object files. */
2559 BFD_RELOC_ARM_IMMEDIATE,
2560 BFD_RELOC_ARM_ADRL_IMMEDIATE,
3069/* These relocs are only used within the ARM assembler. They are not
3070(at present) written to any object files. */
3071 BFD_RELOC_ARM_IMMEDIATE,
3072 BFD_RELOC_ARM_ADRL_IMMEDIATE,
2561 BFD_RELOC_ARM_OFFSET_IMM,
3073 BFD_RELOC_ARM_T32_IMMEDIATE,
3074 BFD_RELOC_ARM_T32_ADD_IMM,
3075 BFD_RELOC_ARM_T32_IMM12,
3076 BFD_RELOC_ARM_T32_ADD_PC12,
2562 BFD_RELOC_ARM_SHIFT_IMM,
3077 BFD_RELOC_ARM_SHIFT_IMM,
3078 BFD_RELOC_ARM_SMC,
2563 BFD_RELOC_ARM_SWI,
2564 BFD_RELOC_ARM_MULTI,
2565 BFD_RELOC_ARM_CP_OFF_IMM,
2566 BFD_RELOC_ARM_CP_OFF_IMM_S2,
3079 BFD_RELOC_ARM_SWI,
3080 BFD_RELOC_ARM_MULTI,
3081 BFD_RELOC_ARM_CP_OFF_IMM,
3082 BFD_RELOC_ARM_CP_OFF_IMM_S2,
3083 BFD_RELOC_ARM_T32_CP_OFF_IMM,
3084 BFD_RELOC_ARM_T32_CP_OFF_IMM_S2,
2567 BFD_RELOC_ARM_ADR_IMM,
2568 BFD_RELOC_ARM_LDR_IMM,
2569 BFD_RELOC_ARM_LITERAL,
2570 BFD_RELOC_ARM_IN_POOL,
2571 BFD_RELOC_ARM_OFFSET_IMM8,
3085 BFD_RELOC_ARM_ADR_IMM,
3086 BFD_RELOC_ARM_LDR_IMM,
3087 BFD_RELOC_ARM_LITERAL,
3088 BFD_RELOC_ARM_IN_POOL,
3089 BFD_RELOC_ARM_OFFSET_IMM8,
3090 BFD_RELOC_ARM_T32_OFFSET_U8,
3091 BFD_RELOC_ARM_T32_OFFSET_IMM,
2572 BFD_RELOC_ARM_HWLITERAL,
2573 BFD_RELOC_ARM_THUMB_ADD,
2574 BFD_RELOC_ARM_THUMB_IMM,
2575 BFD_RELOC_ARM_THUMB_SHIFT,
3092 BFD_RELOC_ARM_HWLITERAL,
3093 BFD_RELOC_ARM_THUMB_ADD,
3094 BFD_RELOC_ARM_THUMB_IMM,
3095 BFD_RELOC_ARM_THUMB_SHIFT,
2576 BFD_RELOC_ARM_THUMB_OFFSET,
2577 BFD_RELOC_ARM_GOT12,
2578 BFD_RELOC_ARM_GOT32,
2579 BFD_RELOC_ARM_JUMP_SLOT,
2580 BFD_RELOC_ARM_COPY,
2581 BFD_RELOC_ARM_GLOB_DAT,
2582 BFD_RELOC_ARM_PLT32,
2583 BFD_RELOC_ARM_RELATIVE,
2584 BFD_RELOC_ARM_GOTOFF,
2585 BFD_RELOC_ARM_GOTPC,
2586
2587/* Renesas / SuperH SH relocs. Not all of these appear in object files. */
2588 BFD_RELOC_SH_PCDISP8BY2,
2589 BFD_RELOC_SH_PCDISP12BY2,
3096
3097/* Renesas / SuperH SH relocs. Not all of these appear in object files. */
3098 BFD_RELOC_SH_PCDISP8BY2,
3099 BFD_RELOC_SH_PCDISP12BY2,
3100 BFD_RELOC_SH_IMM3,
3101 BFD_RELOC_SH_IMM3U,
3102 BFD_RELOC_SH_DISP12,
3103 BFD_RELOC_SH_DISP12BY2,
3104 BFD_RELOC_SH_DISP12BY4,
3105 BFD_RELOC_SH_DISP12BY8,
3106 BFD_RELOC_SH_DISP20,
3107 BFD_RELOC_SH_DISP20BY8,
2590 BFD_RELOC_SH_IMM4,
2591 BFD_RELOC_SH_IMM4BY2,
2592 BFD_RELOC_SH_IMM4BY4,
2593 BFD_RELOC_SH_IMM8,
2594 BFD_RELOC_SH_IMM8BY2,
2595 BFD_RELOC_SH_IMM8BY4,
2596 BFD_RELOC_SH_PCRELIMM8BY2,
2597 BFD_RELOC_SH_PCRELIMM8BY4,

--- 65 unchanged lines hidden (view full) ---

2663 BFD_RELOC_SH_TLS_LD_32,
2664 BFD_RELOC_SH_TLS_LDO_32,
2665 BFD_RELOC_SH_TLS_IE_32,
2666 BFD_RELOC_SH_TLS_LE_32,
2667 BFD_RELOC_SH_TLS_DTPMOD32,
2668 BFD_RELOC_SH_TLS_DTPOFF32,
2669 BFD_RELOC_SH_TLS_TPOFF32,
2670
3108 BFD_RELOC_SH_IMM4,
3109 BFD_RELOC_SH_IMM4BY2,
3110 BFD_RELOC_SH_IMM4BY4,
3111 BFD_RELOC_SH_IMM8,
3112 BFD_RELOC_SH_IMM8BY2,
3113 BFD_RELOC_SH_IMM8BY4,
3114 BFD_RELOC_SH_PCRELIMM8BY2,
3115 BFD_RELOC_SH_PCRELIMM8BY4,

--- 65 unchanged lines hidden (view full) ---

3181 BFD_RELOC_SH_TLS_LD_32,
3182 BFD_RELOC_SH_TLS_LDO_32,
3183 BFD_RELOC_SH_TLS_IE_32,
3184 BFD_RELOC_SH_TLS_LE_32,
3185 BFD_RELOC_SH_TLS_DTPMOD32,
3186 BFD_RELOC_SH_TLS_DTPOFF32,
3187 BFD_RELOC_SH_TLS_TPOFF32,
3188
2671/* Thumb 23-, 12- and 9-bit pc-relative branches. The lowest bit must
2672be zero and is not stored in the instruction. */
2673 BFD_RELOC_THUMB_PCREL_BRANCH9,
2674 BFD_RELOC_THUMB_PCREL_BRANCH12,
2675 BFD_RELOC_THUMB_PCREL_BRANCH23,
2676
2677/* ARC Cores relocs.
2678ARC 22 bit pc-relative branch. The lowest two bits must be zero and are
2679not stored in the instruction. The high 20 bits are installed in bits 26
2680through 7 of the instruction. */
2681 BFD_RELOC_ARC_B22_PCREL,
2682
2683/* ARC 26 bit absolute branch. The lowest two bits must be zero and are not
2684stored in the instruction. The high 24 bits are installed in bits 23
2685through 0. */
2686 BFD_RELOC_ARC_B26,
2687
3189/* ARC Cores relocs.
3190ARC 22 bit pc-relative branch. The lowest two bits must be zero and are
3191not stored in the instruction. The high 20 bits are installed in bits 26
3192through 7 of the instruction. */
3193 BFD_RELOC_ARC_B22_PCREL,
3194
3195/* ARC 26 bit absolute branch. The lowest two bits must be zero and are not
3196stored in the instruction. The high 24 bits are installed in bits 23
3197through 0. */
3198 BFD_RELOC_ARC_B26,
3199
3200/* ADI Blackfin 16 bit immediate absolute reloc. */
3201 BFD_RELOC_BFIN_16_IMM,
3202
3203/* ADI Blackfin 16 bit immediate absolute reloc higher 16 bits. */
3204 BFD_RELOC_BFIN_16_HIGH,
3205
3206/* ADI Blackfin 'a' part of LSETUP. */
3207 BFD_RELOC_BFIN_4_PCREL,
3208
3209/* ADI Blackfin. */
3210 BFD_RELOC_BFIN_5_PCREL,
3211
3212/* ADI Blackfin 16 bit immediate absolute reloc lower 16 bits. */
3213 BFD_RELOC_BFIN_16_LOW,
3214
3215/* ADI Blackfin. */
3216 BFD_RELOC_BFIN_10_PCREL,
3217
3218/* ADI Blackfin 'b' part of LSETUP. */
3219 BFD_RELOC_BFIN_11_PCREL,
3220
3221/* ADI Blackfin. */
3222 BFD_RELOC_BFIN_12_PCREL_JUMP,
3223
3224/* ADI Blackfin Short jump, pcrel. */
3225 BFD_RELOC_BFIN_12_PCREL_JUMP_S,
3226
3227/* ADI Blackfin Call.x not implemented. */
3228 BFD_RELOC_BFIN_24_PCREL_CALL_X,
3229
3230/* ADI Blackfin Long Jump pcrel. */
3231 BFD_RELOC_BFIN_24_PCREL_JUMP_L,
3232
3233/* ADI Blackfin FD-PIC relocations. */
3234 BFD_RELOC_BFIN_GOT17M4,
3235 BFD_RELOC_BFIN_GOTHI,
3236 BFD_RELOC_BFIN_GOTLO,
3237 BFD_RELOC_BFIN_FUNCDESC,
3238 BFD_RELOC_BFIN_FUNCDESC_GOT17M4,
3239 BFD_RELOC_BFIN_FUNCDESC_GOTHI,
3240 BFD_RELOC_BFIN_FUNCDESC_GOTLO,
3241 BFD_RELOC_BFIN_FUNCDESC_VALUE,
3242 BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4,
3243 BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI,
3244 BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO,
3245 BFD_RELOC_BFIN_GOTOFF17M4,
3246 BFD_RELOC_BFIN_GOTOFFHI,
3247 BFD_RELOC_BFIN_GOTOFFLO,
3248
3249/* ADI Blackfin GOT relocation. */
3250 BFD_RELOC_BFIN_GOT,
3251
3252/* ADI Blackfin PLTPC relocation. */
3253 BFD_RELOC_BFIN_PLTPC,
3254
3255/* ADI Blackfin arithmetic relocation. */
3256 BFD_ARELOC_BFIN_PUSH,
3257
3258/* ADI Blackfin arithmetic relocation. */
3259 BFD_ARELOC_BFIN_CONST,
3260
3261/* ADI Blackfin arithmetic relocation. */
3262 BFD_ARELOC_BFIN_ADD,
3263
3264/* ADI Blackfin arithmetic relocation. */
3265 BFD_ARELOC_BFIN_SUB,
3266
3267/* ADI Blackfin arithmetic relocation. */
3268 BFD_ARELOC_BFIN_MULT,
3269
3270/* ADI Blackfin arithmetic relocation. */
3271 BFD_ARELOC_BFIN_DIV,
3272
3273/* ADI Blackfin arithmetic relocation. */
3274 BFD_ARELOC_BFIN_MOD,
3275
3276/* ADI Blackfin arithmetic relocation. */
3277 BFD_ARELOC_BFIN_LSHIFT,
3278
3279/* ADI Blackfin arithmetic relocation. */
3280 BFD_ARELOC_BFIN_RSHIFT,
3281
3282/* ADI Blackfin arithmetic relocation. */
3283 BFD_ARELOC_BFIN_AND,
3284
3285/* ADI Blackfin arithmetic relocation. */
3286 BFD_ARELOC_BFIN_OR,
3287
3288/* ADI Blackfin arithmetic relocation. */
3289 BFD_ARELOC_BFIN_XOR,
3290
3291/* ADI Blackfin arithmetic relocation. */
3292 BFD_ARELOC_BFIN_LAND,
3293
3294/* ADI Blackfin arithmetic relocation. */
3295 BFD_ARELOC_BFIN_LOR,
3296
3297/* ADI Blackfin arithmetic relocation. */
3298 BFD_ARELOC_BFIN_LEN,
3299
3300/* ADI Blackfin arithmetic relocation. */
3301 BFD_ARELOC_BFIN_NEG,
3302
3303/* ADI Blackfin arithmetic relocation. */
3304 BFD_ARELOC_BFIN_COMP,
3305
3306/* ADI Blackfin arithmetic relocation. */
3307 BFD_ARELOC_BFIN_PAGE,
3308
3309/* ADI Blackfin arithmetic relocation. */
3310 BFD_ARELOC_BFIN_HWPAGE,
3311
3312/* ADI Blackfin arithmetic relocation. */
3313 BFD_ARELOC_BFIN_ADDR,
3314
2688/* Mitsubishi D10V relocs.
2689This is a 10-bit reloc with the right 2 bits
2690assumed to be 0. */
2691 BFD_RELOC_D10V_10_PCREL_R,
2692
2693/* Mitsubishi D10V relocs.
2694This is a 10-bit reloc with the right 2 bits
2695assumed to be 0. This is the same as the previous reloc

--- 61 unchanged lines hidden (view full) ---

2757 BFD_RELOC_DLX_HI16_S,
2758
2759/* DLX relocs */
2760 BFD_RELOC_DLX_LO16,
2761
2762/* DLX relocs */
2763 BFD_RELOC_DLX_JMP26,
2764
3315/* Mitsubishi D10V relocs.
3316This is a 10-bit reloc with the right 2 bits
3317assumed to be 0. */
3318 BFD_RELOC_D10V_10_PCREL_R,
3319
3320/* Mitsubishi D10V relocs.
3321This is a 10-bit reloc with the right 2 bits
3322assumed to be 0. This is the same as the previous reloc

--- 61 unchanged lines hidden (view full) ---

3384 BFD_RELOC_DLX_HI16_S,
3385
3386/* DLX relocs */
3387 BFD_RELOC_DLX_LO16,
3388
3389/* DLX relocs */
3390 BFD_RELOC_DLX_JMP26,
3391
3392/* Renesas M16C/M32C Relocations. */
3393 BFD_RELOC_M32C_HI8,
3394 BFD_RELOC_M32C_RL_JUMP,
3395 BFD_RELOC_M32C_RL_1ADDR,
3396 BFD_RELOC_M32C_RL_2ADDR,
3397
2765/* Renesas M32R (formerly Mitsubishi M32R) relocs.
2766This is a 24 bit absolute address. */
2767 BFD_RELOC_M32R_24,
2768
2769/* This is a 10-bit pc-relative reloc with the right 2 bits assumed to be 0. */
2770 BFD_RELOC_M32R_10_PCREL,
2771
2772/* This is an 18-bit reloc with the right 2 bits assumed to be 0. */

--- 20 unchanged lines hidden (view full) ---

2793/* For PIC. */
2794 BFD_RELOC_M32R_GOT24,
2795 BFD_RELOC_M32R_26_PLTREL,
2796 BFD_RELOC_M32R_COPY,
2797 BFD_RELOC_M32R_GLOB_DAT,
2798 BFD_RELOC_M32R_JMP_SLOT,
2799 BFD_RELOC_M32R_RELATIVE,
2800 BFD_RELOC_M32R_GOTOFF,
3398/* Renesas M32R (formerly Mitsubishi M32R) relocs.
3399This is a 24 bit absolute address. */
3400 BFD_RELOC_M32R_24,
3401
3402/* This is a 10-bit pc-relative reloc with the right 2 bits assumed to be 0. */
3403 BFD_RELOC_M32R_10_PCREL,
3404
3405/* This is an 18-bit reloc with the right 2 bits assumed to be 0. */

--- 20 unchanged lines hidden (view full) ---

3426/* For PIC. */
3427 BFD_RELOC_M32R_GOT24,
3428 BFD_RELOC_M32R_26_PLTREL,
3429 BFD_RELOC_M32R_COPY,
3430 BFD_RELOC_M32R_GLOB_DAT,
3431 BFD_RELOC_M32R_JMP_SLOT,
3432 BFD_RELOC_M32R_RELATIVE,
3433 BFD_RELOC_M32R_GOTOFF,
3434 BFD_RELOC_M32R_GOTOFF_HI_ULO,
3435 BFD_RELOC_M32R_GOTOFF_HI_SLO,
3436 BFD_RELOC_M32R_GOTOFF_LO,
2801 BFD_RELOC_M32R_GOTPC24,
2802 BFD_RELOC_M32R_GOT16_HI_ULO,
2803 BFD_RELOC_M32R_GOT16_HI_SLO,
2804 BFD_RELOC_M32R_GOT16_LO,
2805 BFD_RELOC_M32R_GOTPC_HI_ULO,
2806 BFD_RELOC_M32R_GOTPC_HI_SLO,
2807 BFD_RELOC_M32R_GOTPC_LO,
2808

--- 56 unchanged lines hidden (view full) ---

2865 BFD_RELOC_V850_LONGCALL,
2866
2867/* Used for relaxing indirect jumps. */
2868 BFD_RELOC_V850_LONGJUMP,
2869
2870/* Used to maintain alignment whilst relaxing. */
2871 BFD_RELOC_V850_ALIGN,
2872
3437 BFD_RELOC_M32R_GOTPC24,
3438 BFD_RELOC_M32R_GOT16_HI_ULO,
3439 BFD_RELOC_M32R_GOT16_HI_SLO,
3440 BFD_RELOC_M32R_GOT16_LO,
3441 BFD_RELOC_M32R_GOTPC_HI_ULO,
3442 BFD_RELOC_M32R_GOTPC_HI_SLO,
3443 BFD_RELOC_M32R_GOTPC_LO,
3444

--- 56 unchanged lines hidden (view full) ---

3501 BFD_RELOC_V850_LONGCALL,
3502
3503/* Used for relaxing indirect jumps. */
3504 BFD_RELOC_V850_LONGJUMP,
3505
3506/* Used to maintain alignment whilst relaxing. */
3507 BFD_RELOC_V850_ALIGN,
3508
3509/* This is a variation of BFD_RELOC_LO16 that can be used in v850e ld.bu
3510instructions. */
3511 BFD_RELOC_V850_LO16_SPLIT_OFFSET,
3512
2873/* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
2874instruction. */
2875 BFD_RELOC_MN10300_32_PCREL,
2876
2877/* This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the
2878instruction. */
2879 BFD_RELOC_MN10300_16_PCREL,
2880

--- 59 unchanged lines hidden (view full) ---

2940/* Motorola Mcore relocations. */
2941 BFD_RELOC_MCORE_PCREL_IMM8BY4,
2942 BFD_RELOC_MCORE_PCREL_IMM11BY2,
2943 BFD_RELOC_MCORE_PCREL_IMM4BY2,
2944 BFD_RELOC_MCORE_PCREL_32,
2945 BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2,
2946 BFD_RELOC_MCORE_RVA,
2947
3513/* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
3514instruction. */
3515 BFD_RELOC_MN10300_32_PCREL,
3516
3517/* This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the
3518instruction. */
3519 BFD_RELOC_MN10300_16_PCREL,
3520

--- 59 unchanged lines hidden (view full) ---

3580/* Motorola Mcore relocations. */
3581 BFD_RELOC_MCORE_PCREL_IMM8BY4,
3582 BFD_RELOC_MCORE_PCREL_IMM11BY2,
3583 BFD_RELOC_MCORE_PCREL_IMM4BY2,
3584 BFD_RELOC_MCORE_PCREL_32,
3585 BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2,
3586 BFD_RELOC_MCORE_RVA,
3587
3588/* Toshiba Media Processor Relocations. */
3589 BFD_RELOC_MEP_8,
3590 BFD_RELOC_MEP_16,
3591 BFD_RELOC_MEP_32,
3592 BFD_RELOC_MEP_PCREL8A2,
3593 BFD_RELOC_MEP_PCREL12A2,
3594 BFD_RELOC_MEP_PCREL17A2,
3595 BFD_RELOC_MEP_PCREL24A2,
3596 BFD_RELOC_MEP_PCABS24A2,
3597 BFD_RELOC_MEP_LOW16,
3598 BFD_RELOC_MEP_HI16U,
3599 BFD_RELOC_MEP_HI16S,
3600 BFD_RELOC_MEP_GPREL,
3601 BFD_RELOC_MEP_TPREL,
3602 BFD_RELOC_MEP_TPREL7,
3603 BFD_RELOC_MEP_TPREL7A2,
3604 BFD_RELOC_MEP_TPREL7A4,
3605 BFD_RELOC_MEP_UIMM24,
3606 BFD_RELOC_MEP_ADDR24A4,
3607 BFD_RELOC_MEP_GNU_VTINHERIT,
3608 BFD_RELOC_MEP_GNU_VTENTRY,
3609
3610
2948/* These are relocations for the GETA instruction. */
2949 BFD_RELOC_MMIX_GETA,
2950 BFD_RELOC_MMIX_GETA_1,
2951 BFD_RELOC_MMIX_GETA_2,
2952 BFD_RELOC_MMIX_GETA_3,
2953
2954/* These are relocations for a conditional branch instruction. */
2955 BFD_RELOC_MMIX_CBRANCH,

--- 57 unchanged lines hidden (view full) ---

3013/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
3014of data memory address) into 8 bit immediate value of LDI insn. */
3015 BFD_RELOC_AVR_HI8_LDI,
3016
3017/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
3018of program memory address) into 8 bit immediate value of LDI insn. */
3019 BFD_RELOC_AVR_HH8_LDI,
3020
3611/* These are relocations for the GETA instruction. */
3612 BFD_RELOC_MMIX_GETA,
3613 BFD_RELOC_MMIX_GETA_1,
3614 BFD_RELOC_MMIX_GETA_2,
3615 BFD_RELOC_MMIX_GETA_3,
3616
3617/* These are relocations for a conditional branch instruction. */
3618 BFD_RELOC_MMIX_CBRANCH,

--- 57 unchanged lines hidden (view full) ---

3676/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
3677of data memory address) into 8 bit immediate value of LDI insn. */
3678 BFD_RELOC_AVR_HI8_LDI,
3679
3680/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
3681of program memory address) into 8 bit immediate value of LDI insn. */
3682 BFD_RELOC_AVR_HH8_LDI,
3683
3684/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
3685of 32 bit value) into 8 bit immediate value of LDI insn. */
3686 BFD_RELOC_AVR_MS8_LDI,
3687
3021/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
3022(usually data memory address) into 8 bit immediate value of SUBI insn. */
3023 BFD_RELOC_AVR_LO8_LDI_NEG,
3024
3025/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
3026(high 8 bit of data memory address) into 8 bit immediate value of
3027SUBI insn. */
3028 BFD_RELOC_AVR_HI8_LDI_NEG,
3029
3030/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
3031(most high 8 bit of program memory address) into 8 bit immediate value
3032of LDI or SUBI insn. */
3033 BFD_RELOC_AVR_HH8_LDI_NEG,
3034
3688/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
3689(usually data memory address) into 8 bit immediate value of SUBI insn. */
3690 BFD_RELOC_AVR_LO8_LDI_NEG,
3691
3692/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
3693(high 8 bit of data memory address) into 8 bit immediate value of
3694SUBI insn. */
3695 BFD_RELOC_AVR_HI8_LDI_NEG,
3696
3697/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
3698(most high 8 bit of program memory address) into 8 bit immediate value
3699of LDI or SUBI insn. */
3700 BFD_RELOC_AVR_HH8_LDI_NEG,
3701
3702/* This is a 16 bit reloc for the AVR that stores negated 8 bit value (msb
3703of 32 bit value) into 8 bit immediate value of LDI insn. */
3704 BFD_RELOC_AVR_MS8_LDI_NEG,
3705
3035/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually
3036command address) into 8 bit immediate value of LDI insn. */
3037 BFD_RELOC_AVR_LO8_LDI_PM,
3038
3706/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually
3707command address) into 8 bit immediate value of LDI insn. */
3708 BFD_RELOC_AVR_LO8_LDI_PM,
3709
3710/* This is a 16 bit reloc for the AVR that stores 8 bit value
3711(command address) into 8 bit immediate value of LDI insn. If the address
3712is beyond the 128k boundary, the linker inserts a jump stub for this reloc
3713in the lower 128k. */
3714 BFD_RELOC_AVR_LO8_LDI_GS,
3715
3039/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
3040of command address) into 8 bit immediate value of LDI insn. */
3041 BFD_RELOC_AVR_HI8_LDI_PM,
3042
3716/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
3717of command address) into 8 bit immediate value of LDI insn. */
3718 BFD_RELOC_AVR_HI8_LDI_PM,
3719
3720/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
3721of command address) into 8 bit immediate value of LDI insn. If the address
3722is beyond the 128k boundary, the linker inserts a jump stub for this reloc
3723below 128k. */
3724 BFD_RELOC_AVR_HI8_LDI_GS,
3725
3043/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
3044of command address) into 8 bit immediate value of LDI insn. */
3045 BFD_RELOC_AVR_HH8_LDI_PM,
3046
3047/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
3048(usually command address) into 8 bit immediate value of SUBI insn. */
3049 BFD_RELOC_AVR_LO8_LDI_PM_NEG,
3050

--- 6 unchanged lines hidden (view full) ---

3057(high 6 bit of 22 bit command address) into 8 bit immediate
3058value of SUBI insn. */
3059 BFD_RELOC_AVR_HH8_LDI_PM_NEG,
3060
3061/* This is a 32 bit reloc for the AVR that stores 23 bit value
3062into 22 bits. */
3063 BFD_RELOC_AVR_CALL,
3064
3726/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
3727of command address) into 8 bit immediate value of LDI insn. */
3728 BFD_RELOC_AVR_HH8_LDI_PM,
3729
3730/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
3731(usually command address) into 8 bit immediate value of SUBI insn. */
3732 BFD_RELOC_AVR_LO8_LDI_PM_NEG,
3733

--- 6 unchanged lines hidden (view full) ---

3740(high 6 bit of 22 bit command address) into 8 bit immediate
3741value of SUBI insn. */
3742 BFD_RELOC_AVR_HH8_LDI_PM_NEG,
3743
3744/* This is a 32 bit reloc for the AVR that stores 23 bit value
3745into 22 bits. */
3746 BFD_RELOC_AVR_CALL,
3747
3748/* This is a 16 bit reloc for the AVR that stores all needed bits
3749for absolute addressing with ldi with overflow check to linktime */
3750 BFD_RELOC_AVR_LDI,
3751
3752/* This is a 6 bit reloc for the AVR that stores offset for ldd/std
3753instructions */
3754 BFD_RELOC_AVR_6,
3755
3756/* This is a 6 bit reloc for the AVR that stores offset for adiw/sbiw
3757instructions */
3758 BFD_RELOC_AVR_6_ADIW,
3759
3065/* Direct 12 bit. */
3066 BFD_RELOC_390_12,
3067
3068/* 12 bit GOT offset. */
3069 BFD_RELOC_390_GOT12,
3070
3071/* 32 bit PC relative PLT address. */
3072 BFD_RELOC_390_PLT32,

--- 90 unchanged lines hidden (view full) ---

3163 BFD_RELOC_390_TLS_TPOFF,
3164
3165/* Long displacement extension. */
3166 BFD_RELOC_390_20,
3167 BFD_RELOC_390_GOT20,
3168 BFD_RELOC_390_GOTPLT20,
3169 BFD_RELOC_390_TLS_GOTIE20,
3170
3760/* Direct 12 bit. */
3761 BFD_RELOC_390_12,
3762
3763/* 12 bit GOT offset. */
3764 BFD_RELOC_390_GOT12,
3765
3766/* 32 bit PC relative PLT address. */
3767 BFD_RELOC_390_PLT32,

--- 90 unchanged lines hidden (view full) ---

3858 BFD_RELOC_390_TLS_TPOFF,
3859
3860/* Long displacement extension. */
3861 BFD_RELOC_390_20,
3862 BFD_RELOC_390_GOT20,
3863 BFD_RELOC_390_GOTPLT20,
3864 BFD_RELOC_390_TLS_GOTIE20,
3865
3866/* Score relocations */
3867 BFD_RELOC_SCORE_DUMMY1,
3868
3869/* Low 16 bit for load/store */
3870 BFD_RELOC_SCORE_GPREL15,
3871
3872/* This is a 24-bit reloc with the right 1 bit assumed to be 0 */
3873 BFD_RELOC_SCORE_DUMMY2,
3874 BFD_RELOC_SCORE_JMP,
3875
3876/* This is a 19-bit reloc with the right 1 bit assumed to be 0 */
3877 BFD_RELOC_SCORE_BRANCH,
3878
3879/* This is a 11-bit reloc with the right 1 bit assumed to be 0 */
3880 BFD_RELOC_SCORE16_JMP,
3881
3882/* This is a 8-bit reloc with the right 1 bit assumed to be 0 */
3883 BFD_RELOC_SCORE16_BRANCH,
3884
3885/* Undocumented Score relocs */
3886 BFD_RELOC_SCORE_GOT15,
3887 BFD_RELOC_SCORE_GOT_LO16,
3888 BFD_RELOC_SCORE_CALL15,
3889 BFD_RELOC_SCORE_DUMMY_HI16,
3890
3171/* Scenix IP2K - 9-bit register number / data address */
3172 BFD_RELOC_IP2K_FR9,
3173
3174/* Scenix IP2K - 4-bit register/data bank number */
3175 BFD_RELOC_IP2K_BANK,
3176
3177/* Scenix IP2K - low 13 bits of instruction word address */
3178 BFD_RELOC_IP2K_ADDR16CJP,

--- 166 unchanged lines hidden (view full) ---

3345value and a 8-bit page number. The symbol address is transformed
3346to follow the 16K memory bank of 68HC12 (seen as mapped in the window). */
3347 BFD_RELOC_M68HC11_24,
3348
3349/* Motorola 68HC12 reloc.
3350This is the 5 bits of a value. */
3351 BFD_RELOC_M68HC12_5B,
3352
3891/* Scenix IP2K - 9-bit register number / data address */
3892 BFD_RELOC_IP2K_FR9,
3893
3894/* Scenix IP2K - 4-bit register/data bank number */
3895 BFD_RELOC_IP2K_BANK,
3896
3897/* Scenix IP2K - low 13 bits of instruction word address */
3898 BFD_RELOC_IP2K_ADDR16CJP,

--- 166 unchanged lines hidden (view full) ---

4065value and a 8-bit page number. The symbol address is transformed
4066to follow the 16K memory bank of 68HC12 (seen as mapped in the window). */
4067 BFD_RELOC_M68HC11_24,
4068
4069/* Motorola 68HC12 reloc.
4070This is the 5 bits of a value. */
4071 BFD_RELOC_M68HC12_5B,
4072
4073/* NS CR16C Relocations. */
4074 BFD_RELOC_16C_NUM08,
4075 BFD_RELOC_16C_NUM08_C,
4076 BFD_RELOC_16C_NUM16,
4077 BFD_RELOC_16C_NUM16_C,
4078 BFD_RELOC_16C_NUM32,
4079 BFD_RELOC_16C_NUM32_C,
4080 BFD_RELOC_16C_DISP04,
4081 BFD_RELOC_16C_DISP04_C,
4082 BFD_RELOC_16C_DISP08,
4083 BFD_RELOC_16C_DISP08_C,
4084 BFD_RELOC_16C_DISP16,
4085 BFD_RELOC_16C_DISP16_C,
4086 BFD_RELOC_16C_DISP24,
4087 BFD_RELOC_16C_DISP24_C,
4088 BFD_RELOC_16C_DISP24a,
4089 BFD_RELOC_16C_DISP24a_C,
4090 BFD_RELOC_16C_REG04,
4091 BFD_RELOC_16C_REG04_C,
4092 BFD_RELOC_16C_REG04a,
4093 BFD_RELOC_16C_REG04a_C,
4094 BFD_RELOC_16C_REG14,
4095 BFD_RELOC_16C_REG14_C,
4096 BFD_RELOC_16C_REG16,
4097 BFD_RELOC_16C_REG16_C,
4098 BFD_RELOC_16C_REG20,
4099 BFD_RELOC_16C_REG20_C,
4100 BFD_RELOC_16C_ABS20,
4101 BFD_RELOC_16C_ABS20_C,
4102 BFD_RELOC_16C_ABS24,
4103 BFD_RELOC_16C_ABS24_C,
4104 BFD_RELOC_16C_IMM04,
4105 BFD_RELOC_16C_IMM04_C,
4106 BFD_RELOC_16C_IMM16,
4107 BFD_RELOC_16C_IMM16_C,
4108 BFD_RELOC_16C_IMM20,
4109 BFD_RELOC_16C_IMM20_C,
4110 BFD_RELOC_16C_IMM24,
4111 BFD_RELOC_16C_IMM24_C,
4112 BFD_RELOC_16C_IMM32,
4113 BFD_RELOC_16C_IMM32_C,
4114
4115/* NS CR16 Relocations. */
4116 BFD_RELOC_CR16_NUM8,
4117 BFD_RELOC_CR16_NUM16,
4118 BFD_RELOC_CR16_NUM32,
4119 BFD_RELOC_CR16_NUM32a,
4120 BFD_RELOC_CR16_REGREL0,
4121 BFD_RELOC_CR16_REGREL4,
4122 BFD_RELOC_CR16_REGREL4a,
4123 BFD_RELOC_CR16_REGREL14,
4124 BFD_RELOC_CR16_REGREL14a,
4125 BFD_RELOC_CR16_REGREL16,
4126 BFD_RELOC_CR16_REGREL20,
4127 BFD_RELOC_CR16_REGREL20a,
4128 BFD_RELOC_CR16_ABS20,
4129 BFD_RELOC_CR16_ABS24,
4130 BFD_RELOC_CR16_IMM4,
4131 BFD_RELOC_CR16_IMM8,
4132 BFD_RELOC_CR16_IMM16,
4133 BFD_RELOC_CR16_IMM20,
4134 BFD_RELOC_CR16_IMM24,
4135 BFD_RELOC_CR16_IMM32,
4136 BFD_RELOC_CR16_IMM32a,
4137 BFD_RELOC_CR16_DISP4,
4138 BFD_RELOC_CR16_DISP8,
4139 BFD_RELOC_CR16_DISP16,
4140 BFD_RELOC_CR16_DISP20,
4141 BFD_RELOC_CR16_DISP24,
4142 BFD_RELOC_CR16_DISP24a,
4143
4144/* NS CRX Relocations. */
4145 BFD_RELOC_CRX_REL4,
4146 BFD_RELOC_CRX_REL8,
4147 BFD_RELOC_CRX_REL8_CMP,
4148 BFD_RELOC_CRX_REL16,
4149 BFD_RELOC_CRX_REL24,
4150 BFD_RELOC_CRX_REL32,
4151 BFD_RELOC_CRX_REGREL12,
4152 BFD_RELOC_CRX_REGREL22,
4153 BFD_RELOC_CRX_REGREL28,
4154 BFD_RELOC_CRX_REGREL32,
4155 BFD_RELOC_CRX_ABS16,
4156 BFD_RELOC_CRX_ABS32,
4157 BFD_RELOC_CRX_NUM8,
4158 BFD_RELOC_CRX_NUM16,
4159 BFD_RELOC_CRX_NUM32,
4160 BFD_RELOC_CRX_IMM16,
4161 BFD_RELOC_CRX_IMM32,
4162 BFD_RELOC_CRX_SWITCH8,
4163 BFD_RELOC_CRX_SWITCH16,
4164 BFD_RELOC_CRX_SWITCH32,
4165
3353/* These relocs are only used within the CRIS assembler. They are not
3354(at present) written to any object files. */
3355 BFD_RELOC_CRIS_BDISP8,
3356 BFD_RELOC_CRIS_UNSIGNED_5,
3357 BFD_RELOC_CRIS_SIGNED_6,
3358 BFD_RELOC_CRIS_UNSIGNED_6,
4166/* These relocs are only used within the CRIS assembler. They are not
4167(at present) written to any object files. */
4168 BFD_RELOC_CRIS_BDISP8,
4169 BFD_RELOC_CRIS_UNSIGNED_5,
4170 BFD_RELOC_CRIS_SIGNED_6,
4171 BFD_RELOC_CRIS_UNSIGNED_6,
4172 BFD_RELOC_CRIS_SIGNED_8,
4173 BFD_RELOC_CRIS_UNSIGNED_8,
4174 BFD_RELOC_CRIS_SIGNED_16,
4175 BFD_RELOC_CRIS_UNSIGNED_16,
4176 BFD_RELOC_CRIS_LAPCQ_OFFSET,
3359 BFD_RELOC_CRIS_UNSIGNED_4,
3360
3361/* Relocs used in ELF shared libraries for CRIS. */
3362 BFD_RELOC_CRIS_COPY,
3363 BFD_RELOC_CRIS_GLOB_DAT,
3364 BFD_RELOC_CRIS_JUMP_SLOT,
3365 BFD_RELOC_CRIS_RELATIVE,
3366

--- 64 unchanged lines hidden (view full) ---

3431 BFD_RELOC_H8_DIR32A16,
3432
3433/* Sony Xstormy16 Relocations. */
3434 BFD_RELOC_XSTORMY16_REL_12,
3435 BFD_RELOC_XSTORMY16_12,
3436 BFD_RELOC_XSTORMY16_24,
3437 BFD_RELOC_XSTORMY16_FPTR16,
3438
4177 BFD_RELOC_CRIS_UNSIGNED_4,
4178
4179/* Relocs used in ELF shared libraries for CRIS. */
4180 BFD_RELOC_CRIS_COPY,
4181 BFD_RELOC_CRIS_GLOB_DAT,
4182 BFD_RELOC_CRIS_JUMP_SLOT,
4183 BFD_RELOC_CRIS_RELATIVE,
4184

--- 64 unchanged lines hidden (view full) ---

4249 BFD_RELOC_H8_DIR32A16,
4250
4251/* Sony Xstormy16 Relocations. */
4252 BFD_RELOC_XSTORMY16_REL_12,
4253 BFD_RELOC_XSTORMY16_12,
4254 BFD_RELOC_XSTORMY16_24,
4255 BFD_RELOC_XSTORMY16_FPTR16,
4256
4257/* Self-describing complex relocations. */
4258 BFD_RELOC_RELC,
4259
4260
4261/* Infineon Relocations. */
4262 BFD_RELOC_XC16X_PAG,
4263 BFD_RELOC_XC16X_POF,
4264 BFD_RELOC_XC16X_SEG,
4265 BFD_RELOC_XC16X_SOF,
4266
3439/* Relocations used by VAX ELF. */
3440 BFD_RELOC_VAX_GLOB_DAT,
3441 BFD_RELOC_VAX_JMP_SLOT,
3442 BFD_RELOC_VAX_RELATIVE,
3443
4267/* Relocations used by VAX ELF. */
4268 BFD_RELOC_VAX_GLOB_DAT,
4269 BFD_RELOC_VAX_JMP_SLOT,
4270 BFD_RELOC_VAX_RELATIVE,
4271
4272/* Morpho MT - 16 bit immediate relocation. */
4273 BFD_RELOC_MT_PC16,
4274
4275/* Morpho MT - Hi 16 bits of an address. */
4276 BFD_RELOC_MT_HI16,
4277
4278/* Morpho MT - Low 16 bits of an address. */
4279 BFD_RELOC_MT_LO16,
4280
4281/* Morpho MT - Used to tell the linker which vtable entries are used. */
4282 BFD_RELOC_MT_GNU_VTINHERIT,
4283
4284/* Morpho MT - Used to tell the linker which vtable entries are used. */
4285 BFD_RELOC_MT_GNU_VTENTRY,
4286
4287/* Morpho MT - 8 bit immediate relocation. */
4288 BFD_RELOC_MT_PCINSN8,
4289
3444/* msp430 specific relocation codes */
3445 BFD_RELOC_MSP430_10_PCREL,
3446 BFD_RELOC_MSP430_16_PCREL,
3447 BFD_RELOC_MSP430_16,
3448 BFD_RELOC_MSP430_16_PCREL_BYTE,
3449 BFD_RELOC_MSP430_16_BYTE,
4290/* msp430 specific relocation codes */
4291 BFD_RELOC_MSP430_10_PCREL,
4292 BFD_RELOC_MSP430_16_PCREL,
4293 BFD_RELOC_MSP430_16,
4294 BFD_RELOC_MSP430_16_PCREL_BYTE,
4295 BFD_RELOC_MSP430_16_BYTE,
4296 BFD_RELOC_MSP430_2X_PCREL,
4297 BFD_RELOC_MSP430_RL_PCREL,
3450
3451/* IQ2000 Relocations. */
3452 BFD_RELOC_IQ2000_OFFSET_16,
3453 BFD_RELOC_IQ2000_OFFSET_21,
3454 BFD_RELOC_IQ2000_UHI16,
3455
3456/* Special Xtensa relocation used only by PLT entries in ELF shared
3457objects to indicate that the runtime linker should set the value

--- 4 unchanged lines hidden (view full) ---

3462 BFD_RELOC_XTENSA_GLOB_DAT,
3463 BFD_RELOC_XTENSA_JMP_SLOT,
3464 BFD_RELOC_XTENSA_RELATIVE,
3465
3466/* Xtensa relocation used in ELF object files for symbols that may require
3467PLT entries. Otherwise, this is just a generic 32-bit relocation. */
3468 BFD_RELOC_XTENSA_PLT,
3469
4298
4299/* IQ2000 Relocations. */
4300 BFD_RELOC_IQ2000_OFFSET_16,
4301 BFD_RELOC_IQ2000_OFFSET_21,
4302 BFD_RELOC_IQ2000_UHI16,
4303
4304/* Special Xtensa relocation used only by PLT entries in ELF shared
4305objects to indicate that the runtime linker should set the value

--- 4 unchanged lines hidden (view full) ---

4310 BFD_RELOC_XTENSA_GLOB_DAT,
4311 BFD_RELOC_XTENSA_JMP_SLOT,
4312 BFD_RELOC_XTENSA_RELATIVE,
4313
4314/* Xtensa relocation used in ELF object files for symbols that may require
4315PLT entries. Otherwise, this is just a generic 32-bit relocation. */
4316 BFD_RELOC_XTENSA_PLT,
4317
3470/* Generic Xtensa relocations. Only the operand number is encoded
3471in the relocation. The details are determined by extracting the
3472instruction opcode. */
4318/* Xtensa relocations to mark the difference of two local symbols.
4319These are only needed to support linker relaxation and can be ignored
4320when not relaxing. The field is set to the value of the difference
4321assuming no relaxation. The relocation encodes the position of the
4322first symbol so the linker can determine whether to adjust the field
4323value. */
4324 BFD_RELOC_XTENSA_DIFF8,
4325 BFD_RELOC_XTENSA_DIFF16,
4326 BFD_RELOC_XTENSA_DIFF32,
4327
4328/* Generic Xtensa relocations for instruction operands. Only the slot
4329number is encoded in the relocation. The relocation applies to the
4330last PC-relative immediate operand, or if there are no PC-relative
4331immediates, to the last immediate operand. */
4332 BFD_RELOC_XTENSA_SLOT0_OP,
4333 BFD_RELOC_XTENSA_SLOT1_OP,
4334 BFD_RELOC_XTENSA_SLOT2_OP,
4335 BFD_RELOC_XTENSA_SLOT3_OP,
4336 BFD_RELOC_XTENSA_SLOT4_OP,
4337 BFD_RELOC_XTENSA_SLOT5_OP,
4338 BFD_RELOC_XTENSA_SLOT6_OP,
4339 BFD_RELOC_XTENSA_SLOT7_OP,
4340 BFD_RELOC_XTENSA_SLOT8_OP,
4341 BFD_RELOC_XTENSA_SLOT9_OP,
4342 BFD_RELOC_XTENSA_SLOT10_OP,
4343 BFD_RELOC_XTENSA_SLOT11_OP,
4344 BFD_RELOC_XTENSA_SLOT12_OP,
4345 BFD_RELOC_XTENSA_SLOT13_OP,
4346 BFD_RELOC_XTENSA_SLOT14_OP,
4347
4348/* Alternate Xtensa relocations. Only the slot is encoded in the
4349relocation. The meaning of these relocations is opcode-specific. */
4350 BFD_RELOC_XTENSA_SLOT0_ALT,
4351 BFD_RELOC_XTENSA_SLOT1_ALT,
4352 BFD_RELOC_XTENSA_SLOT2_ALT,
4353 BFD_RELOC_XTENSA_SLOT3_ALT,
4354 BFD_RELOC_XTENSA_SLOT4_ALT,
4355 BFD_RELOC_XTENSA_SLOT5_ALT,
4356 BFD_RELOC_XTENSA_SLOT6_ALT,
4357 BFD_RELOC_XTENSA_SLOT7_ALT,
4358 BFD_RELOC_XTENSA_SLOT8_ALT,
4359 BFD_RELOC_XTENSA_SLOT9_ALT,
4360 BFD_RELOC_XTENSA_SLOT10_ALT,
4361 BFD_RELOC_XTENSA_SLOT11_ALT,
4362 BFD_RELOC_XTENSA_SLOT12_ALT,
4363 BFD_RELOC_XTENSA_SLOT13_ALT,
4364 BFD_RELOC_XTENSA_SLOT14_ALT,
4365
4366/* Xtensa relocations for backward compatibility. These have all been
4367replaced by BFD_RELOC_XTENSA_SLOT0_OP. */
3473 BFD_RELOC_XTENSA_OP0,
3474 BFD_RELOC_XTENSA_OP1,
3475 BFD_RELOC_XTENSA_OP2,
3476
4368 BFD_RELOC_XTENSA_OP0,
4369 BFD_RELOC_XTENSA_OP1,
4370 BFD_RELOC_XTENSA_OP2,
4371
3477/* Xtensa relocation to mark that the assembler expanded the
4372/* Xtensa relocation to mark that the assembler expanded the
3478instructions from an original target. The expansion size is
3479encoded in the reloc size. */
3480 BFD_RELOC_XTENSA_ASM_EXPAND,
3481
4373instructions from an original target. The expansion size is
4374encoded in the reloc size. */
4375 BFD_RELOC_XTENSA_ASM_EXPAND,
4376
3482/* Xtensa relocation to mark that the linker should simplify
3483assembler-expanded instructions. This is commonly used
3484internally by the linker after analysis of a
4377/* Xtensa relocation to mark that the linker should simplify
4378assembler-expanded instructions. This is commonly used
4379internally by the linker after analysis of a
3485BFD_RELOC_XTENSA_ASM_EXPAND. */
3486 BFD_RELOC_XTENSA_ASM_SIMPLIFY,
4380BFD_RELOC_XTENSA_ASM_EXPAND. */
4381 BFD_RELOC_XTENSA_ASM_SIMPLIFY,
4382
4383/* 8 bit signed offset in (ix+d) or (iy+d). */
4384 BFD_RELOC_Z80_DISP8,
4385
4386/* DJNZ offset. */
4387 BFD_RELOC_Z8K_DISP7,
4388
4389/* CALR offset. */
4390 BFD_RELOC_Z8K_CALLR,
4391
4392/* 4 bit value. */
4393 BFD_RELOC_Z8K_IMM4L,
3487 BFD_RELOC_UNUSED };
3488typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
3489reloc_howto_type *bfd_reloc_type_lookup
3490 (bfd *abfd, bfd_reloc_code_real_type code);
4394 BFD_RELOC_UNUSED };
4395typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
4396reloc_howto_type *bfd_reloc_type_lookup
4397 (bfd *abfd, bfd_reloc_code_real_type code);
4398reloc_howto_type *bfd_reloc_name_lookup
4399 (bfd *abfd, const char *reloc_name);
3491
3492const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
3493
3494/* Extracted from syms.c. */
3495
3496typedef struct bfd_symbol
3497{
3498 /* A pointer to the BFD which owns the symbol. This information

--- 96 unchanged lines hidden (view full) ---

3595 /* This symbol is a debugging symbol. The value is the offset
3596 into the section of the data. BSF_DEBUGGING should be set
3597 as well. */
3598#define BSF_DEBUGGING_RELOC 0x20000
3599
3600 /* This symbol is thread local. Used in ELF. */
3601#define BSF_THREAD_LOCAL 0x40000
3602
4400
4401const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
4402
4403/* Extracted from syms.c. */
4404
4405typedef struct bfd_symbol
4406{
4407 /* A pointer to the BFD which owns the symbol. This information

--- 96 unchanged lines hidden (view full) ---

4504 /* This symbol is a debugging symbol. The value is the offset
4505 into the section of the data. BSF_DEBUGGING should be set
4506 as well. */
4507#define BSF_DEBUGGING_RELOC 0x20000
4508
4509 /* This symbol is thread local. Used in ELF. */
4510#define BSF_THREAD_LOCAL 0x40000
4511
4512 /* This symbol represents a complex relocation expression,
4513 with the expression tree serialized in the symbol name. */
4514#define BSF_RELC 0x80000
4515
4516 /* This symbol represents a signed complex relocation expression,
4517 with the expression tree serialized in the symbol name. */
4518#define BSF_SRELC 0x100000
4519
3603 flagword flags;
3604
3605 /* A pointer to the section to which this symbol is
3606 relative. This will always be non NULL, there are special
3607 sections for undefined and absolute symbols. */
3608 struct bfd_section *section;
3609
3610 /* Back end special data. */

--- 11 unchanged lines hidden (view full) ---

3622
3623bfd_boolean bfd_is_local_label (bfd *abfd, asymbol *sym);
3624
3625bfd_boolean bfd_is_local_label_name (bfd *abfd, const char *name);
3626
3627#define bfd_is_local_label_name(abfd, name) \
3628 BFD_SEND (abfd, _bfd_is_local_label_name, (abfd, name))
3629
4520 flagword flags;
4521
4522 /* A pointer to the section to which this symbol is
4523 relative. This will always be non NULL, there are special
4524 sections for undefined and absolute symbols. */
4525 struct bfd_section *section;
4526
4527 /* Back end special data. */

--- 11 unchanged lines hidden (view full) ---

4539
4540bfd_boolean bfd_is_local_label (bfd *abfd, asymbol *sym);
4541
4542bfd_boolean bfd_is_local_label_name (bfd *abfd, const char *name);
4543
4544#define bfd_is_local_label_name(abfd, name) \
4545 BFD_SEND (abfd, _bfd_is_local_label_name, (abfd, name))
4546
4547bfd_boolean bfd_is_target_special_symbol (bfd *abfd, asymbol *sym);
4548
4549#define bfd_is_target_special_symbol(abfd, sym) \
4550 BFD_SEND (abfd, _bfd_is_target_special_symbol, (abfd, sym))
4551
3630#define bfd_canonicalize_symtab(abfd, location) \
3631 BFD_SEND (abfd, _bfd_canonicalize_symtab, (abfd, location))
3632
3633bfd_boolean bfd_set_symtab
3634 (bfd *abfd, asymbol **location, unsigned int count);
3635
3636void bfd_print_symbol_vandf (bfd *abfd, void *file, asymbol *symbol);
3637

--- 25 unchanged lines hidden (view full) ---

3663 unsigned int id;
3664
3665 /* The filename the application opened the BFD with. */
3666 const char *filename;
3667
3668 /* A pointer to the target jump table. */
3669 const struct bfd_target *xvec;
3670
4552#define bfd_canonicalize_symtab(abfd, location) \
4553 BFD_SEND (abfd, _bfd_canonicalize_symtab, (abfd, location))
4554
4555bfd_boolean bfd_set_symtab
4556 (bfd *abfd, asymbol **location, unsigned int count);
4557
4558void bfd_print_symbol_vandf (bfd *abfd, void *file, asymbol *symbol);
4559

--- 25 unchanged lines hidden (view full) ---

4585 unsigned int id;
4586
4587 /* The filename the application opened the BFD with. */
4588 const char *filename;
4589
4590 /* A pointer to the target jump table. */
4591 const struct bfd_target *xvec;
4592
3671 /* To avoid dragging too many header files into every file that
3672 includes `<<bfd.h>>', IOSTREAM has been declared as a "char *",
3673 and MTIME as a "long". Their correct types, to which they
3674 are cast when used, are "FILE *" and "time_t". The iostream
3675 is the result of an fopen on the filename. However, if the
3676 BFD_IN_MEMORY flag is set, then iostream is actually a pointer
3677 to a bfd_in_memory struct. */
4593 /* The IOSTREAM, and corresponding IO vector that provide access
4594 to the file backing the BFD. */
3678 void *iostream;
4595 void *iostream;
4596 const struct bfd_iovec *iovec;
3679
3680 /* Is the file descriptor being cached? That is, can it be closed as
3681 needed, and re-opened when accessed later? */
3682 bfd_boolean cacheable;
3683
3684 /* Marks whether there was a default target specified when the
3685 BFD was opened. This is used to select which matching algorithm
3686 to use to choose the back end. */

--- 46 unchanged lines hidden (view full) ---

3733 bfd_boolean output_has_begun;
3734
3735 /* A hash table for section names. */
3736 struct bfd_hash_table section_htab;
3737
3738 /* Pointer to linked list of sections. */
3739 struct bfd_section *sections;
3740
4597
4598 /* Is the file descriptor being cached? That is, can it be closed as
4599 needed, and re-opened when accessed later? */
4600 bfd_boolean cacheable;
4601
4602 /* Marks whether there was a default target specified when the
4603 BFD was opened. This is used to select which matching algorithm
4604 to use to choose the back end. */

--- 46 unchanged lines hidden (view full) ---

4651 bfd_boolean output_has_begun;
4652
4653 /* A hash table for section names. */
4654 struct bfd_hash_table section_htab;
4655
4656 /* Pointer to linked list of sections. */
4657 struct bfd_section *sections;
4658
3741 /* The place where we add to the section list. */
3742 struct bfd_section **section_tail;
4659 /* The last section on the section list. */
4660 struct bfd_section *section_last;
3743
3744 /* The number of sections. */
3745 unsigned int section_count;
3746
3747 /* Stuff only useful for object files:
3748 The start address. */
3749 bfd_vma start_address;
3750

--- 4 unchanged lines hidden (view full) ---

3755 struct bfd_symbol **outsymbols;
3756
3757 /* Used for slurped dynamic symbol tables. */
3758 unsigned int dynsymcount;
3759
3760 /* Pointer to structure which contains architecture information. */
3761 const struct bfd_arch_info *arch_info;
3762
4661
4662 /* The number of sections. */
4663 unsigned int section_count;
4664
4665 /* Stuff only useful for object files:
4666 The start address. */
4667 bfd_vma start_address;
4668

--- 4 unchanged lines hidden (view full) ---

4673 struct bfd_symbol **outsymbols;
4674
4675 /* Used for slurped dynamic symbol tables. */
4676 unsigned int dynsymcount;
4677
4678 /* Pointer to structure which contains architecture information. */
4679 const struct bfd_arch_info *arch_info;
4680
4681 /* Flag set if symbols from this BFD should not be exported. */
4682 bfd_boolean no_export;
4683
3763 /* Stuff only useful for archives. */
3764 void *arelt_data;
3765 struct bfd *my_archive; /* The containing archive BFD. */
4684 /* Stuff only useful for archives. */
4685 void *arelt_data;
4686 struct bfd *my_archive; /* The containing archive BFD. */
3766 struct bfd *next; /* The next BFD in the archive. */
4687 struct bfd *archive_next; /* The next BFD in the archive. */
3767 struct bfd *archive_head; /* The first BFD in the archive. */
3768 bfd_boolean has_armap;
3769
3770 /* A chain of BFD structures involved in a link. */
3771 struct bfd *link_next;
3772
3773 /* A field used by _bfd_generic_link_add_archive_symbols. This will
3774 be used only for archive elements. */

--- 65 unchanged lines hidden (view full) ---

3840 bfd_error_file_not_recognized,
3841 bfd_error_file_ambiguously_recognized,
3842 bfd_error_no_contents,
3843 bfd_error_nonrepresentable_section,
3844 bfd_error_no_debug_section,
3845 bfd_error_bad_value,
3846 bfd_error_file_truncated,
3847 bfd_error_file_too_big,
4688 struct bfd *archive_head; /* The first BFD in the archive. */
4689 bfd_boolean has_armap;
4690
4691 /* A chain of BFD structures involved in a link. */
4692 struct bfd *link_next;
4693
4694 /* A field used by _bfd_generic_link_add_archive_symbols. This will
4695 be used only for archive elements. */

--- 65 unchanged lines hidden (view full) ---

4761 bfd_error_file_not_recognized,
4762 bfd_error_file_ambiguously_recognized,
4763 bfd_error_no_contents,
4764 bfd_error_nonrepresentable_section,
4765 bfd_error_no_debug_section,
4766 bfd_error_bad_value,
4767 bfd_error_file_truncated,
4768 bfd_error_file_too_big,
4769 bfd_error_on_input,
3848 bfd_error_invalid_error_code
3849}
3850bfd_error_type;
3851
3852bfd_error_type bfd_get_error (void);
3853
4770 bfd_error_invalid_error_code
4771}
4772bfd_error_type;
4773
4774bfd_error_type bfd_get_error (void);
4775
3854void bfd_set_error (bfd_error_type error_tag);
4776void bfd_set_error (bfd_error_type error_tag, ...);
3855
3856const char *bfd_errmsg (bfd_error_type error_tag);
3857
3858void bfd_perror (const char *message);
3859
3860typedef void (*bfd_error_handler_type) (const char *, ...);
3861
3862bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type);
3863
3864void bfd_set_error_program_name (const char *);
3865
3866bfd_error_handler_type bfd_get_error_handler (void);
3867
4777
4778const char *bfd_errmsg (bfd_error_type error_tag);
4779
4780void bfd_perror (const char *message);
4781
4782typedef void (*bfd_error_handler_type) (const char *, ...);
4783
4784bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type);
4785
4786void bfd_set_error_program_name (const char *);
4787
4788bfd_error_handler_type bfd_get_error_handler (void);
4789
3868const char *bfd_archive_filename (bfd *);
3869
3870long bfd_get_reloc_upper_bound (bfd *abfd, asection *sect);
3871
3872long bfd_canonicalize_reloc
3873 (bfd *abfd, asection *sec, arelent **loc, asymbol **syms);
3874
3875void bfd_set_reloc
3876 (bfd *abfd, asection *sec, arelent **rel, unsigned int count);
3877

--- 6 unchanged lines hidden (view full) ---

3884bfd_boolean bfd_set_start_address (bfd *abfd, bfd_vma vma);
3885
3886unsigned int bfd_get_gp_size (bfd *abfd);
3887
3888void bfd_set_gp_size (bfd *abfd, unsigned int i);
3889
3890bfd_vma bfd_scan_vma (const char *string, const char **end, int base);
3891
4790long bfd_get_reloc_upper_bound (bfd *abfd, asection *sect);
4791
4792long bfd_canonicalize_reloc
4793 (bfd *abfd, asection *sec, arelent **loc, asymbol **syms);
4794
4795void bfd_set_reloc
4796 (bfd *abfd, asection *sec, arelent **rel, unsigned int count);
4797

--- 6 unchanged lines hidden (view full) ---

4804bfd_boolean bfd_set_start_address (bfd *abfd, bfd_vma vma);
4805
4806unsigned int bfd_get_gp_size (bfd *abfd);
4807
4808void bfd_set_gp_size (bfd *abfd, unsigned int i);
4809
4810bfd_vma bfd_scan_vma (const char *string, const char **end, int base);
4811
4812bfd_boolean bfd_copy_private_header_data (bfd *ibfd, bfd *obfd);
4813
4814#define bfd_copy_private_header_data(ibfd, obfd) \
4815 BFD_SEND (obfd, _bfd_copy_private_header_data, \
4816 (ibfd, obfd))
3892bfd_boolean bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd);
3893
3894#define bfd_copy_private_bfd_data(ibfd, obfd) \
3895 BFD_SEND (obfd, _bfd_copy_private_bfd_data, \
3896 (ibfd, obfd))
3897bfd_boolean bfd_merge_private_bfd_data (bfd *ibfd, bfd *obfd);
3898
3899#define bfd_merge_private_bfd_data(ibfd, obfd) \
3900 BFD_SEND (obfd, _bfd_merge_private_bfd_data, \
3901 (ibfd, obfd))
3902bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags);
3903
3904#define bfd_set_private_flags(abfd, flags) \
3905 BFD_SEND (abfd, _bfd_set_private_flags, (abfd, flags))
4817bfd_boolean bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd);
4818
4819#define bfd_copy_private_bfd_data(ibfd, obfd) \
4820 BFD_SEND (obfd, _bfd_copy_private_bfd_data, \
4821 (ibfd, obfd))
4822bfd_boolean bfd_merge_private_bfd_data (bfd *ibfd, bfd *obfd);
4823
4824#define bfd_merge_private_bfd_data(ibfd, obfd) \
4825 BFD_SEND (obfd, _bfd_merge_private_bfd_data, \
4826 (ibfd, obfd))
4827bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags);
4828
4829#define bfd_set_private_flags(abfd, flags) \
4830 BFD_SEND (abfd, _bfd_set_private_flags, (abfd, flags))
3906#define bfd_sizeof_headers(abfd, reloc) \
3907 BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, reloc))
4831#define bfd_sizeof_headers(abfd, info) \
4832 BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, info))
3908
3909#define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
3910 BFD_SEND (abfd, _bfd_find_nearest_line, \
3911 (abfd, sec, syms, off, file, func, line))
3912
4833
4834#define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
4835 BFD_SEND (abfd, _bfd_find_nearest_line, \
4836 (abfd, sec, syms, off, file, func, line))
4837
4838#define bfd_find_line(abfd, syms, sym, file, line) \
4839 BFD_SEND (abfd, _bfd_find_line, \
4840 (abfd, syms, sym, file, line))
4841
4842#define bfd_find_inliner_info(abfd, file, func, line) \
4843 BFD_SEND (abfd, _bfd_find_inliner_info, \
4844 (abfd, file, func, line))
4845
3913#define bfd_debug_info_start(abfd) \
3914 BFD_SEND (abfd, _bfd_debug_info_start, (abfd))
3915
3916#define bfd_debug_info_end(abfd) \
3917 BFD_SEND (abfd, _bfd_debug_info_end, (abfd))
3918
3919#define bfd_debug_info_accumulate(abfd, section) \
3920 BFD_SEND (abfd, _bfd_debug_info_accumulate, (abfd, section))

--- 11 unchanged lines hidden (view full) ---

3932 BFD_SEND (abfd, _bfd_relax_section, (abfd, section, link_info, again))
3933
3934#define bfd_gc_sections(abfd, link_info) \
3935 BFD_SEND (abfd, _bfd_gc_sections, (abfd, link_info))
3936
3937#define bfd_merge_sections(abfd, link_info) \
3938 BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info))
3939
4846#define bfd_debug_info_start(abfd) \
4847 BFD_SEND (abfd, _bfd_debug_info_start, (abfd))
4848
4849#define bfd_debug_info_end(abfd) \
4850 BFD_SEND (abfd, _bfd_debug_info_end, (abfd))
4851
4852#define bfd_debug_info_accumulate(abfd, section) \
4853 BFD_SEND (abfd, _bfd_debug_info_accumulate, (abfd, section))

--- 11 unchanged lines hidden (view full) ---

4865 BFD_SEND (abfd, _bfd_relax_section, (abfd, section, link_info, again))
4866
4867#define bfd_gc_sections(abfd, link_info) \
4868 BFD_SEND (abfd, _bfd_gc_sections, (abfd, link_info))
4869
4870#define bfd_merge_sections(abfd, link_info) \
4871 BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info))
4872
4873#define bfd_is_group_section(abfd, sec) \
4874 BFD_SEND (abfd, _bfd_is_group_section, (abfd, sec))
4875
3940#define bfd_discard_group(abfd, sec) \
3941 BFD_SEND (abfd, _bfd_discard_group, (abfd, sec))
3942
3943#define bfd_link_hash_table_create(abfd) \
3944 BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd))
3945
3946#define bfd_link_hash_table_free(abfd, hash) \
3947 BFD_SEND (abfd, _bfd_link_hash_table_free, (hash))
3948
3949#define bfd_link_add_symbols(abfd, info) \
3950 BFD_SEND (abfd, _bfd_link_add_symbols, (abfd, info))
3951
4876#define bfd_discard_group(abfd, sec) \
4877 BFD_SEND (abfd, _bfd_discard_group, (abfd, sec))
4878
4879#define bfd_link_hash_table_create(abfd) \
4880 BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd))
4881
4882#define bfd_link_hash_table_free(abfd, hash) \
4883 BFD_SEND (abfd, _bfd_link_hash_table_free, (hash))
4884
4885#define bfd_link_add_symbols(abfd, info) \
4886 BFD_SEND (abfd, _bfd_link_add_symbols, (abfd, info))
4887
3952#define bfd_link_just_syms(sec, info) \
4888#define bfd_link_just_syms(abfd, sec, info) \
3953 BFD_SEND (abfd, _bfd_link_just_syms, (sec, info))
3954
3955#define bfd_final_link(abfd, info) \
3956 BFD_SEND (abfd, _bfd_final_link, (abfd, info))
3957
3958#define bfd_free_cached_info(abfd) \
3959 BFD_SEND (abfd, _bfd_free_cached_info, (abfd))
3960
3961#define bfd_get_dynamic_symtab_upper_bound(abfd) \
3962 BFD_SEND (abfd, _bfd_get_dynamic_symtab_upper_bound, (abfd))
3963
3964#define bfd_print_private_bfd_data(abfd, file)\
3965 BFD_SEND (abfd, _bfd_print_private_bfd_data, (abfd, file))
3966
3967#define bfd_canonicalize_dynamic_symtab(abfd, asymbols) \
3968 BFD_SEND (abfd, _bfd_canonicalize_dynamic_symtab, (abfd, asymbols))
3969
4889 BFD_SEND (abfd, _bfd_link_just_syms, (sec, info))
4890
4891#define bfd_final_link(abfd, info) \
4892 BFD_SEND (abfd, _bfd_final_link, (abfd, info))
4893
4894#define bfd_free_cached_info(abfd) \
4895 BFD_SEND (abfd, _bfd_free_cached_info, (abfd))
4896
4897#define bfd_get_dynamic_symtab_upper_bound(abfd) \
4898 BFD_SEND (abfd, _bfd_get_dynamic_symtab_upper_bound, (abfd))
4899
4900#define bfd_print_private_bfd_data(abfd, file)\
4901 BFD_SEND (abfd, _bfd_print_private_bfd_data, (abfd, file))
4902
4903#define bfd_canonicalize_dynamic_symtab(abfd, asymbols) \
4904 BFD_SEND (abfd, _bfd_canonicalize_dynamic_symtab, (abfd, asymbols))
4905
4906#define bfd_get_synthetic_symtab(abfd, count, syms, dyncount, dynsyms, ret) \
4907 BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, count, syms, \
4908 dyncount, dynsyms, ret))
4909
3970#define bfd_get_dynamic_reloc_upper_bound(abfd) \
3971 BFD_SEND (abfd, _bfd_get_dynamic_reloc_upper_bound, (abfd))
3972
3973#define bfd_canonicalize_dynamic_reloc(abfd, arels, asyms) \
3974 BFD_SEND (abfd, _bfd_canonicalize_dynamic_reloc, (abfd, arels, asyms))
3975
3976extern bfd_byte *bfd_get_relocated_section_contents
3977 (bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *,
3978 bfd_boolean, asymbol **);
3979
3980bfd_boolean bfd_alt_mach_code (bfd *abfd, int alternative);
3981
3982struct bfd_preserve
3983{
3984 void *marker;
3985 void *tdata;
3986 flagword flags;
3987 const struct bfd_arch_info *arch_info;
3988 struct bfd_section *sections;
4910#define bfd_get_dynamic_reloc_upper_bound(abfd) \
4911 BFD_SEND (abfd, _bfd_get_dynamic_reloc_upper_bound, (abfd))
4912
4913#define bfd_canonicalize_dynamic_reloc(abfd, arels, asyms) \
4914 BFD_SEND (abfd, _bfd_canonicalize_dynamic_reloc, (abfd, arels, asyms))
4915
4916extern bfd_byte *bfd_get_relocated_section_contents
4917 (bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *,
4918 bfd_boolean, asymbol **);
4919
4920bfd_boolean bfd_alt_mach_code (bfd *abfd, int alternative);
4921
4922struct bfd_preserve
4923{
4924 void *marker;
4925 void *tdata;
4926 flagword flags;
4927 const struct bfd_arch_info *arch_info;
4928 struct bfd_section *sections;
3989 struct bfd_section **section_tail;
4929 struct bfd_section *section_last;
3990 unsigned int section_count;
3991 struct bfd_hash_table section_htab;
3992};
3993
3994bfd_boolean bfd_preserve_save (bfd *, struct bfd_preserve *);
3995
3996void bfd_preserve_restore (bfd *, struct bfd_preserve *);
3997
3998void bfd_preserve_finish (bfd *, struct bfd_preserve *);
3999
4930 unsigned int section_count;
4931 struct bfd_hash_table section_htab;
4932};
4933
4934bfd_boolean bfd_preserve_save (bfd *, struct bfd_preserve *);
4935
4936void bfd_preserve_restore (bfd *, struct bfd_preserve *);
4937
4938void bfd_preserve_finish (bfd *, struct bfd_preserve *);
4939
4940bfd_vma bfd_emul_get_maxpagesize (const char *);
4941
4942void bfd_emul_set_maxpagesize (const char *, bfd_vma);
4943
4944bfd_vma bfd_emul_get_commonpagesize (const char *);
4945
4946void bfd_emul_set_commonpagesize (const char *, bfd_vma);
4947
4948char *bfd_demangle (bfd *, const char *, int);
4949
4000/* Extracted from archive.c. */
4001symindex bfd_get_next_mapent
4002 (bfd *abfd, symindex previous, carsym **sym);
4003
4004bfd_boolean bfd_set_archive_head (bfd *output, bfd *new_head);
4005
4006bfd *bfd_openr_next_archived_file (bfd *archive, bfd *previous);
4007
4008/* Extracted from corefile.c. */
4009const char *bfd_core_file_failing_command (bfd *abfd);
4010
4011int bfd_core_file_failing_signal (bfd *abfd);
4012
4013bfd_boolean core_file_matches_executable_p
4014 (bfd *core_bfd, bfd *exec_bfd);
4015
4950/* Extracted from archive.c. */
4951symindex bfd_get_next_mapent
4952 (bfd *abfd, symindex previous, carsym **sym);
4953
4954bfd_boolean bfd_set_archive_head (bfd *output, bfd *new_head);
4955
4956bfd *bfd_openr_next_archived_file (bfd *archive, bfd *previous);
4957
4958/* Extracted from corefile.c. */
4959const char *bfd_core_file_failing_command (bfd *abfd);
4960
4961int bfd_core_file_failing_signal (bfd *abfd);
4962
4963bfd_boolean core_file_matches_executable_p
4964 (bfd *core_bfd, bfd *exec_bfd);
4965
4966bfd_boolean generic_core_file_matches_executable_p
4967 (bfd *core_bfd, bfd *exec_bfd);
4968
4016/* Extracted from targets.c. */
4017#define BFD_SEND(bfd, message, arglist) \
4018 ((*((bfd)->xvec->message)) arglist)
4019
4020#ifdef DEBUG_BFD_SEND
4021#undef BFD_SEND
4022#define BFD_SEND(bfd, message, arglist) \
4023 (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \

--- 72 unchanged lines hidden (view full) ---

4096
4097 /* The pad character for file names within an archive header. */
4098 char ar_pad_char;
4099
4100 /* The maximum number of characters in an archive header. */
4101 unsigned short ar_max_namelen;
4102
4103 /* Entries for byte swapping for data. These are different from the
4969/* Extracted from targets.c. */
4970#define BFD_SEND(bfd, message, arglist) \
4971 ((*((bfd)->xvec->message)) arglist)
4972
4973#ifdef DEBUG_BFD_SEND
4974#undef BFD_SEND
4975#define BFD_SEND(bfd, message, arglist) \
4976 (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \

--- 72 unchanged lines hidden (view full) ---

5049
5050 /* The pad character for file names within an archive header. */
5051 char ar_pad_char;
5052
5053 /* The maximum number of characters in an archive header. */
5054 unsigned short ar_max_namelen;
5055
5056 /* Entries for byte swapping for data. These are different from the
4104 other entry points, since they don't take a BFD asthe first argument.
5057 other entry points, since they don't take a BFD as the first argument.
4105 Certain other handlers could do the same. */
4106 bfd_uint64_t (*bfd_getx64) (const void *);
4107 bfd_int64_t (*bfd_getx_signed_64) (const void *);
4108 void (*bfd_putx64) (bfd_uint64_t, void *);
4109 bfd_vma (*bfd_getx32) (const void *);
4110 bfd_signed_vma (*bfd_getx_signed_32) (const void *);
4111 void (*bfd_putx32) (bfd_vma, void *);
4112 bfd_vma (*bfd_getx16) (const void *);

--- 43 unchanged lines hidden (view full) ---

4156 (bfd *, sec_ptr, void *, file_ptr, bfd_size_type);
4157 bfd_boolean (*_bfd_get_section_contents_in_window)
4158 (bfd *, sec_ptr, bfd_window *, file_ptr, bfd_size_type);
4159
4160 /* Entry points to copy private data. */
4161#define BFD_JUMP_TABLE_COPY(NAME) \
4162 NAME##_bfd_copy_private_bfd_data, \
4163 NAME##_bfd_merge_private_bfd_data, \
5058 Certain other handlers could do the same. */
5059 bfd_uint64_t (*bfd_getx64) (const void *);
5060 bfd_int64_t (*bfd_getx_signed_64) (const void *);
5061 void (*bfd_putx64) (bfd_uint64_t, void *);
5062 bfd_vma (*bfd_getx32) (const void *);
5063 bfd_signed_vma (*bfd_getx_signed_32) (const void *);
5064 void (*bfd_putx32) (bfd_vma, void *);
5065 bfd_vma (*bfd_getx16) (const void *);

--- 43 unchanged lines hidden (view full) ---

5109 (bfd *, sec_ptr, void *, file_ptr, bfd_size_type);
5110 bfd_boolean (*_bfd_get_section_contents_in_window)
5111 (bfd *, sec_ptr, bfd_window *, file_ptr, bfd_size_type);
5112
5113 /* Entry points to copy private data. */
5114#define BFD_JUMP_TABLE_COPY(NAME) \
5115 NAME##_bfd_copy_private_bfd_data, \
5116 NAME##_bfd_merge_private_bfd_data, \
5117 _bfd_generic_init_private_section_data, \
4164 NAME##_bfd_copy_private_section_data, \
4165 NAME##_bfd_copy_private_symbol_data, \
5118 NAME##_bfd_copy_private_section_data, \
5119 NAME##_bfd_copy_private_symbol_data, \
5120 NAME##_bfd_copy_private_header_data, \
4166 NAME##_bfd_set_private_flags, \
4167 NAME##_bfd_print_private_bfd_data
4168
4169 /* Called to copy BFD general private data from one object file
4170 to another. */
4171 bfd_boolean (*_bfd_copy_private_bfd_data) (bfd *, bfd *);
4172 /* Called to merge BFD general private data from one object file
4173 to a common output file when linking. */
4174 bfd_boolean (*_bfd_merge_private_bfd_data) (bfd *, bfd *);
5121 NAME##_bfd_set_private_flags, \
5122 NAME##_bfd_print_private_bfd_data
5123
5124 /* Called to copy BFD general private data from one object file
5125 to another. */
5126 bfd_boolean (*_bfd_copy_private_bfd_data) (bfd *, bfd *);
5127 /* Called to merge BFD general private data from one object file
5128 to a common output file when linking. */
5129 bfd_boolean (*_bfd_merge_private_bfd_data) (bfd *, bfd *);
5130 /* Called to initialize BFD private section data from one object file
5131 to another. */
5132#define bfd_init_private_section_data(ibfd, isec, obfd, osec, link_info) \
5133 BFD_SEND (obfd, _bfd_init_private_section_data, (ibfd, isec, obfd, osec, link_info))
5134 bfd_boolean (*_bfd_init_private_section_data)
5135 (bfd *, sec_ptr, bfd *, sec_ptr, struct bfd_link_info *);
4175 /* Called to copy BFD private section data from one object file
4176 to another. */
4177 bfd_boolean (*_bfd_copy_private_section_data)
4178 (bfd *, sec_ptr, bfd *, sec_ptr);
4179 /* Called to copy BFD private symbol data from one symbol
4180 to another. */
4181 bfd_boolean (*_bfd_copy_private_symbol_data)
4182 (bfd *, asymbol *, bfd *, asymbol *);
5136 /* Called to copy BFD private section data from one object file
5137 to another. */
5138 bfd_boolean (*_bfd_copy_private_section_data)
5139 (bfd *, sec_ptr, bfd *, sec_ptr);
5140 /* Called to copy BFD private symbol data from one symbol
5141 to another. */
5142 bfd_boolean (*_bfd_copy_private_symbol_data)
5143 (bfd *, asymbol *, bfd *, asymbol *);
5144 /* Called to copy BFD private header data from one object file
5145 to another. */
5146 bfd_boolean (*_bfd_copy_private_header_data)
5147 (bfd *, bfd *);
4183 /* Called to set private backend flags. */
4184 bfd_boolean (*_bfd_set_private_flags) (bfd *, flagword);
4185
4186 /* Called to print private BFD data. */
4187 bfd_boolean (*_bfd_print_private_bfd_data) (bfd *, void *);
4188
4189 /* Core file entry points. */
4190#define BFD_JUMP_TABLE_CORE(NAME) \

--- 35 unchanged lines hidden (view full) ---

4226 /* Entry points used for symbols. */
4227#define BFD_JUMP_TABLE_SYMBOLS(NAME) \
4228 NAME##_get_symtab_upper_bound, \
4229 NAME##_canonicalize_symtab, \
4230 NAME##_make_empty_symbol, \
4231 NAME##_print_symbol, \
4232 NAME##_get_symbol_info, \
4233 NAME##_bfd_is_local_label_name, \
5148 /* Called to set private backend flags. */
5149 bfd_boolean (*_bfd_set_private_flags) (bfd *, flagword);
5150
5151 /* Called to print private BFD data. */
5152 bfd_boolean (*_bfd_print_private_bfd_data) (bfd *, void *);
5153
5154 /* Core file entry points. */
5155#define BFD_JUMP_TABLE_CORE(NAME) \

--- 35 unchanged lines hidden (view full) ---

5191 /* Entry points used for symbols. */
5192#define BFD_JUMP_TABLE_SYMBOLS(NAME) \
5193 NAME##_get_symtab_upper_bound, \
5194 NAME##_canonicalize_symtab, \
5195 NAME##_make_empty_symbol, \
5196 NAME##_print_symbol, \
5197 NAME##_get_symbol_info, \
5198 NAME##_bfd_is_local_label_name, \
5199 NAME##_bfd_is_target_special_symbol, \
4234 NAME##_get_lineno, \
4235 NAME##_find_nearest_line, \
5200 NAME##_get_lineno, \
5201 NAME##_find_nearest_line, \
5202 _bfd_generic_find_line, \
5203 NAME##_find_inliner_info, \
4236 NAME##_bfd_make_debug_symbol, \
4237 NAME##_read_minisymbols, \
4238 NAME##_minisymbol_to_symbol
4239
4240 long (*_bfd_get_symtab_upper_bound) (bfd *);
4241 long (*_bfd_canonicalize_symtab)
4242 (bfd *, struct bfd_symbol **);
4243 struct bfd_symbol *
4244 (*_bfd_make_empty_symbol) (bfd *);
4245 void (*_bfd_print_symbol)
4246 (bfd *, void *, struct bfd_symbol *, bfd_print_symbol_type);
4247#define bfd_print_symbol(b,p,s,e) BFD_SEND (b, _bfd_print_symbol, (b,p,s,e))
4248 void (*_bfd_get_symbol_info)
4249 (bfd *, struct bfd_symbol *, symbol_info *);
4250#define bfd_get_symbol_info(b,p,e) BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
4251 bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *);
5204 NAME##_bfd_make_debug_symbol, \
5205 NAME##_read_minisymbols, \
5206 NAME##_minisymbol_to_symbol
5207
5208 long (*_bfd_get_symtab_upper_bound) (bfd *);
5209 long (*_bfd_canonicalize_symtab)
5210 (bfd *, struct bfd_symbol **);
5211 struct bfd_symbol *
5212 (*_bfd_make_empty_symbol) (bfd *);
5213 void (*_bfd_print_symbol)
5214 (bfd *, void *, struct bfd_symbol *, bfd_print_symbol_type);
5215#define bfd_print_symbol(b,p,s,e) BFD_SEND (b, _bfd_print_symbol, (b,p,s,e))
5216 void (*_bfd_get_symbol_info)
5217 (bfd *, struct bfd_symbol *, symbol_info *);
5218#define bfd_get_symbol_info(b,p,e) BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
5219 bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *);
4252
5220 bfd_boolean (*_bfd_is_target_special_symbol) (bfd *, asymbol *);
4253 alent * (*_get_lineno) (bfd *, struct bfd_symbol *);
4254 bfd_boolean (*_bfd_find_nearest_line)
4255 (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
4256 const char **, const char **, unsigned int *);
5221 alent * (*_get_lineno) (bfd *, struct bfd_symbol *);
5222 bfd_boolean (*_bfd_find_nearest_line)
5223 (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
5224 const char **, const char **, unsigned int *);
5225 bfd_boolean (*_bfd_find_line)
5226 (bfd *, struct bfd_symbol **, struct bfd_symbol *,
5227 const char **, unsigned int *);
5228 bfd_boolean (*_bfd_find_inliner_info)
5229 (bfd *, const char **, const char **, unsigned int *);
4257 /* Back-door to allow format-aware applications to create debug symbols
4258 while using BFD for everything else. Currently used by the assembler
4259 when creating COFF files. */
4260 asymbol * (*_bfd_make_debug_symbol)
4261 (bfd *, void *, unsigned long size);
4262#define bfd_read_minisymbols(b, d, m, s) \
4263 BFD_SEND (b, _read_minisymbols, (b, d, m, s))
4264 long (*_read_minisymbols)
4265 (bfd *, bfd_boolean, void **, unsigned int *);
4266#define bfd_minisymbol_to_symbol(b, d, m, f) \
4267 BFD_SEND (b, _minisymbol_to_symbol, (b, d, m, f))
4268 asymbol * (*_minisymbol_to_symbol)
4269 (bfd *, bfd_boolean, const void *, asymbol *);
4270
4271 /* Routines for relocs. */
4272#define BFD_JUMP_TABLE_RELOCS(NAME) \
4273 NAME##_get_reloc_upper_bound, \
4274 NAME##_canonicalize_reloc, \
5230 /* Back-door to allow format-aware applications to create debug symbols
5231 while using BFD for everything else. Currently used by the assembler
5232 when creating COFF files. */
5233 asymbol * (*_bfd_make_debug_symbol)
5234 (bfd *, void *, unsigned long size);
5235#define bfd_read_minisymbols(b, d, m, s) \
5236 BFD_SEND (b, _read_minisymbols, (b, d, m, s))
5237 long (*_read_minisymbols)
5238 (bfd *, bfd_boolean, void **, unsigned int *);
5239#define bfd_minisymbol_to_symbol(b, d, m, f) \
5240 BFD_SEND (b, _minisymbol_to_symbol, (b, d, m, f))
5241 asymbol * (*_minisymbol_to_symbol)
5242 (bfd *, bfd_boolean, const void *, asymbol *);
5243
5244 /* Routines for relocs. */
5245#define BFD_JUMP_TABLE_RELOCS(NAME) \
5246 NAME##_get_reloc_upper_bound, \
5247 NAME##_canonicalize_reloc, \
4275 NAME##_bfd_reloc_type_lookup
5248 NAME##_bfd_reloc_type_lookup, \
5249 NAME##_bfd_reloc_name_lookup
4276
4277 long (*_get_reloc_upper_bound) (bfd *, sec_ptr);
4278 long (*_bfd_canonicalize_reloc)
4279 (bfd *, sec_ptr, arelent **, struct bfd_symbol **);
4280 /* See documentation on reloc types. */
4281 reloc_howto_type *
4282 (*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
5250
5251 long (*_get_reloc_upper_bound) (bfd *, sec_ptr);
5252 long (*_bfd_canonicalize_reloc)
5253 (bfd *, sec_ptr, arelent **, struct bfd_symbol **);
5254 /* See documentation on reloc types. */
5255 reloc_howto_type *
5256 (*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
5257 reloc_howto_type *
5258 (*reloc_name_lookup) (bfd *, const char *);
4283
5259
5260
4284 /* Routines used when writing an object file. */
4285#define BFD_JUMP_TABLE_WRITE(NAME) \
4286 NAME##_set_arch_mach, \
4287 NAME##_set_section_contents
4288
4289 bfd_boolean (*_bfd_set_arch_mach)
4290 (bfd *, enum bfd_architecture, unsigned long);
4291 bfd_boolean (*_bfd_set_section_contents)

--- 7 unchanged lines hidden (view full) ---

4299 NAME##_bfd_link_hash_table_create, \
4300 NAME##_bfd_link_hash_table_free, \
4301 NAME##_bfd_link_add_symbols, \
4302 NAME##_bfd_link_just_syms, \
4303 NAME##_bfd_final_link, \
4304 NAME##_bfd_link_split_section, \
4305 NAME##_bfd_gc_sections, \
4306 NAME##_bfd_merge_sections, \
5261 /* Routines used when writing an object file. */
5262#define BFD_JUMP_TABLE_WRITE(NAME) \
5263 NAME##_set_arch_mach, \
5264 NAME##_set_section_contents
5265
5266 bfd_boolean (*_bfd_set_arch_mach)
5267 (bfd *, enum bfd_architecture, unsigned long);
5268 bfd_boolean (*_bfd_set_section_contents)

--- 7 unchanged lines hidden (view full) ---

5276 NAME##_bfd_link_hash_table_create, \
5277 NAME##_bfd_link_hash_table_free, \
5278 NAME##_bfd_link_add_symbols, \
5279 NAME##_bfd_link_just_syms, \
5280 NAME##_bfd_final_link, \
5281 NAME##_bfd_link_split_section, \
5282 NAME##_bfd_gc_sections, \
5283 NAME##_bfd_merge_sections, \
4307 NAME##_bfd_discard_group
5284 NAME##_bfd_is_group_section, \
5285 NAME##_bfd_discard_group, \
5286 NAME##_section_already_linked \
4308
5287
4309 int (*_bfd_sizeof_headers) (bfd *, bfd_boolean);
5288 int (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
4310 bfd_byte * (*_bfd_get_relocated_section_contents)
4311 (bfd *, struct bfd_link_info *, struct bfd_link_order *,
4312 bfd_byte *, bfd_boolean, struct bfd_symbol **);
4313
4314 bfd_boolean (*_bfd_relax_section)
4315 (bfd *, struct bfd_section *, struct bfd_link_info *, bfd_boolean *);
4316
4317 /* Create a hash table for the linker. Different backends store

--- 18 unchanged lines hidden (view full) ---

4336 bfd_boolean (*_bfd_link_split_section) (bfd *, struct bfd_section *);
4337
4338 /* Remove sections that are not referenced from the output. */
4339 bfd_boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *);
4340
4341 /* Attempt to merge SEC_MERGE sections. */
4342 bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
4343
5289 bfd_byte * (*_bfd_get_relocated_section_contents)
5290 (bfd *, struct bfd_link_info *, struct bfd_link_order *,
5291 bfd_byte *, bfd_boolean, struct bfd_symbol **);
5292
5293 bfd_boolean (*_bfd_relax_section)
5294 (bfd *, struct bfd_section *, struct bfd_link_info *, bfd_boolean *);
5295
5296 /* Create a hash table for the linker. Different backends store

--- 18 unchanged lines hidden (view full) ---

5315 bfd_boolean (*_bfd_link_split_section) (bfd *, struct bfd_section *);
5316
5317 /* Remove sections that are not referenced from the output. */
5318 bfd_boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *);
5319
5320 /* Attempt to merge SEC_MERGE sections. */
5321 bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
5322
5323 /* Is this section a member of a group? */
5324 bfd_boolean (*_bfd_is_group_section) (bfd *, const struct bfd_section *);
5325
4344 /* Discard members of a group. */
4345 bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *);
4346
5326 /* Discard members of a group. */
5327 bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *);
5328
5329 /* Check if SEC has been already linked during a reloceatable or
5330 final link. */
5331 void (*_section_already_linked) (bfd *, struct bfd_section *,
5332 struct bfd_link_info *);
5333
4347 /* Routines to handle dynamic symbols and relocs. */
4348#define BFD_JUMP_TABLE_DYNAMIC(NAME) \
4349 NAME##_get_dynamic_symtab_upper_bound, \
4350 NAME##_canonicalize_dynamic_symtab, \
5334 /* Routines to handle dynamic symbols and relocs. */
5335#define BFD_JUMP_TABLE_DYNAMIC(NAME) \
5336 NAME##_get_dynamic_symtab_upper_bound, \
5337 NAME##_canonicalize_dynamic_symtab, \
5338 NAME##_get_synthetic_symtab, \
4351 NAME##_get_dynamic_reloc_upper_bound, \
4352 NAME##_canonicalize_dynamic_reloc
4353
4354 /* Get the amount of memory required to hold the dynamic symbols. */
4355 long (*_bfd_get_dynamic_symtab_upper_bound) (bfd *);
4356 /* Read in the dynamic symbols. */
4357 long (*_bfd_canonicalize_dynamic_symtab)
4358 (bfd *, struct bfd_symbol **);
5339 NAME##_get_dynamic_reloc_upper_bound, \
5340 NAME##_canonicalize_dynamic_reloc
5341
5342 /* Get the amount of memory required to hold the dynamic symbols. */
5343 long (*_bfd_get_dynamic_symtab_upper_bound) (bfd *);
5344 /* Read in the dynamic symbols. */
5345 long (*_bfd_canonicalize_dynamic_symtab)
5346 (bfd *, struct bfd_symbol **);
5347 /* Create synthetized symbols. */
5348 long (*_bfd_get_synthetic_symtab)
5349 (bfd *, long, struct bfd_symbol **, long, struct bfd_symbol **,
5350 struct bfd_symbol **);
4359 /* Get the amount of memory required to hold the dynamic relocs. */
4360 long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *);
4361 /* Read in the dynamic relocs. */
4362 long (*_bfd_canonicalize_dynamic_reloc)
4363 (bfd *, arelent **, struct bfd_symbol **);
4364
4365 /* Opposite endian version of this target. */
4366 const struct bfd_target * alternative_target;

--- 25 unchanged lines hidden (view full) ---

4392const char *bfd_format_string (bfd_format format);
4393
4394/* Extracted from linker.c. */
4395bfd_boolean bfd_link_split_section (bfd *abfd, asection *sec);
4396
4397#define bfd_link_split_section(abfd, sec) \
4398 BFD_SEND (abfd, _bfd_link_split_section, (abfd, sec))
4399
5351 /* Get the amount of memory required to hold the dynamic relocs. */
5352 long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *);
5353 /* Read in the dynamic relocs. */
5354 long (*_bfd_canonicalize_dynamic_reloc)
5355 (bfd *, arelent **, struct bfd_symbol **);
5356
5357 /* Opposite endian version of this target. */
5358 const struct bfd_target * alternative_target;

--- 25 unchanged lines hidden (view full) ---

5384const char *bfd_format_string (bfd_format format);
5385
5386/* Extracted from linker.c. */
5387bfd_boolean bfd_link_split_section (bfd *abfd, asection *sec);
5388
5389#define bfd_link_split_section(abfd, sec) \
5390 BFD_SEND (abfd, _bfd_link_split_section, (abfd, sec))
5391
5392void bfd_section_already_linked (bfd *abfd, asection *sec,
5393 struct bfd_link_info *info);
5394
5395#define bfd_section_already_linked(abfd, sec, info) \
5396 BFD_SEND (abfd, _section_already_linked, (abfd, sec, info))
5397
4400/* Extracted from simple.c. */
4401bfd_byte *bfd_simple_get_relocated_section_contents
4402 (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table);
4403
4404#ifdef __cplusplus
4405}
4406#endif
4407#endif
5398/* Extracted from simple.c. */
5399bfd_byte *bfd_simple_get_relocated_section_contents
5400 (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table);
5401
5402#ifdef __cplusplus
5403}
5404#endif
5405#endif