* elflink.h (elf_bfd_final_link): Check if dynobj is not NULL
[binutils-gdb.git] / gdb / arm-linux-tdep.c
index 05c186adeab303d8cd24ce7de7302b74eb142601..652273021466eff3f1b5c80b51f6e64c0529d7b7 100644 (file)
@@ -26,6 +26,7 @@
 #include "gdbcore.h"
 #include "frame.h"
 #include "regcache.h"
+#include "doublest.h"
 
 /* For arm_linux_skip_solib_resolver.  */
 #include "symtab.h"
@@ -159,7 +160,6 @@ arm_linux_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
     {
       int len;
       char *val;
-      double dbl_arg;
       CORE_ADDR regval;
       enum type_code typecode;
       struct type *arg_type, *target_type;
@@ -179,14 +179,11 @@ arm_linux_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
          calling the function.  */
       if (TYPE_CODE_FLT == typecode && REGISTER_SIZE == len)
        {
-         /* Float argument in buffer is in host format.  Read it and 
-            convert to DOUBLEST, and store it in target double.  */
          DOUBLEST dblval;
-         
+         dblval = extract_floating (val, len);
          len = TARGET_DOUBLE_BIT / TARGET_CHAR_BIT;
-         floatformat_to_doublest (HOST_FLOAT_FORMAT, val, &dblval);
-         store_floating (&dbl_arg, len, dblval);
-         val = (char *) &dbl_arg;
+         val = alloca (len);
+         store_floating (val, len, dblval);
        }
 
       /* If the argument is a pointer to a function, and it is a Thumb
@@ -405,7 +402,7 @@ skip_hurd_resolver (CORE_ADDR pc)
   if (resolver)
     {
       struct minimal_symbol *fixup
-       = lookup_minimal_symbol ("fixup", 0, objfile);
+       = lookup_minimal_symbol ("fixup", NULL, objfile);
 
       if (fixup && SYMBOL_VALUE_ADDRESS (fixup) == pc)
        return (SAVED_PC_AFTER_CALL (get_current_frame ()));