diff options
author | Nick Clifton <nickc@redhat.com> | 2000-08-25 18:40:16 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2000-08-25 18:40:16 +0000 |
commit | 3ea92e6b3622f2c45befb619092c0bd168b695cf (patch) | |
tree | 6a8d09e41df51fa1d911f3ce1eaa66b9f745bb20 /gas/config/tc-vax.c | |
parent | 2806f48f50e9cd899d1131720c952941c3b7a0e8 (diff) | |
download | binutils-redhat-3ea92e6b3622f2c45befb619092c0bd168b695cf.tar.gz |
Correctly calculate the pc relative offset of the target destination for jmp
instructions.
Diffstat (limited to 'gas/config/tc-vax.c')
-rw-r--r-- | gas/config/tc-vax.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gas/config/tc-vax.c b/gas/config/tc-vax.c index acf78ee199..23429227ff 100644 --- a/gas/config/tc-vax.c +++ b/gas/config/tc-vax.c @@ -775,7 +775,7 @@ md_assemble (instruction_string) p[1] = VAX_BRB; p[2] = 6; p[3] = VAX_JMP; - p[4] = VAX_PC_RELATIVE_MODE + 1; /* @#... */ + p[4] = VAX_ABSOLUTE_MODE; /* @#... */ md_number_to_chars (p + 5, this_add_number, 4); /* * Now (eg) xOBxxx 1f @@ -1349,7 +1349,7 @@ md_convert_frag (headers, seg, fragP) addressP[0] = 6; addressP[1] = VAX_JMP; addressP[2] = VAX_PC_RELATIVE_MODE; - md_number_to_chars (addressP + 3, target_address, 4); + md_number_to_chars (addressP + 3, target_address - (address_of_var + 7), 4); extension = 7; break; @@ -1383,7 +1383,7 @@ md_convert_frag (headers, seg, fragP) addressP[3] = 6; addressP[4] = VAX_JMP; addressP[5] = VAX_PC_RELATIVE_MODE; - md_number_to_chars (addressP + 6, target_address, 4); + md_number_to_chars (addressP + 6, target_address - (address_of_var + 10), 4); extension = 10; break; @@ -1407,7 +1407,7 @@ md_convert_frag (headers, seg, fragP) addressP[2] = 6; addressP[3] = VAX_JMP; addressP[4] = VAX_PC_RELATIVE_MODE; - md_number_to_chars (addressP + 5, target_address, 4); + md_number_to_chars (addressP + 5, target_address - (address_of_var + 9), 4); extension = 9; break; |