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]

Re: s390 gas bug


Hi Martin,

> The problem is that fixup_segment does too much for a certain type
> of relocation that is quite common for 31 bit s/390:
> 
> .LT0:
> .LC1:  .long function@PLT - .LT0
> 
> A relocation of this kind is forced but fixup_segment insists to do 
>    add_number += (S_GET_VALUE (add_symbolP) - S_GET_VALUE (sub_symbolP))
> in the case add_symbolP is in the same segment as sub_symbolP.
> I think the TC_FORCE_RELOCATION check is done too late in
> fixup_segment

You could use TC_FORCE_RELOCATION_SECTION.  This is always called just
after the computation you mention above, and it is only called in this
situation.

> Any chance that fixup_segment will get reworked in the near future ?

Only if you volunteer to do it.  :-)

> The question regarding this patch is, should I check these two files
> in, or has anyone the desire to proof-read them first? 

Since you are the s390 maintainer, just go ahead and check them in.
If you think any bits might be controvertial then posting them to this
list first might be a good idea.

Cheers
        Nick



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