[lld] r320817 - Handle a VersymIndex of 0 as an error.

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 22 10:27:47 PST 2017


Simon Atanasyan <simon at atanasyan.com> writes:

> Hi Rafael,
>
> Starting from this commit I get the following error in attempt to
> build MIPS executable:
> [[
> error: corrupt input file: version definition index 0 for symbol
> _gp_disp is out of bounds
>>>> defined in ..../code-2017.10-mti/lib/gcc/mips-mti-linux-gnu/6.3.0/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard/lib/libgcc_s.so.1
> ]]
>
> The "_gp_disp" symbol defined in the "libgcc_s.so.1" as "SECTION
> GLOBAL DEFAULT ABS". The "libgcc_s.so.1" is a part of CodeScape
> toolchain and linked using GNU tools.
>
> Do you think that libgcc_s.so.1 has broken version info or global
> section symbol is a corner case and zero VersymIndex is a correct
> value?

I can't think of a useful meaning for that value. Are current bfd linkers
still producing that value? If so, could you provide instructions on how
to create a .so with that issue?

What behavior is expected of users of that .so? Should they ignore the
symbol?

Cheers,
Rafael



More information about the llvm-commits mailing list