diff options
author | Doug Evans <dje@google.com> | 1998-06-08 22:44:03 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 1998-06-08 22:44:03 +0000 |
commit | 2dc7ca5026e491598efa6525a36fadef1a60d8a3 (patch) | |
tree | 2fee9cd1bcd404a399e3b08f29bcad45b4ed241d /gas | |
parent | c49fcb32e2bd767532c34489bf71f2a42192e49e (diff) | |
download | fsf-binutils-gdb-2dc7ca5026e491598efa6525a36fadef1a60d8a3.zip fsf-binutils-gdb-2dc7ca5026e491598efa6525a36fadef1a60d8a3.tar.gz fsf-binutils-gdb-2dc7ca5026e491598efa6525a36fadef1a60d8a3.tar.bz2 |
* config/tc-dvp.c (dvp_relax_frag): Adjust target address by stretch.
PR 16132.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-dvp.c | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 9f933e4..739d6ea 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +start-sanitize-sky +Mon Jun 8 15:41:43 1998 Doug Evans <devans@canuck.cygnus.com> + + * config/tc-dvp.c (dvp_relax_frag): Adjust target address by stretch. + +end-sanitize-sky Mon Jun 8 12:20:30 1998 Alan Modra <alan@spri.levels.unisa.edu.au> * config/tc-i386.c: REPNE renamed to REPNE_PREFIX_OPCODE, and diff --git a/gas/config/tc-dvp.c b/gas/config/tc-dvp.c index 848f141..292e21a 100644 --- a/gas/config/tc-dvp.c +++ b/gas/config/tc-dvp.c @@ -1612,6 +1612,7 @@ md_estimate_size_before_relax (fragP, segment) } /* Perform the relaxation. + STRETCH is the amount the start of the frag has already been shifted by. All we have to do is figure out how many bytes we need to insert to get to the recorded symbol (which is at the required alignment). This function is also called for machine dependent vu insn frags. @@ -1645,6 +1646,10 @@ dvp_relax_frag (fragP, stretch) if (fragP->fr_subtype == RELAX_MPG) { + /* The frag the symbol is in hasn't been relaxed yet so any .org + adjustments haven't been applied to it. We know the symbol + is the address of the next frag so adjust target by stretch. */ + target += stretch; growth = target - address; if (growth < 0) as_fatal ("internal error: bad mpg alignment handling"); @@ -1654,6 +1659,10 @@ dvp_relax_frag (fragP, stretch) if (fragP->fr_subtype == RELAX_DIRECT) { + /* The frag the symbol is in hasn't been relaxed yet so any .org + adjustments haven't been applied to it. We know the symbol + is the address of the next frag so adjust target by stretch. */ + target += stretch; growth = target - address; if (growth < 0) as_fatal ("internal error: bad direct alignment handling"); |