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

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [bfd/] [elf64-alpha.c] - Diff between revs 161 and 163

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

Rev 161 Rev 163
Line 1446... Line 1446...
                               const char **functionname_ptr,
                               const char **functionname_ptr,
                               unsigned int *line_ptr)
                               unsigned int *line_ptr)
{
{
  asection *msec;
  asection *msec;
 
 
  if (_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
  if (_bfd_dwarf2_find_nearest_line (abfd, dwarf_debug_sections,
 
                                     section, symbols, offset,
                                     filename_ptr, functionname_ptr,
                                     filename_ptr, functionname_ptr,
                                     line_ptr, 0,
                                     line_ptr, 0,
                                     &elf_tdata (abfd)->dwarf2_find_line_info))
                                     &elf_tdata (abfd)->dwarf2_find_line_info))
    return TRUE;
    return TRUE;
 
 
Line 4210... Line 4211...
      Elf_Internal_Sym *sym = NULL;
      Elf_Internal_Sym *sym = NULL;
      asection *sec = NULL;
      asection *sec = NULL;
      bfd_vma value;
      bfd_vma value;
      bfd_vma addend;
      bfd_vma addend;
      bfd_boolean dynamic_symbol_p;
      bfd_boolean dynamic_symbol_p;
 
      bfd_boolean unresolved_reloc = FALSE;
      bfd_boolean undef_weak_ref = FALSE;
      bfd_boolean undef_weak_ref = FALSE;
      unsigned long r_type;
      unsigned long r_type;
 
 
      r_type = ELF64_R_TYPE(rel->r_info);
      r_type = ELF64_R_TYPE(rel->r_info);
      if (r_type >= R_ALPHA_max)
      if (r_type >= R_ALPHA_max)
Line 4291... Line 4293...
          dynamic_symbol_p = FALSE;
          dynamic_symbol_p = FALSE;
        }
        }
      else
      else
        {
        {
          bfd_boolean warned;
          bfd_boolean warned;
          bfd_boolean unresolved_reloc;
 
          struct elf_link_hash_entry *hh;
          struct elf_link_hash_entry *hh;
          struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
          struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
 
 
          RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
          RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
                                   r_symndx, symtab_hdr, sym_hashes,
                                   r_symndx, symtab_hdr, sym_hashes,
Line 4524... Line 4525...
                dynaddend = value - dtp_base;
                dynaddend = value - dtp_base;
              }
              }
            else if (info->shared
            else if (info->shared
                     && r_symndx != STN_UNDEF
                     && r_symndx != STN_UNDEF
                     && (input_section->flags & SEC_ALLOC)
                     && (input_section->flags & SEC_ALLOC)
                     && !undef_weak_ref)
                     && !undef_weak_ref
 
                     && !(unresolved_reloc
 
                          && (_bfd_elf_section_offset (output_bfd, info,
 
                                                       input_section,
 
                                                       rel->r_offset)
 
                              == (bfd_vma) -1)))
              {
              {
                if (r_type == R_ALPHA_REFLONG)
                if (r_type == R_ALPHA_REFLONG)
                  {
                  {
                    (*_bfd_error_handler)
                    (*_bfd_error_handler)
                      (_("%B: unhandled dynamic relocation against %s"),
                      (_("%B: unhandled dynamic relocation against %s"),
Line 4570... Line 4576...
 
 
 
 
          /* ??? .eh_frame references to discarded sections will be smashed
          /* ??? .eh_frame references to discarded sections will be smashed
             to relocations against SHN_UNDEF.  The .eh_frame format allows
             to relocations against SHN_UNDEF.  The .eh_frame format allows
             NULL to be encoded as 0 in any format, so this works here.  */
             NULL to be encoded as 0 in any format, so this works here.  */
          if (r_symndx == STN_UNDEF)
          if (r_symndx == STN_UNDEF
 
              || (unresolved_reloc
 
                  && _bfd_elf_section_offset (output_bfd, info,
 
                                              input_section,
 
                                              rel->r_offset) == (bfd_vma) -1))
            howto = (elf64_alpha_howto_table
            howto = (elf64_alpha_howto_table
                     + (r_type - R_ALPHA_SREL32 + R_ALPHA_REFLONG));
                     + (r_type - R_ALPHA_SREL32 + R_ALPHA_REFLONG));
          goto default_reloc;
          goto default_reloc;
 
 
        case R_ALPHA_TLSLDM:
        case R_ALPHA_TLSLDM:

powered by: WebSVN 2.1.0

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