From 0f894895a1182d8e02e562331b95c9d8cf173f6a Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 5 Nov 1993 01:01:18 +0000 Subject: [PATCH] * write.c (chain_frchains_together): Update pointer to last frag for a segment in the seginfo structure. --- gas/ChangeLog | 5 +++++ gas/write.c | 14 +++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index e501d6cc9f7..156c1751b9c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +Thu Nov 4 17:00:05 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * write.c (chain_frchains_together): Update pointer to last + frag for a segment in the seginfo structure. + Thu Nov 04 09:09:35 1993 Jeffrey Wheat (cassidy@cygnus.com) * Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS diff --git a/gas/write.c b/gas/write.c index e2e1c3dffed..b36eb3bb37c 100644 --- a/gas/write.c +++ b/gas/write.c @@ -305,7 +305,8 @@ chain_frchains_together (abfd, section, xxx) subseg_new, so it is possible that seg_info is NULL. */ info = seg_info (section); if (info != (segment_info_type *) NULL) - chain_frchains_together_1 (section, info->frchainP); + info->frchainP->frch_last + = chain_frchains_together_1 (section, info->frchainP); } #endif @@ -1896,8 +1897,15 @@ fixup_segment (fixP, this_segment_type) add_number -= S_GET_VALUE (sub_symbolP); } #ifdef DIFF_EXPR_OK - else if (!pcrel - && S_GET_SEGMENT (sub_symbolP) == this_segment_type) + else if (S_GET_SEGMENT (sub_symbolP) == this_segment_type +#if 0 + /* Do this even if it's already described as + pc-relative. For example, on the m68k, an + operand of "pc@(foo-.-2)" should address "foo" + in a pc-relative mode. */ + && pcrel +#endif + ) { /* Make it pc-relative. */ add_number += (md_pcrel_from (fixP) -- 2.30.2