* valops.c (call_function_by_hand): Handle aligning stacks that
grow up correctly. * config/pa/tm-hppa.h (USE_STRUCT_CONVENTION): Define. (STACK_ALIGN): Define. * hppa-tdep.c (hppa_alignof): Don't demand a minumim two byte alignment on structs/unions. Fixing assorted structure passing/return problems reported by the net.
This commit is contained in:
parent
484c464505
commit
0d43c8e711
@ -1,3 +1,12 @@
|
||||
Wed Aug 7 09:59:19 1996 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* valops.c (call_function_by_hand): Handle aligning stacks that
|
||||
grow up correctly.
|
||||
* config/pa/tm-hppa.h (USE_STRUCT_CONVENTION): Define.
|
||||
(STACK_ALIGN): Define.
|
||||
* hppa-tdep.c (hppa_alignof): Don't demand a minumim two byte
|
||||
alignment on structs/unions.
|
||||
|
||||
Sun Aug 4 16:22:42 1996 Fred Fish <fnf@cygnus.com>
|
||||
|
||||
* config/powerpc/nm-aix.h (PTRACE_ARG3_TYPE): Define to "int *",
|
||||
|
@ -63,6 +63,8 @@ struct inferior_status;
|
||||
#define REG_STRUCT_HAS_ADDR(gcc_p,type) \
|
||||
(TYPE_LENGTH (type) > 8)
|
||||
|
||||
#define USE_STRUCT_CONVENTION(gcc_p,type) (TYPE_LENGTH (type) > 8)
|
||||
|
||||
/* Offset from address of function to start of its code.
|
||||
Zero on most machines. */
|
||||
|
||||
@ -664,3 +666,5 @@ extern int hpread_adjust_stack_address PARAMS ((CORE_ADDR));
|
||||
probably much more common. (FIXME). */
|
||||
|
||||
#define COERCE_FLOAT_TO_DOUBLE (current_language -> la_language == language_c)
|
||||
|
||||
#define STACK_ALIGN(ADDR) (((ADDR) + 7) & -8)
|
||||
|
@ -1797,7 +1797,7 @@ hppa_alignof (type)
|
||||
return hppa_alignof (TYPE_FIELD_TYPE (type, 0));
|
||||
case TYPE_CODE_STRUCT:
|
||||
case TYPE_CODE_UNION:
|
||||
max_align = 2;
|
||||
max_align = 1;
|
||||
for (i = 0; i < TYPE_NFIELDS (type); i++)
|
||||
{
|
||||
/* Bit fields have no real alignment. */
|
||||
|
Loading…
Reference in New Issue
Block a user