[PATCH] PR gold/19177: gold doesn't handle R_386_GOT32X relocation without base register

H.J. Lu hjl.tools@gmail.com
Wed Oct 28 19:43:00 GMT 2015


On Wed, Oct 28, 2015 at 8:40 AM, Cary Coutant <ccoutant@gmail.com> wrote:
>> +         if(gsym)
>> +           gold_error_at_location(relinfo, relnum, rel.get_r_offset(),
>> +                                  _("unexpected reloc %u against global symbol %s without base register in object file when making a PIC output"),
>> +                                  r_type, gsym->demangled_name().c_str());
>> +         else
>> +           gold_error_at_location(relinfo, relnum, rel.get_r_offset(),
>> +                                  _("unexpected reloc %u against local symbol without base register in object file when making a PIC output"),
>> +                                  r_type);
>
> s/making a PIC output/generating a position-independent output file/
>
> (This could also be PIE, right?)
>

That is correct.  We can't use R_386_GOT32 and R_386_GOT32X
relocations without base register in PIE since we don't know what
GOT address is.

-- 
H.J.



More information about the Binutils mailing list