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

Subversion Repositories open8_urisc

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

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

Rev 148 Rev 161
Line 327... Line 327...
  unsigned int flags;
  unsigned int flags;
 
 
  i_ehdrp = elf_elfheader (abfd);
  i_ehdrp = elf_elfheader (abfd);
  if (strcmp (bfd_get_target (abfd), "elf64-hppa-linux") == 0)
  if (strcmp (bfd_get_target (abfd), "elf64-hppa-linux") == 0)
    {
    {
      /* GCC on hppa-linux produces binaries with OSABI=Linux,
      /* GCC on hppa-linux produces binaries with OSABI=GNU,
         but the kernel produces corefiles with OSABI=SysV.  */
         but the kernel produces corefiles with OSABI=SysV.  */
      if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_LINUX
      if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_GNU
          && i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_NONE) /* aka SYSV */
          && i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_NONE) /* aka SYSV */
        return FALSE;
        return FALSE;
    }
    }
  else
  else
    {
    {
Line 3270... Line 3270...
        /* Make sure we can reach the branch target.  */
        /* Make sure we can reach the branch target.  */
        if (max_branch_offset != 0
        if (max_branch_offset != 0
            && value + addend + max_branch_offset >= 2*max_branch_offset)
            && value + addend + max_branch_offset >= 2*max_branch_offset)
          {
          {
            (*_bfd_error_handler)
            (*_bfd_error_handler)
              (_("%B(%A+0x%lx): cannot reach %s"),
              (_("%B(%A+0x" BFD_VMA_FMT "x): cannot reach %s"),
              input_bfd,
              input_bfd,
              input_section,
              input_section,
              offset,
              offset,
              eh->root.root.string);
              eh ? eh->root.root.string : "unknown");
            bfd_set_error (bfd_error_bad_value);
            bfd_set_error (bfd_error_bad_value);
            return bfd_reloc_notsupported;
            return bfd_reloc_overflow;
          }
          }
 
 
        /* Adjust for any field selectors.  */
        /* Adjust for any field selectors.  */
        if (r_type == R_PARISC_PCREL17R)
        if (r_type == R_PARISC_PCREL17R)
          value = hppa_field_adjust (value, addend, e_rsel);
          value = hppa_field_adjust (value, addend, e_rsel);
Line 4095... Line 4095...
#undef TARGET_BIG_SYM
#undef TARGET_BIG_SYM
#define TARGET_BIG_SYM                  bfd_elf64_hppa_linux_vec
#define TARGET_BIG_SYM                  bfd_elf64_hppa_linux_vec
#undef TARGET_BIG_NAME
#undef TARGET_BIG_NAME
#define TARGET_BIG_NAME                 "elf64-hppa-linux"
#define TARGET_BIG_NAME                 "elf64-hppa-linux"
#undef ELF_OSABI
#undef ELF_OSABI
#define ELF_OSABI                       ELFOSABI_LINUX
#define ELF_OSABI                       ELFOSABI_GNU
#undef elf_backend_post_process_headers
#undef elf_backend_post_process_headers
#define elf_backend_post_process_headers _bfd_elf_set_osabi
#define elf_backend_post_process_headers _bfd_elf_set_osabi
#undef elf64_bed
#undef elf64_bed
#define elf64_bed                       elf64_hppa_linux_bed
#define elf64_bed                       elf64_hppa_linux_bed
 
 

powered by: WebSVN 2.1.0

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