diff options
author | Ken Raeburn <raeburn@cygnus> | 1994-11-17 22:46:22 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@cygnus> | 1994-11-17 22:46:22 +0000 |
commit | fca2b81b889bd762c39d781887d97ef5bfcb5e36 (patch) | |
tree | 7b42bb3399becced24f3f174fe44601033f83454 /bfd/bfd-in2.h | |
parent | b68a74d19339c64ee0dfcf24f261ea608c72c559 (diff) | |
download | gdb-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.h | 43 |
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, |