From 1e8d20f4cc9ca76341801e68c7759805e370c18a Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 25 Aug 2000 18:40:16 +0000 Subject: [PATCH] Correctly calculate the pc relative offset of the target destination for jmp instructions. --- gas/ChangeLog | 6 ++++++ gas/config/tc-vax.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 02f3661c0f5..effaaaaf30d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2000-08-25 J. David Anglin + + * tc-vax.c (md_convert_frag): Correctly calculate the pc relative + offset of the target destination for jmp instructions. + (md_assemble): Change mode to VAX_ABSOLUTE_MODE as per comments. + 2000-08-24 Hans-Peter Nilsson * NEWS: Mention support for CRIS. diff --git a/gas/config/tc-vax.c b/gas/config/tc-vax.c index acf78ee199f..23429227ff3 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; -- 2.30.2