[lld] r316848 - Reduce sizeof(Symbol) from 104 bytes to 88 bytes.

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 30 10:34:03 PDT 2017


Rui Ueyama via llvm-commits <llvm-commits at lists.llvm.org> writes:

> Author: ruiu
> Date: Sat Oct 28 15:18:17 2017
> New Revision: 316848
>
> URL: http://llvm.org/viewvc/llvm-project?rev=316848&view=rev
> Log:
> Reduce sizeof(Symbol) from 104 bytes to 88 bytes.
>
> Finding aliases for shared symbols doesn't need st_shndx because
> we can just compare st_value.

This introduced a regression for abs symbols. Fixed in r316928.

>    uint64_t Value; // st_value
> -  uint64_t Size;  // st_size
> -  uint64_t Shndx; // st_shndx
> +  uint32_t Size;  // st_size

This changes Size to be 32 bits inside an unrelated patch. *Please*
don't do this. It should really be a independent patch. With this we
also now silently produce the wrong result if a symbol has a size that
doesn't fit in 32 bits.

I will revert this for now. Please send a patch for review with error
handling and testcase if we are to drop support for large symbols.

Cheers,
Rafael


More information about the llvm-commits mailing list