Automatic date update in version.in
[deliverable/binutils-gdb.git] / bfd / elf32-pj.c
index 6b2f1de70b9d2cc7d6a8db4bd840ee6aefd4233c..e3ebdaf6b04f8a142d5612de18717d57f6b7aa23 100644 (file)
@@ -1,13 +1,12 @@
 /* picoJava specific support for 32-bit ELF
-   Copyright 1999, 2000, 2001, 2002, 2005, 2007
-   Free Software Foundation, Inc.
+   Copyright (C) 1999-2016 Free Software Foundation, Inc.
    Contributed by Steve Chamberlan of Transmeta (sac@pobox.com).
 
    This file is part of BFD, the Binary File Descriptor library.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -17,7 +16,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
 
 #include "sysdep.h"
 #include "bfd.h"
@@ -113,7 +113,7 @@ static reloc_howto_type pj_elf_howto_table[] =
   /* No relocation.  */
   HOWTO (R_PJ_NONE,            /* type */
         0,                     /* rightshift */
-        0,                     /* size (0 = byte, 1 = short, 2 = long) */
+        3,                     /* size (0 = byte, 1 = short, 2 = long) */
         0,                     /* bitsize */
         FALSE,                 /* pc_relative */
         0,                     /* bitpos */
@@ -319,7 +319,13 @@ pj_elf_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 
   r = ELF32_R_TYPE (dst->r_info);
 
-  BFD_ASSERT (r < (unsigned int) R_PJ_max);
+  if (r >= R_PJ_max)
+    {
+      (*_bfd_error_handler) (_("%B: unrecognised PicoJava reloc number: %d"),
+                            abfd, r);
+      bfd_set_error (bfd_error_bad_value);
+      r = R_PJ_NONE;
+    }
 
   cache_ptr->howto = &pj_elf_howto_table[r];
 }
@@ -335,9 +341,9 @@ pj_elf_final_write_processing (bfd *abfd,
   elf_elfheader (abfd)->e_flags |= EF_PICOJAVA_GNUCALLS;
 }
 
-#define TARGET_BIG_SYM         bfd_elf32_pj_vec
+#define TARGET_BIG_SYM         pj_elf32_vec
 #define TARGET_BIG_NAME                "elf32-pj"
-#define TARGET_LITTLE_SYM      bfd_elf32_pjl_vec
+#define TARGET_LITTLE_SYM      pj_elf32_le_vec
 #define TARGET_LITTLE_NAME     "elf32-pjl"
 #define ELF_ARCH               bfd_arch_pj
 #define ELF_MACHINE_CODE       EM_PJ
This page took 0.025518 seconds and 4 git commands to generate.