This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Fix the relax finalize pass


On Wed, May 14, 2003 at 04:28:38PM -0700, H. J. Lu wrote:
> On Thu, May 15, 2003 at 08:52:15AM +0930, Alan Modra wrote:
> > On Wed, May 14, 2003 at 03:53:46PM -0700, H. J. Lu wrote:
> > > The problem is linker keeps changing data segment address after the
> > > relax finalize pass starts. It makes the GP calculation in the relax
> > > finalize pass invalid. This patch tries to avoid it.
> > 
> > Huh?  When relax_finalize is set, you shouldn't be changing the size
> > of any sections.
> > 
> 
> That is what my patch tries to do. When the relax finalize is about to
> start, exp_data_seg.phase may be set to exp_dataseg_adjust during the
> last iteration. As the result, the data segment address may change.
> Also relax_finalize is not checked by lang_size_sections which will
> try to save a page whenever it has a chance.

My point was that the backend shouldn't be changing sizes during
relax_finalize.  If it does, then of course the generic parts of the
linker will also change sizes.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]