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

Subversion Repositories openrisc_me

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

Show entire file | Details | Blame | View Log

Rev 157 Rev 225
Line 1... Line 1...
/* FRV-specific support for 32-bit ELF.
/* FRV-specific support for 32-bit ELF.
   Copyright 2002, 2003, 2004, 2005, 2006, 2007
   Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
   Free Software Foundation, Inc.
   Free Software Foundation, Inc.
 
 
   This file is part of BFD, the Binary File Descriptor library.
   This file is part of BFD, the Binary File Descriptor library.
 
 
   This program is free software; you can redistribute it and/or modify
   This program is free software; you can redistribute it and/or modify
Line 22... Line 22...
#include "sysdep.h"
#include "sysdep.h"
#include "bfd.h"
#include "bfd.h"
#include "libbfd.h"
#include "libbfd.h"
#include "elf-bfd.h"
#include "elf-bfd.h"
#include "elf/frv.h"
#include "elf/frv.h"
#include "elf/dwarf2.h"
#include "dwarf2.h"
#include "hashtab.h"
#include "hashtab.h"
 
 
/* Forward declarations.  */
/* Forward declarations.  */
static bfd_reloc_status_type elf32_frv_relocate_lo16
static bfd_reloc_status_type elf32_frv_relocate_lo16
  PARAMS ((bfd *,  Elf_Internal_Rela *, bfd_byte *, bfd_vma));
  PARAMS ((bfd *,  Elf_Internal_Rela *, bfd_byte *, bfd_vma));
Line 1395... Line 1395...
         relocations, otherwise decay to section + offset.  */
         relocations, otherwise decay to section + offset.  */
      if (entry->symndx == -1 && entry->d.h->dynindx != -1)
      if (entry->symndx == -1 && entry->d.h->dynindx != -1)
        dynindx = entry->d.h->dynindx;
        dynindx = entry->d.h->dynindx;
      else
      else
        {
        {
          if (sec->output_section
          if (sec
 
              && sec->output_section
              && ! bfd_is_abs_section (sec->output_section)
              && ! bfd_is_abs_section (sec->output_section)
              && ! bfd_is_und_section (sec->output_section))
              && ! bfd_is_und_section (sec->output_section))
            dynindx = elf_section_data (sec->output_section)->dynindx;
            dynindx = elf_section_data (sec->output_section)->dynindx;
          else
          else
            dynindx = 0;
            dynindx = 0;
Line 1677... Line 1678...
        {
        {
          /* A function descriptor for a local function gets the index
          /* A function descriptor for a local function gets the index
             of the section.  For a non-local function, it's
             of the section.  For a non-local function, it's
             disregarded.  */
             disregarded.  */
          lowword = ad;
          lowword = ad;
          if (entry->symndx == -1 && entry->d.h->dynindx != -1
          if (sec == NULL
              && entry->d.h->dynindx == idx)
              || (entry->symndx == -1 && entry->d.h->dynindx != -1
 
                  && entry->d.h->dynindx == idx))
            highword = 0;
            highword = 0;
          else
          else
            highword = _frvfdpic_osec_to_segment
            highword = _frvfdpic_osec_to_segment
              (output_bfd, sec->output_section);
              (output_bfd, sec->output_section);
        }
        }
Line 5734... Line 5736...
elf32_frvfdpic_relax_section (bfd *abfd ATTRIBUTE_UNUSED, asection *sec,
elf32_frvfdpic_relax_section (bfd *abfd ATTRIBUTE_UNUSED, asection *sec,
                              struct bfd_link_info *info, bfd_boolean *again)
                              struct bfd_link_info *info, bfd_boolean *again)
{
{
  struct _frvfdpic_dynamic_got_plt_info gpinfo;
  struct _frvfdpic_dynamic_got_plt_info gpinfo;
 
 
 
  if (info->relocatable)
 
    (*info->callbacks->einfo)
 
      (_("%P%F: --relax and -r may not be used together\n"));
 
 
  /* If we return early, we didn't change anything.  */
  /* If we return early, we didn't change anything.  */
  *again = FALSE;
  *again = FALSE;
 
 
  /* We'll do our thing when requested to relax the GOT section.  */
  /* We'll do our thing when requested to relax the GOT section.  */
  if (sec != frvfdpic_got_section (info))
  if (sec != frvfdpic_got_section (info))
Line 6834... Line 6840...
 
 
  /* Print normal ELF private data.  */
  /* Print normal ELF private data.  */
  _bfd_elf_print_private_bfd_data (abfd, ptr);
  _bfd_elf_print_private_bfd_data (abfd, ptr);
 
 
  flags = elf_elfheader (abfd)->e_flags;
  flags = elf_elfheader (abfd)->e_flags;
  fprintf (file, _("private flags = 0x%lx:"), (long)flags);
  fprintf (file, _("private flags = 0x%lx:"), (unsigned long) flags);
 
 
  switch (flags & EF_FRV_CPU_MASK)
  switch (flags & EF_FRV_CPU_MASK)
    {
    {
    default:                                                    break;
    default:                                                    break;
    case EF_FRV_CPU_SIMPLE: fprintf (file, " -mcpu=simple");    break;
    case EF_FRV_CPU_SIMPLE: fprintf (file, " -mcpu=simple");    break;

powered by: WebSVN 2.1.0

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