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

Cary Coutant ccoutant@gmail.com
Wed Oct 28 15:40:00 GMT 2015


> +         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?)

> +         // Don't subtract the .got.plt section address for baseless
> +         // adressing.

s/adressing/addressing/

> +         // Add the .got.plt section address for baseless adressing.

Likewise.

>         PR gold/19177
>         * i386.cc (Target_i386::Relocate::relocate): Check R_386_GOT32
>         and R_386_GOT32X relocations without base register.

OK with the above fixes.

-cary



More information about the Binutils mailing list