ADDR_VEC alignment calculation in shorten_branches
Joern Rennecke
amylaar@cygnus.co.uk
Thu Sep 4 00:12:00 GMT 1997
The calculation for the space taken by a possible alignment for ADDR_VEC /
ADDR_DIFF_VEC is off by unitsize if insn_current_address is already aligned.
Here is a fix:
Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
* final.c (shorten_branches): Fix alignment calculation.
*** final.c-970902 Thu Sep 4 07:19:53 1997
--- final.c Thu Sep 4 07:39:19 1997
*************** shorten_branches (first)
*** 752,758 ****
/* Account for possible alignment. */
insn_lengths[uid]
! += unitsize - (insn_current_address & (unitsize - 1));
#else
;
#endif
--- 754,760 ----
/* Account for possible alignment. */
insn_lengths[uid]
! += unitsize - 1 - ((insn_current_address - 1) & (unitsize - 1));
#else
;
#endif
More information about the Gcc
mailing list