This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: MIPS patch to correct the size of %neg() fixups
Richard Sandiford wrote:
> Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de> writes:
> > Richard Sandiford wrote:
> > > macro_build() only adds one fixup at a time. If a macro like
> > > .cpsetup needs to create a compound relocation, it adds the other
> > > fixups separately using fix_new().
> >
> > Sure, but there is no macro I know of which would need something
> > different than RSS_UNDEF.
>
> Then at least we partly agree ;)
>
> > > So I think the code we're talking about is only needed for processing
> > > explicit relocation operators (%hi, etc). And as far as I'm aware,
> > > the syntax doesn't allow r_ssym to be anything other than RSS_UNDEF.
> >
> > AFAICS this has to depend on the reloc type (e.g. for gprel/pcrel
> > relocs), otherwise the RSS_* defines would be completely useless.
>
> Can you be more specific? Like I say, this code should only be needed
> to handle relocation operators, so perhaps some example source input
> would help me to understand what you mean.
I don't have example code. I just conclude from the existence of RSS_*
that there is some use for it. Maybe I'm wrong, and it was never
actually used.
> At the moment, I find it difficult to believe that we should use
> something other than RSS_UNDEF for a %foo() operator without the
> user explicitly asking for it. And there's no syntax for them
> to do that.
Maybe you are right. But then, why does RSS_* exist?
Thiemo