This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Bug in h8300.c
- To: gnu-win32 at cygnus dot com
- Subject: Bug in h8300.c
- From: Scott dot Mintz at po dot cle dot ab dot com (Scott Mintz)
- Date: Wed, 23 Apr 1997 14:51:21 -0400
I built a cygwin32 cross compiler for the H8300-hms on a WinNT machine
using the 17.1 CDK.
The file h8300.c in the gcc/config/h8300 subdirectory has the
following defined:
/* Output assembly language code for the function prologue. */
static int push_order[FIRST_PSEUDO_REGISTER] =
{0, 1, 2, 3, 4, 5, 6, -1, -1};
static int pop_order[FIRST_PSEUDO_REGISTER] =
{6, 5, 4, 3, 2, 1, 0, -1, -1};
where FIRST_PSEUDO_REGISTER is defined to be 10.
The last item in the above arrays gets defined as 0 because there are
only 9 initializers instead of 10.
This causes the generated interrupt prologue/epilogue code to be
incorrect.
The arrays should be defined this way:
/* Output assembly language code for the function prologue. */
static int push_order[FIRST_PSEUDO_REGISTER] =
{0, 1, 2, 3, 4, 5, 6, -1, -1, -1};
static int pop_order[FIRST_PSEUDO_REGISTER] =
{6, 5, 4, 3, 2, 1, 0, -1, -1, -1};
+------------------------------+------------------------------------+
| Scott A. Mintz | voice: (216) 646-4805 |
| Allen-Bradley Company | fax: (216) 646-4961 |
| 1 Allen-Bradley Drive | email: scott.mintz@po.cle.ab.com |
| Mayfield Hts., OH 44124-6118 | CIS: 71461,632 |
+------------------------------+------------------------------------+
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".