#include "bfd.h"#include "sysdep.h"#include "libbfd.h"#include "coff/i960.h"#include "coff/internal.h"#include "libcoff.h"#include "coffcode.h"

Go to the source code of this file.
| #define BADMAG | ( | x | ) | I960BADMAG(x) |
Definition at line 27 of file coff-i960.c.
| #define BAL 0x0b000000 |
Definition at line 104 of file coff-i960.c.
| #define BAL_MASK 0x00ffffff |
Definition at line 105 of file coff-i960.c.
Value:
{ \
coff_symbol_type *coffsym = (coff_symbol_type *) NULL; \
if (ptr && bfd_asymbol_bfd (ptr) != abfd) \
coffsym = (obj_symbols (abfd) \
+ (cache_ptr->sym_ptr_ptr - symbols)); \
else if (ptr) \
coffsym = coff_symbol_from (abfd, ptr); \
if (coffsym != (coff_symbol_type *) NULL \
&& coffsym->native->u.syment.n_scnum == 0) \
cache_ptr->addend = 0; \
else if (ptr && bfd_asymbol_bfd (ptr) == abfd \
&& ptr->section != (asection *) NULL) \
cache_ptr->addend = - (ptr->section->vma + ptr->value); \
else \
cache_ptr->addend = 0; \
if (ptr && (reloc.r_type == 25 || reloc.r_type == 27)) \
cache_ptr->addend += asect->vma; \
}
Definition at line 82 of file coff-i960.c.
| #define CALLS 0x66003800 |
Definition at line 103 of file coff-i960.c.
| #define coff_adjust_symndx coff_i960_adjust_symndx |
Definition at line 617 of file coff-i960.c.
| #define COFF_ALIGN_IN_SECTION_HEADER 1 |
Definition at line 54 of file coff-i960.c.
| #define coff_bfd_is_local_label_name coff_i960_is_local_label_name |
Definition at line 611 of file coff-i960.c.
| #define coff_bfd_reloc_type_lookup coff_i960_reloc_type_lookup |
Definition at line 619 of file coff-i960.c.
| #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3) |
Definition at line 53 of file coff-i960.c.
| #define COFF_LONG_FILENAMES |
Definition at line 63 of file coff-i960.c.
| #define COFF_PAGE_SIZE 1 |
Definition at line 61 of file coff-i960.c.
| #define coff_relocate_section coff_i960_relocate_section |
Definition at line 615 of file coff-i960.c.
| #define coff_start_final_link coff_i960_start_final_link |
Definition at line 613 of file coff-i960.c.
| #define GET_SCNHDR_ALIGN H_GET_32 |
Definition at line 56 of file coff-i960.c.
| #define I960 1 |
Definition at line 26 of file coff-i960.c.
| #define PUT_SCNHDR_ALIGN H_PUT_32 |
Definition at line 57 of file coff-i960.c.
Value:
{ \
reloc_howto_type *howto_ptr; \
switch ((dst)->r_type) { \
case 17: howto_ptr = &howto_rellong; break; \
case 25: howto_ptr = &howto_iprmed; break; \
case 27: howto_ptr = &howto_optcall; break; \
default: howto_ptr = 0; break; \
} \
(cache_ptr)->howto = howto_ptr; \
}
Definition at line 305 of file coff-i960.c.
| static bfd_boolean coff_i960_adjust_symndx | ( | obfd | , | |
| info | , | |||
| bfd * | ibfd, | |||
| sec | , | |||
| struct internal_reloc * | irel, | |||
| bfd_boolean * | adjustedp | |||
| ) | [static] |
Definition at line 587 of file coff-i960.c.
References bfd_link_hash_defined, bfd_link_hash_defweak, bfd_link_hash_entry::def, FALSE, h, NULL, obj_coff_sym_hashes, internal_reloc::r_symndx, coff_link_hash_entry::root, TRUE, bfd_link_hash_entry::type, and bfd_link_hash_entry::u.
| static bfd_boolean coff_i960_is_local_label_name | ( | abfd | , | |
| const char * | name | |||
| ) | [static] |
Definition at line 68 of file coff-i960.c.
| static reloc_howto_type* coff_i960_reloc_type_lookup | ( | abfd | , | |
| bfd_reloc_code_real_type | code | |||
| ) | [static] |
Definition at line 285 of file coff-i960.c.
References BFD_RELOC_24_PCREL, BFD_RELOC_32, BFD_RELOC_CTOR, and BFD_RELOC_I960_CALLJ.
| static bfd_reloc_status_type coff_i960_relocate | ( | bfd * | abfd, | |
| arelent * | reloc_entry, | |||
| asymbol * | symbol, | |||
| data | , | |||
| input_section | , | |||
| bfd * | output_bfd, | |||
| error_message | ||||
| ) | [static] |
Definition at line 198 of file coff-i960.c.
References abort, bfd_asymbol_name, bfd_get_outsymbols, bfd_get_section, bfd_get_section_name, bfd_get_symcount, bfd_is_com_section, bfd_is_und_section, bfd_reloc_continue, bfd_reloc_overflow, bfd_zalloc(), coff_section_data, NULL, PTR, strcmp(), reloc_cache_entry::sym_ptr_ptr, and bfd_section::used_by_bfd.
| static bfd_boolean coff_i960_relocate_section | ( | output_bfd | , | |
| struct bfd_link_info * | info, | |||
| bfd * | input_bfd, | |||
| asection * | input_section, | |||
| bfd_byte * | contents, | |||
| struct internal_reloc * | relocs, | |||
| struct internal_syment * | syms, | |||
| asection ** | sections | |||
| ) | [static] |
Definition at line 375 of file coff-i960.c.
References _, _bfd_coff_internal_syment_name(), _bfd_final_link_relocate(), abort, addend, coff_link_hash_entry::aux, BAL, BAL_MASK, bfd_abs_section_ptr, BFD_ASSERT, bfd_coff_swap_aux_in, bfd_coff_symesz, bfd_error_bad_value, bfd_get_32, bfd_link_hash_defined, bfd_link_hash_defweak, bfd_put_32, bfd_reloc_ok, bfd_reloc_overflow, bfd_set_error(), buf, C_LEAFEXT, C_LEAFSTAT, C_NULL, C_SCALL, bfd_link_info::callbacks, bfd_link_hash_entry::def, FALSE, h, internal_syment::n_numaux, internal_syment::n_sclass, internal_syment::n_scnum, internal_syment::n_type, internal_syment::n_value, reloc_howto_struct::name, NULL, coff_link_hash_entry::numaux, obj_coff_external_syms, obj_coff_sym_hashes, bfd_section::output_offset, bfd_section::output_section, reloc_howto_struct::pc_relative, PTR, R_OPTCALL, internal_reloc::r_symndx, internal_reloc::r_type, internal_reloc::r_vaddr, rel, bfd_section::reloc_count, bfd_link_callbacks::reloc_dangerous, bfd_link_callbacks::reloc_overflow, bfd_link_info::relocatable, coff_link_hash_entry::root, bfd_link_hash_entry::root, sec, bfd_hash_entry::string, sym, SYMNMLEN, TRUE, bfd_link_hash_entry::type, reloc_howto_struct::type, bfd_link_hash_entry::u, bfd_link_callbacks::undefined_symbol, val, bfd_section::vma, internal_auxent::x_bal, and internal_auxent::x_balntry.
| static bfd_boolean coff_i960_start_final_link | ( | bfd * | abfd, | |
| struct bfd_link_info * | info | |||
| ) | [static] |
Definition at line 327 of file coff-i960.c.
References internal_syment::_n, internal_syment::_n_name, bfd_bwrite(), bfd_coff_swap_sym_out, bfd_coff_symesz, bfd_malloc(), bfd_seek(), C_STAT, FALSE, free(), internal_syment::n_numaux, internal_syment::n_sclass, internal_syment::n_scnum, internal_syment::n_type, internal_syment::n_value, bfd_section::name, bfd_section::next, NULL, o, obj_raw_syment_count, obj_sym_filepos, PTR, bfd_link_info::relocatable, SEEK_SET, strncpy(), SYMNMLEN, T_NULL, bfd_section::target_index, and TRUE.
| static bfd_reloc_status_type optcall_callback | ( | bfd * | abfd, | |
| arelent * | reloc_entry, | |||
| asymbol * | symbol_in, | |||
| PTR | data, | |||
| asection * | input_section, | |||
| ignore_bfd | , | |||
| char ** | error_message | |||
| ) | [static] |
Definition at line 108 of file coff-i960.c.
References _, reloc_cache_entry::address, BAL, BAL_MASK, BFD_ASSERT, bfd_asymbol_flavour, bfd_get_32, bfd_is_und_section, bfd_put_32, bfd_reloc_dangerous, bfd_reloc_ok, bfd_target_coff_flavour, C_LEAFEXT, C_LEAFSTAT, C_SCALL, coffsymbol, cs, internal_syment::n_numaux, internal_syment::n_sclass, internal_syment::n_value, coff_symbol_struct::native, NULL, bfd_section::output_offset, result, bfd_symbol::section, coff_symbol_struct::symbol, coff_ptr_struct::syment, coff_ptr_struct::u, internal_auxent::x_bal, and internal_auxent::x_balntry.
| static bfd_boolean coff_i960_adjust_symndx PARAMS | ( | (bfd *, struct bfd_link_info *, bfd *, asection *, struct internal_reloc *, bfd_boolean *) | ) | [static] |
| static bfd_boolean coff_i960_relocate_section PARAMS | ( | (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, struct internal_reloc *, struct internal_syment *, asection **) | ) | [static] |
| static bfd_boolean coff_i960_start_final_link PARAMS | ( | (bfd *, struct bfd_link_info *) | ) | [static] |
| static reloc_howto_type* coff_i960_reloc_type_lookup PARAMS | ( | (bfd *, bfd_reloc_code_real_type) | ) | [static] |
| static bfd_reloc_status_type optcall_callback PARAMS | ( | (bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **) | ) | [static] |
| static bfd_boolean coff_i960_is_local_label_name PARAMS | ( | (bfd *, const char *) | ) | [static] |
reloc_howto_type howto_iprmed [static] |
Initial value:
HOWTO (R_IPRMED, 0, 2, 24,TRUE,0, complain_overflow_signed, coff_i960_relocate, "iprmed ", TRUE, 0x00ffffff, 0x00ffffff, 0)
Definition at line 277 of file coff-i960.c.
reloc_howto_type howto_optcall [static] |
Initial value:
HOWTO (R_OPTCALL, 0,2,24,TRUE,0, complain_overflow_signed, optcall_callback, "optcall", TRUE, 0x00ffffff, 0x00ffffff, 0)
Definition at line 280 of file coff-i960.c.
reloc_howto_type howto_rellong [static] |
Initial value:
HOWTO ((unsigned int) R_RELLONG, 0, 2, 32,FALSE, 0, complain_overflow_bitfield, coff_i960_relocate,"rellong", TRUE, 0xffffffff, 0xffffffff, 0)
Definition at line 273 of file coff-i960.c.
| const bfd_target icoff_big_vec |
Definition at line 627 of file coff-i960.c.
1.5.6