From 62b2acbabfd617c4ceac4da55af2ab5d53d7167e Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 6 Jan 1997 22:25:05 +0000 Subject: [PATCH] * config/tc-mn10200.c (md_assemble): Tweak fx_offset for pc-relative relocs. Relocs for the mn10200. --- gas/ChangeLog | 7 ++++++- gas/config/tc-mn10200.c | 9 ++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 3a13213..1805fd2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,6 +1,11 @@ +Mon Jan 6 15:19:32 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (md_assemble): Tweak fx_offset for pc-relative + relocs. + Fri Jan 3 16:47:08 1997 Jeffrey A Law (law@cygnus.com) - * config/tc-hppa.c (struct hppa_fix_struct): Steak fx_r_field's type + * config/tc-hppa.c (struct hppa_fix_struct): Tweak fx_r_field's type to avoid warnings with the native HP compiler. (fix_new_hppa): Similarly for the r_type argument. (pa_build_unwind_subspace, hppa_elf_mark_end_of_function): Enclose diff --git a/gas/config/tc-mn10200.c b/gas/config/tc-mn10200.c index 36894ca..e57a6c1 100644 --- a/gas/config/tc-mn10200.c +++ b/gas/config/tc-mn10200.c @@ -741,6 +741,7 @@ keep_going: else { int reloc, pcrel, reloc_size, offset; + fixS *fixP; reloc = BFD_RELOC_NONE; /* How big is the reloc? Remember SPLIT relocs are @@ -786,9 +787,11 @@ keep_going: else if (reloc_size == 32 || reloc_size == 24) reloc_size = 2; - fix_new_exp (frag_now, f - frag_now->fr_literal + offset, reloc_size, - &fixups[i].exp, pcrel, - ((bfd_reloc_code_real_type) reloc)); + fixP = fix_new_exp (frag_now, f - frag_now->fr_literal + offset, + reloc_size, &fixups[i].exp, pcrel, + ((bfd_reloc_code_real_type) reloc)); + if (pcrel) + fixP->fx_offset += offset; } } } -- 2.7.4