This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: MIPS md_apply_fix()(?) problem.
Alan Modra <amodra@bigpond.net.au> writes:
> On Mon, Nov 19, 2001 at 04:27:10PM +0000, Nick Clifton wrote:
> >
> > Then I was going to add a new bitfield to the fixup which would
> > fixup_segment would set if it had added in the symbol's value before
> > calling md_apply_fix3. Backends could then examine this flag and undo
> > the addition if they wanted to. In fact it might be better to have a
> > target specific macro that fixup_segment uses to check to see whether
> > it should add in the symbol's value in the first place.
>
> I'm of the opinion that there's a serious problem with the md_apply_fix3
> interface.
> a) We have hacks and tweaks inside a function to undo the caller's
> actions. That shouldn't be necessary.
> b) Comments like the following, taken from tc-ppc.c
> /* FIXME: Why '+'? Better yet, what exactly is '*valuep'
> supposed to be? I think this is related to various similar
> FIXMEs in tc-i386.c and tc-sparc.c. */
>
> Of course, pointing out architectural problems is a little different
> to fixing them, and I haven't studied the code with a view to rewriting
> it. :)
See bfd/doc/bfdint.texi, the node ``BFD relocation handling.''
Ian