osprey/cygnus/bfd/coff-i960.c File Reference

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

Include dependency graph for coff-i960.c:

Go to the source code of this file.

Defines

#define I960   1
#define BADMAG(x)   I960BADMAG(x)
#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER   (3)
#define COFF_ALIGN_IN_SECTION_HEADER   1
#define GET_SCNHDR_ALIGN   H_GET_32
#define PUT_SCNHDR_ALIGN   H_PUT_32
#define COFF_PAGE_SIZE   1
#define COFF_LONG_FILENAMES
#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)
#define CALLS   0x66003800
#define BAL   0x0b000000
#define BAL_MASK   0x00ffffff
#define RTYPE2HOWTO(cache_ptr, dst)
#define coff_bfd_is_local_label_name   coff_i960_is_local_label_name
#define coff_start_final_link   coff_i960_start_final_link
#define coff_relocate_section   coff_i960_relocate_section
#define coff_adjust_symndx   coff_i960_adjust_symndx
#define coff_bfd_reloc_type_lookup   coff_i960_reloc_type_lookup

Functions/Subroutines

static bfd_boolean
coff_i960_is_local_label_name 
PARAMS ((bfd *, const char *))
static bfd_reloc_status_type
optcall_callback 
PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **))
static reloc_howto_type
*coff_i960_reloc_type_lookup 
PARAMS ((bfd *, bfd_reloc_code_real_type))
static bfd_boolean
coff_i960_start_final_link 
PARAMS ((bfd *, struct bfd_link_info *))
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 bfd_boolean
coff_i960_adjust_symndx 
PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, struct internal_reloc *, bfd_boolean *))
static bfd_boolean coff_i960_is_local_label_name (abfd, const char *name)
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 bfd_reloc_status_type coff_i960_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, data, input_section, bfd *output_bfd, error_message)
static reloc_howto_typecoff_i960_reloc_type_lookup (abfd, bfd_reloc_code_real_type code)
static bfd_boolean coff_i960_start_final_link (bfd *abfd, struct bfd_link_info *info)
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 bfd_boolean coff_i960_adjust_symndx (obfd, info, bfd *ibfd, sec, struct internal_reloc *irel, bfd_boolean *adjustedp)

Variables

static reloc_howto_type howto_rellong
static reloc_howto_type howto_iprmed
static reloc_howto_type howto_optcall
const bfd_target icoff_big_vec


Define Documentation

#define BADMAG (  )     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.

#define CALC_ADDEND ( abfd,
ptr,
reloc,
cache_ptr   ) 

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.

#define RTYPE2HOWTO ( cache_ptr,
dst   ) 

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.


Function Documentation

static bfd_boolean coff_i960_adjust_symndx ( obfd  ,
info  ,
bfd ibfd,
sec  ,
struct internal_reloc irel,
bfd_boolean *  adjustedp 
) [static]

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]

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]

static bfd_boolean coff_i960_start_final_link ( bfd abfd,
struct bfd_link_info info 
) [static]

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]

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]


Variable Documentation

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.

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.

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.

Definition at line 627 of file coff-i960.c.


Generated on Wed Apr 8 14:46:55 2009 for Open64 by  doxygen 1.5.6