OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [bfd/] [coff64-rs6000.c] - Diff between revs 157 and 225

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 157 Rev 225
Line 1... Line 1...
/* BFD back-end for IBM RS/6000 "XCOFF64" files.
/* BFD back-end for IBM RS/6000 "XCOFF64" files.
   Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
   Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
   Free Software Foundation, Inc.
   Free Software Foundation, Inc.
   Written Clinton Popetz.
   Written Clinton Popetz.
   Contributed by Cygnus Support.
   Contributed by Cygnus Support.
 
 
   This file is part of BFD, the Binary File Descriptor library.
   This file is part of BFD, the Binary File Descriptor library.
Line 270... Line 270...
#define coff_SWAP_aux_out _bfd_xcoff64_swap_aux_out
#define coff_SWAP_aux_out _bfd_xcoff64_swap_aux_out
#define coff_swap_reloc_in xcoff64_swap_reloc_in
#define coff_swap_reloc_in xcoff64_swap_reloc_in
#define coff_swap_reloc_out xcoff64_swap_reloc_out
#define coff_swap_reloc_out xcoff64_swap_reloc_out
#define NO_COFF_RELOCS
#define NO_COFF_RELOCS
 
 
 
#ifndef bfd_pe_print_pdata
 
#define bfd_pe_print_pdata      NULL
 
#endif
 
 
#include "coffcode.h"
#include "coffcode.h"
 
 
/* For XCOFF64, the effective width of symndx changes depending on
/* For XCOFF64, the effective width of symndx changes depending on
   whether we are the first entry.  Sigh.  */
   whether we are the first entry.  Sigh.  */
