Resolve more problems with readelf uncovered by fuzzing binary files.
[deliverable/binutils-gdb.git] / gdb / alpha-tdep.c
index e5b75d2471af64857725281025588b615ef44314..27fc59213abd95693866b4b3c5c33e2a12ff1070 100644 (file)
@@ -1,6 +1,6 @@
 /* Target-dependent code for the ALPHA architecture, for GDB, the GNU Debugger.
 
-   Copyright (C) 1993-2003, 2005-2012 Free Software Foundation, Inc.
+   Copyright (C) 1993-2014 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,7 +31,6 @@
 #include "dis-asm.h"
 #include "symfile.h"
 #include "objfiles.h"
-#include "gdb_string.h"
 #include "linespec.h"
 #include "regcache.h"
 #include "reggroups.h"
@@ -517,7 +516,7 @@ alpha_extract_return_value (struct type *valtype, struct regcache *regcache,
          break;
 
        case 32:
-         regcache_cooked_read_signed (regcache, ALPHA_V0_REGNUM, &l);
+         regcache_cooked_read_unsigned (regcache, ALPHA_V0_REGNUM, &l);
          read_memory (l, valbuf, 32);
          break;
 
@@ -1032,7 +1031,7 @@ static const struct frame_unwind alpha_sigtramp_frame_unwind = {
 /* Heuristic_proc_start may hunt through the text section for a long
    time across a 2400 baud serial line.  Allows the user to limit this
    search.  */
-static unsigned int heuristic_fence_post = 0;
+static int heuristic_fence_post = 0;
 
 /* Attempt to locate the start of the function containing PC.  We assume that
    the previous function ends with an about_to_return insn.  Not foolproof by
@@ -1059,7 +1058,7 @@ alpha_heuristic_proc_start (struct gdbarch *gdbarch, CORE_ADDR pc)
   if (func)
     return func;
 
-  if (heuristic_fence_post == UINT_MAX
+  if (heuristic_fence_post == -1
       || fence < tdep->vm_min_address)
     fence = tdep->vm_min_address;
 
@@ -1750,14 +1749,6 @@ alpha_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   struct gdbarch_tdep *tdep;
   struct gdbarch *gdbarch;
 
-  /* Try to determine the ABI of the object we are loading.  */
-  if (info.abfd != NULL && info.osabi == GDB_OSABI_UNKNOWN)
-    {
-      /* If it's an ECOFF file, assume it's OSF/1.  */
-      if (bfd_get_flavour (info.abfd) == bfd_target_ecoff_flavour)
-       info.osabi = GDB_OSABI_OSF1;
-    }
-
   /* Find a candidate among extant architectures.  */
   arches = gdbarch_list_lookup_by_info (arches, &info);
   if (arches != NULL)
This page took 0.02509 seconds and 4 git commands to generate.