On Fri, 21 Jun 2024, Richard Sandiford wrote:

> > We check gcc_cv_as_mips_explicit_relocs if 
> > gcc_cv_as_mips_explicit_relocs_pcrel
> > only, while gcc_cv_as_mips_explicit_relocs is used by later code.
> >
> > Maybe, it is time for use to set gcc_cv_as_mips_explicit_relocs always now,
> > as it has been in Binutils for more than 20 years.
> 
> Yeah, agreed FWIW.  This was necessary while the feature was relatively
> new, and while we still supported IRIX as, but I can't see any reasonable
> justification for using such an ancient binutils with modern GCC.
> 
> Getting rid of -mno-explicit-relocs altogether might simplify things.

 FWIW I tend to agree too, although I think the current mess has to be 
fixed first (and backported to the release branches) before going forward 
with the removal.

 And AFAICT the proposed change is the wrong one: it has to be analysed 
how we came at the current breakage and then the state reproducing how it 
used to work before recreated.

 Perhaps we need to check for general explicit reloc support first, before 
following with PC-relative relocs.  It seems natural to me this way, 
because you can't have support for PC-relative relocs (narrower scope) 
unless you have general explicit reloc support (wider scope) in the first 
place, so I wonder why we came up with what we have now.

  Maciej

Reply via email to