[PATCH 5/5] ix86: restrict use of GOT32X relocs

H.J. Lu hjl.tools@gmail.com
Tue Feb 4 07:27:55 GMT 2025


On Tue, Feb 4, 2025 at 3:24 PM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 03.02.2025 23:41, H.J. Lu wrote:
> > On Mon, Feb 3, 2025 at 7:42 PM Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> The linker rejects use of this reloc type without a base register for
> >> PIC code. Suppress its use by gas in such cases.
> >> ---
> >> The linker also rejects use of GOT32, but that's an issue the programmer
> >> has to deal with. In the assembler we need to avoid doing something
> >> wrong that the programmer has not explicitly asked for.
> >>
> >> --- a/gas/config/tc-i386.c
> >> +++ b/gas/config/tc-i386.c
> >> @@ -12990,7 +12990,8 @@ output_disp (fragS *insn_start_frag, off
> >>                         }
> >>                     }
> >>                   else if (generate_relax_relocations
> >> -                          || (i.rm.mode == 0 && i.rm.regmem == 5))
> >> +                          ? (!shared || i.rm.mode != 0 || i.rm.regmem != 5)
> >> +                          : (!shared && i.rm.mode == 0 && i.rm.regmem == 5))
> >>                     fixP->fx_tcbit2 = 1;
> >>                 }
> >>             }
> >
> > Please add a testcase to show it makes a difference.
>
> Such a testcase wouldn't fit my quality criteria, I'm afraid: It would
> likely need to look for the specific diagnostic text, and that's what
> I'm pretty sure you know I argue against when others try to add such
> tests.
>
> It'll also be in the linker testsuite, despite testing gas behavior.

That is true for this kind of changes.

> All this said, I guess I'll think about making a testcase nevertheless.
>
> Jan



-- 
H.J.


More information about the Binutils mailing list