From 91b9fccdf0ccb5251c0c4b275d22b07f9c835312 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 23 Jul 1998 17:41:00 +0000 Subject: * elf-m10300.c (compute_function_info): Keep track of stack space needed by am33 movm instruction variant. --- bfd/ChangeLog | 5 +++++ bfd/elf-m10300.c | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0cec1a7..7cf1999 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ Thu Jul 23 11:29:43 1998 Jeffrey A Law (law@cygnus.com) +start-sanitize-am33 + * elf-m10300.c (compute_function_info): Keep track of stack space + needed by am33 movm instruction variant. +end-sanitize-am33 + * Re-add lost change: * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field "movm_stack_size". diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index 13836b6..7ed54ed 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -2288,6 +2288,23 @@ compute_function_info (abfd, hash, addr, contents) /* "other" space. d0, d1, a0, a1, mdr, lir, lar, 4 byte pad. */ if (hash->movm_args & 0x08) hash->movm_stack_size += 8 * 4; + + /* start-sanitize-am33 */ + if (bfd_get_mach (abfd) == bfd_mach_am33) + { + /* "exother" space. e0, e1, mdrq, mcrh, mcrl, mcvf */ + if (hash->movm_args & 0x1) + hash->movm_stack_size += 6 * 4; + + /* exreg1 space. e4, e5, e6, e7 */ + if (hash->movm_args & 0x2) + hash->movm_stack_size += 4 * 4; + + /* exreg0 space. e2, e3 */ + if (hash->movm_args & 0x4) + hash->movm_stack_size += 2 * 4; + } + /* end-sanitize-am33 */ } /* Now look for the two stack adjustment variants. */ -- cgit v1.1