* 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:
Jeff Law 1996-08-07 16:05:19 +00:00
parent 484c464505
commit 0d43c8e711
3 changed files with 14 additions and 1 deletions

View File

@ -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 *",

View File

@ -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)

View File

@ -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. */