Clean up platform-specific code in gas/write.c

Alexandre Oliva aoliva@redhat.com
Sat Aug 19 15:16:00 GMT 2000


On Aug 19, 2000, Geoff Keating <geoffk@cygnus.com> wrote:

>> From: Alexandre Oliva <aoliva@redhat.com>
>> Date: 19 Aug 2000 14:06:50 -0300

>> Presumably, PC-relative relocations should not be deferred to the
>> linker, since they may be limited in range.

> This is target-dependent (the 'may be', the 'since', and the 'should
> not', all different on different platforms).

Yep.  How about this patch, then?  I figured out how to fix SH to do
what I wanted without having to tweak anything in the generic tree.
But, by then, it was too late, and I had already converted all the
ports I had changed yesterday to use the more flexible and
better-looking approach of TC_FIX_ADJUSTABLE(fixP) instead of
TC_DONT_FIX_NON_ADJUSTABLE (which, by itself, is hard to read because
of the multiple negations).

Also note that TC_FIX_ADJUSTABLE(fixP) is now defined within #ifdefs,
to match the original code.  But maybe I should #define them to 0
instead of `{obj,tc}_fix_adjustable(fixP)', so that the behavior would
indeed be identical to the original?

Here's the patch.  Ok to install?



More information about the Binutils mailing list