aboutsummaryrefslogtreecommitdiff
path: root/bfd/bfd-in2.h
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1994-11-17 22:46:22 +0000
committerKen Raeburn <raeburn@cygnus>1994-11-17 22:46:22 +0000
commitfca2b81b889bd762c39d781887d97ef5bfcb5e36 (patch)
tree7b42bb3399becced24f3f174fe44601033f83454 /bfd/bfd-in2.h
parentb68a74d19339c64ee0dfcf24f261ea608c72c559 (diff)
downloadgdb-fca2b81b889bd762c39d781887d97ef5bfcb5e36.zip
gdb-fca2b81b889bd762c39d781887d97ef5bfcb5e36.tar.gz
gdb-fca2b81b889bd762c39d781887d97ef5bfcb5e36.tar.bz2
* reloc.c (bfd_reloc_code_type): Add new value BFD_RELOC_12_PCREL.
* bfd-in2.h, libbfd.h: Rebuilt.
Diffstat (limited to 'bfd/bfd-in2.h')
-rw-r--r--bfd/bfd-in2.h43
1 files changed, 30 insertions, 13 deletions
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 74cef22..9beb971 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -545,11 +545,11 @@ extern boolean bfd_elf32_record_link_assignment
extern boolean bfd_elf64_record_link_assignment
PARAMS ((bfd *, struct bfd_link_info *, const char *));
extern boolean bfd_elf32_size_dynamic_sections
- PARAMS ((bfd *, const char *, const char *, struct bfd_link_info *,
- struct sec **));
+ PARAMS ((bfd *, const char *, const char *, boolean,
+ struct bfd_link_info *, struct sec **));
extern boolean bfd_elf64_size_dynamic_sections
- PARAMS ((bfd *, const char *, const char *, struct bfd_link_info *,
- struct sec **));
+ PARAMS ((bfd *, const char *, const char *, boolean,
+ struct bfd_link_info *, struct sec **));
extern void bfd_elf_set_dt_needed_name PARAMS ((bfd *, const char *));
/* SunOS shared library support routines for the linker. */
@@ -1277,6 +1277,15 @@ bfd_perform_relocation
bfd *output_bfd,
char **error_message));
+bfd_reloc_status_type
+
+bfd_install_relocation
+ PARAMS ((bfd *abfd,
+ arelent *reloc_entry,
+ PTR data, bfd_vma data_start,
+ asection *input_section,
+ char **error_message));
+
enum bfd_reloc_code_real {
_dummy_first_bfd_reloc_code_real,
@@ -1298,6 +1307,7 @@ The 24-bit relocation is used in some Intel 960 configurations. */
BFD_RELOC_32_PCREL,
BFD_RELOC_24_PCREL,
BFD_RELOC_16_PCREL,
+ BFD_RELOC_12_PCREL,
BFD_RELOC_8_PCREL,
/* Linkage-table relative. */
@@ -1308,11 +1318,12 @@ The 24-bit relocation is used in some Intel 960 configurations. */
/* Absolute 8-bit relocation, but used to form an address like 0xFFnn. */
BFD_RELOC_8_FFnn,
-/* These PC-relative relocations are stored as word displacements -- i.e.,
-byte displacements shifted right two bits. The 30-bit word displacement
-(<<32_PCREL_S2>> -- 32 bits, shifted 2) is used on the SPARC. The signed
-16-bit displacement is used on the MIPS, and the 23-bit displacement is
-used on the Alpha. */
+/* These PC-relative relocations are stored as word displacements --
+i.e., byte displacements shifted right two bits. The 30-bit word
+displacement (<<32_PCREL_S2>> -- 32 bits, shifted 2) is used on the
+SPARC. (SPARC tools generally refer to this as <<WDISP30>>.) The
+signed 16-bit displacement is used on the MIPS, and the 23-bit
+displacement is used on the Alpha. */
BFD_RELOC_32_PCREL_S2,
BFD_RELOC_16_PCREL_S2,
BFD_RELOC_23_PCREL_S2,
@@ -1609,12 +1620,15 @@ typedef struct symbol_cache_entry
/* A pointer to the section to which this symbol is
relative. This will always be non NULL, there are special
- sections for undefined and absolute symbols */
+ sections for undefined and absolute symbols. */
struct sec *section;
- /* Back end special data. This is being phased out in favour
- of making this a union. */
- PTR udata;
+ /* Back end special data. */
+ union
+ {
+ PTR p;
+ bfd_vma i;
+ } udata;
} asymbol;
#define bfd_get_symtab_upper_bound(abfd) \
@@ -2057,6 +2071,7 @@ CAT(NAME,_core_file_matches_executable_p)
#define BFD_JUMP_TABLE_ARCHIVE(NAME)\
CAT(NAME,_slurp_armap),\
CAT(NAME,_slurp_extended_name_table),\
+CAT(NAME,_construct_extended_name_table),\
CAT(NAME,_truncate_arname),\
CAT(NAME,_write_armap),\
CAT(NAME,_openr_next_archived_file),\
@@ -2064,6 +2079,8 @@ CAT(NAME,_generic_stat_arch_elt),\
CAT(NAME,_update_armap_timestamp)
boolean (*_bfd_slurp_armap) PARAMS ((bfd *));
boolean (*_bfd_slurp_extended_name_table) PARAMS ((bfd *));
+ boolean (*_bfd_construct_extended_name_table)
+ PARAMS ((bfd *, char **, bfd_size_type *, const char **));
void (*_bfd_truncate_arname) PARAMS ((bfd *, CONST char *, char *));
boolean (*write_armap) PARAMS ((bfd *arch,
unsigned int elength,