static void
static void
Line 347... Line 351...
  H_PUT_8 (abfd, in->n_numaux, ext->e_numaux);
  H_PUT_8 (abfd, in->n_numaux, ext->e_numaux);
  return bfd_coff_symesz (abfd);
  return bfd_coff_symesz (abfd);
}
}
 
 
static void
static void
_bfd_xcoff64_swap_aux_in (abfd, ext1, type, class, indx, numaux, in1)
_bfd_xcoff64_swap_aux_in (abfd, ext1, type, in_class, indx, numaux, in1)
     bfd *abfd;
     bfd *abfd;
     PTR ext1;
     PTR ext1;
     int type;
     int type;
     int class;
     int in_class;
     int indx;
     int indx;
     int numaux;
     int numaux;
     PTR in1;
     PTR in1;
{
{
  union external_auxent *ext = (union external_auxent *) ext1;
  union external_auxent *ext = (union external_auxent *) ext1;
  union internal_auxent *in = (union internal_auxent *) in1;
  union internal_auxent *in = (union internal_auxent *) in1;
 
 
  switch (class)
  switch (in_class)
    {
    {
    case C_FILE:
    case C_FILE:
      if (ext->x_file.x_n.x_zeroes[0] == 0)
      if (ext->x_file.x_n.x_zeroes[0] == 0)
        {
        {
          in->x_file.x_n.x_zeroes = 0;
          in->x_file.x_n.x_zeroes = 0;
Line 375... Line 379...
        }
        }
      goto end;
      goto end;
 
 
      /* RS/6000 "csect" auxents */
      /* RS/6000 "csect" auxents */
    case C_EXT:
    case C_EXT:
 
    case C_AIX_WEAKEXT:
    case C_HIDEXT:
    case C_HIDEXT:
      if (indx + 1 == numaux)
      if (indx + 1 == numaux)
        {
        {
          bfd_signed_vma h = 0;
          bfd_signed_vma h = 0;
          bfd_vma l = 0;
          bfd_vma l = 0;
Line 413... Line 418...
          goto end;
          goto end;
        }
        }
      break;
      break;
    }
    }
 
 
  if (class == C_BLOCK || class == C_FCN || ISFCN (type) || ISTAG (class))
  if (in_class == C_BLOCK || in_class == C_FCN || ISFCN (type)
 
      || ISTAG (in_class))
    {
    {
      in->x_sym.x_fcnary.x_fcn.x_lnnoptr
      in->x_sym.x_fcnary.x_fcn.x_lnnoptr
        = H_GET_64 (abfd, ext->x_sym.x_fcnary.x_fcn.x_lnnoptr);
        = H_GET_64 (abfd, ext->x_sym.x_fcnary.x_fcn.x_lnnoptr);
      in->x_sym.x_fcnary.x_fcn.x_endndx.l
      in->x_sym.x_fcnary.x_fcn.x_endndx.l
        = H_GET_32 (abfd, ext->x_sym.x_fcnary.x_fcn.x_endndx);
        = H_GET_32 (abfd, ext->x_sym.x_fcnary.x_fcn.x_endndx);
Line 437... Line 443...
 
 
 end: ;
 end: ;
}
}
 
 
static unsigned int
static unsigned int
_bfd_xcoff64_swap_aux_out (abfd, inp, type, class, indx, numaux, extp)
_bfd_xcoff64_swap_aux_out (abfd, inp, type, in_class, indx, numaux, extp)
     bfd *abfd;
     bfd *abfd;
     PTR inp;
     PTR inp;
     int type;
     int type;
     int class;
     int in_class;
     int indx ATTRIBUTE_UNUSED;
     int indx ATTRIBUTE_UNUSED;
     int numaux ATTRIBUTE_UNUSED;
     int numaux ATTRIBUTE_UNUSED;
     PTR extp;
     PTR extp;
{
{
  union internal_auxent *in = (union internal_auxent *) inp;
  union internal_auxent *in = (union internal_auxent *) inp;
  union external_auxent *ext = (union external_auxent *) extp;
  union external_auxent *ext = (union external_auxent *) extp;
 
 
  memset ((PTR) ext, 0, bfd_coff_auxesz (abfd));
  memset ((PTR) ext, 0, bfd_coff_auxesz (abfd));
  switch (class)
  switch (in_class)
    {
    {
    case C_FILE:
    case C_FILE:
      if (in->x_file.x_n.x_zeroes == 0)
      if (in->x_file.x_n.x_zeroes == 0)
        {
        {
          H_PUT_32 (abfd, 0, ext->x_file.x_n.x_zeroes);
          H_PUT_32 (abfd, 0, ext->x_file.x_n.x_zeroes);
Line 467... Line 473...
      H_PUT_8 (abfd, _AUX_FILE, ext->x_auxtype.x_auxtype);
      H_PUT_8 (abfd, _AUX_FILE, ext->x_auxtype.x_auxtype);
      goto end;
      goto end;
 
 
      /* RS/6000 "csect" auxents */
      /* RS/6000 "csect" auxents */
    case C_EXT:
    case C_EXT:
 
    case C_AIX_WEAKEXT:
    case C_HIDEXT:
    case C_HIDEXT:
      if (indx + 1 == numaux)
      if (indx + 1 == numaux)
        {
        {
          bfd_vma temp;
          bfd_vma temp;
 
 
Line 498... Line 505...
          goto end;
          goto end;
        }
        }
      break;
      break;
    }
    }
 
 
  if (class == C_BLOCK || class == C_FCN || ISFCN (type) || ISTAG (class))
  if (in_class == C_BLOCK || in_class == C_FCN || ISFCN (type)
 
      || ISTAG (in_class))
    {
    {
      H_PUT_64 (abfd, in->x_sym.x_fcnary.x_fcn.x_lnnoptr,
      H_PUT_64 (abfd, in->x_sym.x_fcnary.x_fcn.x_lnnoptr,
               ext->x_sym.x_fcnary.x_fcn.x_lnnoptr);
               ext->x_sym.x_fcnary.x_fcn.x_lnnoptr);
      H_PUT_8 (abfd, _AUX_FCN,
      H_PUT_8 (abfd, _AUX_FCN,
               ext->x_auxtype.x_auxtype);
               ext->x_auxtype.x_auxtype);
Line 761... Line 769...
  file_ptr reloc_base;
  file_ptr reloc_base;
  file_ptr lineno_base;
  file_ptr lineno_base;
  file_ptr sym_base;
  file_ptr sym_base;
  unsigned long reloc_size = 0;
  unsigned long reloc_size = 0;
  unsigned long lnno_size = 0;
  unsigned long lnno_size = 0;
  bfd_boolean long_section_names;
 
  asection *text_sec = ((void *) 0);
  asection *text_sec = ((void *) 0);
  asection *data_sec = ((void *) 0);
  asection *data_sec = ((void *) 0);
  asection *bss_sec = ((void *) 0);
  asection *bss_sec = ((void *) 0);
  struct internal_filehdr internal_f;
  struct internal_filehdr internal_f;
  struct internal_aouthdr internal_a;
  struct internal_aouthdr internal_a;
Line 831... Line 838...
  internal_f.f_nscns = 0;
  internal_f.f_nscns = 0;
 
 
  if (bfd_seek (abfd, scn_base, SEEK_SET) != 0)
  if (bfd_seek (abfd, scn_base, SEEK_SET) != 0)
    return FALSE;
    return FALSE;
 
 
  long_section_names = FALSE;
 
  for (current = abfd->sections; current != NULL; current = current->next)
  for (current = abfd->sections; current != NULL; current = current->next)
    {
    {
      struct internal_scnhdr section;
      struct internal_scnhdr section;
      struct external_scnhdr buff;
      struct external_scnhdr buff;
      bfd_size_type amount;
      bfd_size_type amount;
Line 1044... Line 1050...
              internal_a.o_cputype = 4;
              internal_a.o_cputype = 4;
              break;
              break;
            case bfd_arch_powerpc:
            case bfd_arch_powerpc:
              if (bfd_get_mach (abfd) == bfd_mach_ppc)
              if (bfd_get_mach (abfd) == bfd_mach_ppc)
                internal_a.o_cputype = 3;
                internal_a.o_cputype = 3;
 
              else if (bfd_get_mach (abfd) == bfd_mach_ppc_620)
 
                internal_a.o_cputype = 2;
              else
              else
                internal_a.o_cputype = 1;
                internal_a.o_cputype = 1;
              break;
              break;
            default:
            default:
              abort ();
              abort ();
Line 1111... Line 1119...
     bfd_vma addend;
     bfd_vma addend;
     bfd_vma *relocation;
     bfd_vma *relocation;
     bfd_byte *contents;
     bfd_byte *contents;
{
{
  struct xcoff_link_hash_entry *h;
  struct xcoff_link_hash_entry *h;
 
  bfd_vma section_offset;
 
 
  if (0 > rel->r_symndx)
  if (0 > rel->r_symndx)
    return FALSE;
    return FALSE;
 
 
  h = obj_xcoff_sym_hashes (input_bfd)[rel->r_symndx];
  h = obj_xcoff_sym_hashes (input_bfd)[rel->r_symndx];
 
  section_offset = rel->r_vaddr - input_section->vma;
 
 
  /* If we see an R_BR or R_RBR reloc which is jumping to global
  /* If we see an R_BR or R_RBR reloc which is jumping to global
     linkage code, and it is followed by an appropriate cror nop
     linkage code, and it is followed by an appropriate cror nop
     instruction, we replace the cror with ld r2,40(r1).  This
     instruction, we replace the cror with ld r2,40(r1).  This
     restores the TOC after the glink code.  Contrariwise, if the
     restores the TOC after the glink code.  Contrariwise, if the
     call is followed by a ld r2,40(r1), but the call is not
     call is followed by a ld r2,40(r1), but the call is not
     going to global linkage code, we can replace the load with a
     going to global linkage code, we can replace the load with a
     cror.  */
     cror.  */
  if (NULL != h
  if (NULL != h
      && bfd_link_hash_defined == h->root.type
      && (bfd_link_hash_defined == h->root.type
      && rel->r_vaddr - input_section->vma + 8 <= input_section->size)
          || bfd_link_hash_defweak == h->root.type)
 
      && section_offset + 8 <= input_section->size)
    {
    {
      bfd_byte *pnext;
      bfd_byte *pnext;
      unsigned long next;
      unsigned long next;
 
 
      pnext = contents + (rel->r_vaddr - input_section->vma) + 4;
      pnext = contents + section_offset + 4;
      next = bfd_get_32 (input_bfd, pnext);
      next = bfd_get_32 (input_bfd, pnext);
 
 
      /* The _ptrgl function is magic.  It is used by the AIX compiler to call
      /* The _ptrgl function is magic.  It is used by the AIX compiler to call
         a function through a pointer.  */
         a function through a pointer.  */
      if (h->smclas == XMC_GL || strcmp (h->root.root.string, "._ptrgl") == 0)
      if (h->smclas == XMC_GL || strcmp (h->root.root.string, "._ptrgl") == 0)
Line 1160... Line 1171...
         truncated but no it not important.  For this case, disable the
         truncated but no it not important.  For this case, disable the
         overflow checking. */
         overflow checking. */
      howto->complain_on_overflow = complain_overflow_dont;
      howto->complain_on_overflow = complain_overflow_dont;
    }
    }
 
 
  howto->pc_relative = TRUE;
  /* The original PC-relative relocation is biased by -r_vaddr, so adding
 
     the value below will give the absolute target address.  */
 
  *relocation = val + addend + rel->r_vaddr;
 
 
  howto->src_mask &= ~3;
  howto->src_mask &= ~3;
  howto->dst_mask = howto->src_mask;
  howto->dst_mask = howto->src_mask;
 
 
  /* A PC relative reloc includes the section address.  */
  if (h != NULL
  addend += input_section->vma;
      && (h->root.type == bfd_link_hash_defined
 
          || h->root.type == bfd_link_hash_defweak)
 
      && bfd_is_abs_section (h->root.u.def.section)
 
      && section_offset + 4 <= input_section->size)
 
    {
 
      bfd_byte *ptr;
 
      bfd_vma insn;
 
 
 
      /* Turn the relative branch into an absolute one by setting the
 
         AA bit.  */
 
      ptr = contents + section_offset;
 
      insn = bfd_get_32 (input_bfd, ptr);
 
      insn |= 2;
 
      bfd_put_32 (input_bfd, insn, ptr);
 
 
  *relocation = val + addend;
      /* Make the howto absolute too.  */
 
      howto->pc_relative = FALSE;
 
      howto->complain_on_overflow = complain_overflow_bitfield;
 
    }
 
  else
 
    {
 
      /* Use a PC-relative howto and subtract the instruction's address
 
         from the target address we calculated above.  */
 
      howto->pc_relative = TRUE;
  *relocation -= (input_section->output_section->vma
  *relocation -= (input_section->output_section->vma
                  + input_section->output_offset);
                      + input_section->output_offset
 
                      + section_offset);
 
    }
  return TRUE;
  return TRUE;
}
}
 
 
/* This is the relocation function for the PowerPC64.
/* This is the relocation function for the PowerPC64.
   See xcoff_ppc_relocation_section for more information. */
   See xcoff_ppc_relocation_section for more information. */
Line 1260... Line 1297...
                       + sym->n_value
                       + sym->n_value
                       - sec->vma);
                       - sec->vma);
            }
            }
          else
          else
            {
            {
 
              if (info->unresolved_syms_in_objects != RM_IGNORE
 
                  && (h->flags & XCOFF_WAS_UNDEFINED) != 0)
 
                {
 
                  if (! ((*info->callbacks->undefined_symbol)
 
                         (info, h->root.root.string,
 
                          input_bfd, input_section,
 
                          rel->r_vaddr - input_section->vma,
 
                          (info->unresolved_syms_in_objects
 
                           == RM_GENERATE_ERROR))))
 
                    return FALSE;
 
                }
              if (h->root.type == bfd_link_hash_defined
              if (h->root.type == bfd_link_hash_defined
                  || h->root.type == bfd_link_hash_defweak)
                  || h->root.type == bfd_link_hash_defweak)
                {
                {
                  sec = h->root.u.def.section;
                  sec = h->root.u.def.section;
                  val = (h->root.u.def.value
                  val = (h->root.u.def.value
Line 1274... Line 1322...
                {
                {
                  sec = h->root.u.c.p->section;
                  sec = h->root.u.c.p->section;
                  val = (sec->output_section->vma
                  val = (sec->output_section->vma
                         + sec->output_offset);
                         + sec->output_offset);
                }
                }
              else if ((0 == (h->flags & (XCOFF_DEF_DYNAMIC | XCOFF_IMPORT)))
              else
                       && ! info->relocatable)
 
                {
                {
                  if (! ((*info->callbacks->undefined_symbol)
                  BFD_ASSERT (info->relocatable
                         (info, h->root.root.string, input_bfd, input_section,
                              || (h->flags & XCOFF_DEF_DYNAMIC) != 0
                          rel->r_vaddr - input_section->vma, TRUE)))
                              || (h->flags & XCOFF_IMPORT) != 0);
                    return FALSE;
 
 
 
                  /* Don't try to process the reloc.  It can't help, and
 
                     it may generate another error.  */
 
                  continue;
 
                }
                }
            }
            }
        }
        }
 
 
      if (rel->r_type >= XCOFF_MAX_CALCULATE_RELOCATION
      if (rel->r_type >= XCOFF_MAX_CALCULATE_RELOCATION
Line 1550... Line 1592...
         0xffff,                /* dst_mask */
         0xffff,                /* dst_mask */
         FALSE),                /* pcrel_offset */
         FALSE),                /* pcrel_offset */
 
 
  EMPTY_HOWTO (0xe),
  EMPTY_HOWTO (0xe),
 
 
  /* Non-relocating reference.  */
  /* Non-relocating reference.  Bitsize is 1 so that r_rsize is 0.  */
  HOWTO (R_REF,                 /* type */
  HOWTO (R_REF,                 /* type */
         0,                      /* rightshift */
         0,                      /* rightshift */
         2,                     /* size (0 = byte, 1 = short, 2 = long) */
         0,                      /* size (0 = byte, 1 = short, 2 = long) */
         32,                    /* bitsize */
         1,                     /* bitsize */
         FALSE,                 /* pc_relative */
         FALSE,                 /* pc_relative */
         0,                      /* bitpos */
         0,                      /* bitpos */
         complain_overflow_dont, /* complain_on_overflow */
         complain_overflow_dont, /* complain_on_overflow */
         0,                      /* special_function */
         0,                      /* special_function */
         "R_REF",               /* name */
         "R_REF",               /* name */
Line 1838... Line 1880...
    case BFD_RELOC_32:
    case BFD_RELOC_32:
    case BFD_RELOC_CTOR:
    case BFD_RELOC_CTOR:
      return &xcoff64_howto_table[0x1c];
      return &xcoff64_howto_table[0x1c];
    case BFD_RELOC_64:
    case BFD_RELOC_64:
      return &xcoff64_howto_table[0];
      return &xcoff64_howto_table[0];
 
    case BFD_RELOC_NONE:
 
      return &xcoff64_howto_table[0xf];
    default:
    default:
      return NULL;
      return NULL;
    }
    }
}
}
 
 
Line 2555... Line 2599...
      AUXESZ,
      AUXESZ,
      RELSZ,
      RELSZ,
      LINESZ,
      LINESZ,
      FILNMLEN,
      FILNMLEN,
      TRUE,                     /* _bfd_coff_long_filenames */
      TRUE,                     /* _bfd_coff_long_filenames */
      FALSE,                    /* _bfd_coff_long_section_names */
      XCOFF_NO_LONG_SECTION_NAMES,  /* _bfd_coff_long_section_names */
      3,                        /* _bfd_coff_default_section_alignment_power */
      3,                        /* _bfd_coff_default_section_alignment_power */
      TRUE,                     /* _bfd_coff_force_symnames_in_strings */
      TRUE,                     /* _bfd_coff_force_symnames_in_strings */
      4,                        /* _bfd_coff_debug_string_prefix_length */
      4,                        /* _bfd_coff_debug_string_prefix_length */
      coff_swap_filehdr_in,
      coff_swap_filehdr_in,
      coff_swap_aouthdr_in,
      coff_swap_aouthdr_in,
Line 2574... Line 2618...
      symname_in_debug_hook,
      symname_in_debug_hook,
      coff_pointerize_aux_hook,
      coff_pointerize_aux_hook,
      coff_print_aux,
      coff_print_aux,
      dummy_reloc16_extra_cases,
      dummy_reloc16_extra_cases,
      dummy_reloc16_estimate,
      dummy_reloc16_estimate,
      NULL,                     /* bfd_coff_sym_is_global */
      NULL,                     /* bfd_coff_symbol_classification */
      coff_compute_section_file_positions,
      coff_compute_section_file_positions,
      NULL,                     /* _bfd_coff_start_final_link */
      NULL,                     /* _bfd_coff_start_final_link */
      xcoff64_ppc_relocate_section,
      xcoff64_ppc_relocate_section,
      coff_rtype_to_howto,
      coff_rtype_to_howto,
      NULL,                     /* _bfd_coff_adjust_symndx */
      NULL,                     /* _bfd_coff_adjust_symndx */
      _bfd_generic_link_add_one_symbol,
      _bfd_generic_link_add_one_symbol,
      coff_link_output_has_begun,
      coff_link_output_has_begun,
      coff_final_link_postscript
      coff_final_link_postscript,
 
      NULL                      /* print_pdata.  */
    },
    },
 
 
    0x01EF,                     /* magic number */
    0x01EF,                     /* magic number */
    bfd_arch_powerpc,
    bfd_arch_powerpc,
    bfd_mach_ppc_620,
    bfd_mach_ppc_620,
Line 2762... Line 2807...
    bfd_generic_gc_sections,
    bfd_generic_gc_sections,
    bfd_generic_merge_sections,
    bfd_generic_merge_sections,
    bfd_generic_is_group_section,
    bfd_generic_is_group_section,
    bfd_generic_discard_group,
    bfd_generic_discard_group,
    _bfd_generic_section_already_linked,
    _bfd_generic_section_already_linked,
 
    _bfd_xcoff_define_common_symbol,
 
 
    /* Dynamic */
    /* Dynamic */
    _bfd_xcoff_get_dynamic_symtab_upper_bound,
    _bfd_xcoff_get_dynamic_symtab_upper_bound,
    _bfd_xcoff_canonicalize_dynamic_symtab,
    _bfd_xcoff_canonicalize_dynamic_symtab,
    _bfd_nodynamic_get_synthetic_symtab,
    _bfd_nodynamic_get_synthetic_symtab,
Line 2808... Line 2854...
      AUXESZ,
      AUXESZ,
      RELSZ,
      RELSZ,
      LINESZ,
      LINESZ,
      FILNMLEN,
      FILNMLEN,
      TRUE,                     /* _bfd_coff_long_filenames */
      TRUE,                     /* _bfd_coff_long_filenames */
      FALSE,                    /* _bfd_coff_long_section_names */
      XCOFF_NO_LONG_SECTION_NAMES,  /* _bfd_coff_long_section_names */
      3,                        /* _bfd_coff_default_section_alignment_power */
      3,                        /* _bfd_coff_default_section_alignment_power */
      TRUE,                     /* _bfd_coff_force_symnames_in_strings */
      TRUE,                     /* _bfd_coff_force_symnames_in_strings */
      4,                        /* _bfd_coff_debug_string_prefix_length */
      4,                        /* _bfd_coff_debug_string_prefix_length */
      coff_swap_filehdr_in,
      coff_swap_filehdr_in,
      coff_swap_aouthdr_in,
      coff_swap_aouthdr_in,
Line 2835... Line 2881...
      xcoff64_ppc_relocate_section,
      xcoff64_ppc_relocate_section,
      coff_rtype_to_howto,
      coff_rtype_to_howto,
      NULL,                     /* _bfd_coff_adjust_symndx */
      NULL,                     /* _bfd_coff_adjust_symndx */
      _bfd_generic_link_add_one_symbol,
      _bfd_generic_link_add_one_symbol,
      coff_link_output_has_begun,
      coff_link_output_has_begun,
      coff_final_link_postscript
      coff_final_link_postscript,
 
      NULL                      /* print_pdata.  */
    },
    },
 
 
    U64_TOCMAGIC,               /* magic number */
    U64_TOCMAGIC,               /* magic number */
    bfd_arch_powerpc,
    bfd_arch_powerpc,
    bfd_mach_ppc_620,
    bfd_mach_ppc_620,
Line 3014... Line 3061...
    bfd_generic_gc_sections,
    bfd_generic_gc_sections,
    bfd_generic_merge_sections,
    bfd_generic_merge_sections,
    bfd_generic_is_group_section,
    bfd_generic_is_group_section,
    bfd_generic_discard_group,
    bfd_generic_discard_group,
    _bfd_generic_section_already_linked,
    _bfd_generic_section_already_linked,
 
    _bfd_xcoff_define_common_symbol,
 
 
    /* Dynamic */
    /* Dynamic */
    _bfd_xcoff_get_dynamic_symtab_upper_bound,
    _bfd_xcoff_get_dynamic_symtab_upper_bound,
    _bfd_xcoff_canonicalize_dynamic_symtab,
    _bfd_xcoff_canonicalize_dynamic_symtab,
    _bfd_nodynamic_get_synthetic_symtab,
    _bfd_nodynamic_get_synthetic_symtab,

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.