2003-04-04 Elena Zannoni <ezannoni@redhat.com>

* x86-64-tdep.c (x86_64_push_arguments): Handle correctly the
        signed integer case.
        (classify_argument): Handle enumerations and references.
This commit is contained in:
Elena Zannoni 2003-04-04 19:30:49 +00:00
parent 97f2bd8bac
commit 50c46a0d6f
2 changed files with 19 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2003-04-04 Elena Zannoni <ezannoni@redhat.com>
* x86-64-tdep.c (x86_64_push_arguments): Handle correctly the
signed integer case.
(classify_argument): Handle enumerations and references.
2003-04-04 Andrew Cagney <cagney@redhat.com>
* frame.c (create_sentinel_frame): Initialize the sentinel frame's

View File

@ -471,6 +471,8 @@ classify_argument (struct type *type,
return 2;
}
break;
case TYPE_CODE_ENUM:
case TYPE_CODE_REF:
case TYPE_CODE_INT:
case TYPE_CODE_PTR:
switch (bytes)
@ -700,11 +702,17 @@ x86_64_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
intreg += 2;
break;
case X86_64_INTEGERSI_CLASS:
deprecated_write_register_gen (int_parameter_registers[intreg / 2],
VALUE_CONTENTS_ALL (args[i]) + offset);
{
LONGEST num
= extract_signed_integer (VALUE_CONTENTS_ALL (args[i])
+ offset, 4);
regcache_raw_write_signed (current_regcache,
int_parameter_registers[intreg / 2], num);
offset += 8;
intreg++;
break;
}
case X86_64_SSEDF_CLASS:
case X86_64_SSESF_CLASS:
case X86_64_SSE_CLASS: