From aeb7e01420d64a5464361099a2cbb997fe5c1f3e Mon Sep 17 00:00:00 2001 From: Gunther Nikl Date: Tue, 23 Dec 2008 16:49:46 +0000 Subject: [PATCH] (fixup_segment): Move baserel adjustment for non-BFD _before_ md_apply_fix3. Do not modify add_number for relocations against undefined symbols. --- gas/write.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gas/write.c b/gas/write.c index 9f30901..3aca838 100644 --- a/gas/write.c +++ b/gas/write.c @@ -2744,6 +2744,11 @@ fixup_segment (fixP, this_segment) } } +#if !defined(BFD_ASSEMBLER) && !defined(MANY_SEGMENTS) + if (fixP->tc_fix_data && add_number != fixP->fx_offset) + add_number -= text_last_frag->fr_address; +#endif + if (!fixP->fx_done) md_apply_fix3 (fixP, &add_number, this_segment); @@ -2757,11 +2762,6 @@ fixup_segment (fixP, this_segment) symbol_mark_used_in_reloc (fixP->fx_subsy); } -#if !defined(BFD_ASSEMBLER) && !defined(MANY_SEGMENTS) - if (fixP->tc_fix_data && add_number) - add_number -= text_last_frag->fr_address; -#endif - if (!fixP->fx_bit_fixP && !fixP->fx_no_overflow && fixP->fx_size != 0) { if (fixP->fx_size < sizeof (valueT))