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 |