This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: stage one of gas reloc rewrite
- From: Jeff Law <law at porcupine dot slc dot redhat dot com>
- To: Alan Modra <amodra at bigpond dot net dot au>
- Cc: binutils at sources dot redhat dot com
- Date: Thu, 29 Aug 2002 11:18:07 -0600
- Subject: Re: stage one of gas reloc rewrite
- Reply-to: law at redhat dot com
In message <20020829232440.M18764@bubble.sa.bigpond.net.au>, Alan Modra writes:
>
>--jRHKVT23PllUwdXP
>Content-Type: text/plain; charset=us-ascii
>Content-Disposition: inline
>
>OK, here it is. The aim of stage one was to clean up the generic
>reloc code in write.c so that the back-end reloc functions,
>md_apply_fix3 and tc_gen_reloc had a clear, consistent and documented
>interface. fixup_segment, the function calling md_apply_fix3, had to
>change as it tended to pass wrong values to md_apply_fix3's *valP arg.
>eg. Under control of TC_FORCE_RELOCATION, fixup_segment would
>(properly) leave the symbol in the fixup, but improperly add it's
>value to *valP. This meant that md_apply_fix3 needed to do
>complicated tests on the fixup symbol to recalculate the correct
>addend. The following comments bear witness to the level of confusion
>in this area.
[ ... ]
Oh man. This code has been ripe for a clean/rewrite for years. I'm glad
to see someone take on this awful task.
I may not have time to test it PA native before you check it in, but
I will definitely give it a whirl sometime soon.
jeff