2002-05-02 Pierre Muller <muller@ics.u-strasbg.fr>
[deliverable/binutils-gdb.git] / gdb / valops.c
index 3db7341df6e3e6fc22cdedc52fd71402daaa504e..86c31122b3bd7880b20478863054afe27c0f76e2 100644 (file)
@@ -607,7 +607,7 @@ value_assign (struct value *toval, struct value *fromval)
 
            if (changed_len > (int) sizeof (LONGEST))
              error ("Can't handle bitfields which don't fit in a %d bit word.",
-                    sizeof (LONGEST) * HOST_CHAR_BIT);
+                    (int) sizeof (LONGEST) * HOST_CHAR_BIT);
 
            read_memory (VALUE_ADDRESS (toval) + VALUE_OFFSET (toval),
                         buffer, changed_len);
@@ -644,7 +644,7 @@ value_assign (struct value *toval, struct value *fromval)
 
          if (len > (int) sizeof (LONGEST))
            error ("Can't handle bitfields in registers larger than %d bits.",
-                  sizeof (LONGEST) * HOST_CHAR_BIT);
+                  (int) sizeof (LONGEST) * HOST_CHAR_BIT);
 
          if (VALUE_BITPOS (toval) + VALUE_BITSIZE (toval)
              > len * HOST_CHAR_BIT)
@@ -1385,6 +1385,8 @@ hand_function_call (struct value *function, int nargs, struct value **args)
   if (CALL_DUMMY_LOCATION == ON_STACK)
     {
       write_memory (start_sp, (char *) dummy1, sizeof_dummy1);
+      if (USE_GENERIC_DUMMY_FRAMES)
+       generic_save_call_dummy_addr (start_sp, start_sp + sizeof_dummy1);
     }
 
   if (CALL_DUMMY_LOCATION == BEFORE_TEXT_END)
@@ -1401,6 +1403,8 @@ hand_function_call (struct value *function, int nargs, struct value **args)
       sp = old_sp;
       real_pc = text_end - sizeof_dummy1;
       write_memory (real_pc, (char *) dummy1, sizeof_dummy1);
+      if (USE_GENERIC_DUMMY_FRAMES)
+       generic_save_call_dummy_addr (real_pc, real_pc + sizeof_dummy1);
     }
 
   if (CALL_DUMMY_LOCATION == AFTER_TEXT_END)
@@ -1412,11 +1416,18 @@ hand_function_call (struct value *function, int nargs, struct value **args)
       errcode = target_write_memory (real_pc, (char *) dummy1, sizeof_dummy1);
       if (errcode != 0)
        error ("Cannot write text segment -- call_function failed");
+      if (USE_GENERIC_DUMMY_FRAMES)
+       generic_save_call_dummy_addr (real_pc, real_pc + sizeof_dummy1);
     }
 
   if (CALL_DUMMY_LOCATION == AT_ENTRY_POINT)
     {
       real_pc = funaddr;
+      if (USE_GENERIC_DUMMY_FRAMES)
+       /* NOTE: cagney/2002-04-13: The entry point is going to be
+           modified with a single breakpoint.  */
+       generic_save_call_dummy_addr (CALL_DUMMY_ADDRESS (),
+                                     CALL_DUMMY_ADDRESS () + 1);
     }
 
 #ifdef lint
This page took 0.023995 seconds and 4 git commands to generate.