final.c: (insn_lengths): Make it an int *, so that large jump tables don't overflow.

* final.c: (insn_lengths): Make it an int *, so that large jump
	tables don't overflow.

From-SVN: r47331
This commit is contained in:
Alan Modra 2001-11-26 00:46:40 +00:00 committed by Alan Modra
parent fa88ce26e5
commit addd7df604
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2001-11-26 Alan Modra <amodra@bigpond.net.au>
* final.c: (insn_lengths): Make it an int *, so that large jump
tables don't overflow.
2001-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
* c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.

View File

@ -603,7 +603,7 @@ dbr_sequence_length ()
/* Arrays for insn lengths, and addresses. The latter is referenced by
`insn_current_length'. */
static short *insn_lengths;
static int *insn_lengths;
#ifdef HAVE_ATTR_length
varray_type insn_addresses_;
@ -1186,7 +1186,7 @@ shorten_branches (first)
#ifdef HAVE_ATTR_length
/* Allocate the rest of the arrays. */
insn_lengths = (short *) xmalloc (max_uid * sizeof (short));
insn_lengths = (int *) xmalloc (max_uid * sizeof (*insn_lengths));
insn_lengths_max_uid = max_uid;
/* Syntax errors can lead to labels being outside of the main insn stream.
Initialize insn_addresses, so that we get reproducible results. */