Compact EhSectionPiece from 32 bytes to 16 bytes.
authorRui Ueyama <ruiu@google.com>
Tue, 19 Sep 2017 23:36:48 +0000 (23:36 +0000)
committerRui Ueyama <ruiu@google.com>
Tue, 19 Sep 2017 23:36:48 +0000 (23:36 +0000)
commit014b0f24aec951bf0e20d86cc43ab2e9ee9360e0
tree6ff5283025ef68713fd5296070113d59ddce965d
parentd652aeb1443619f237dba9c7c31459325ed75ab3
Compact EhSectionPiece from 32 bytes to 16 bytes.

EhSectionPiece used to have a pointer to a section, but that pointer was
mostly redundant because we almost always know what the section is without
using that pointer. This patch removes the pointer from the struct.

This patch also use uint32_t/int32_t instead of size_t to represent
offsets that are hardly be larger than 4 GiB. At the moment, I think it is
OK even if we cannot handle .eh_frame sections larger than 4 GiB.

Differential Revision: https://reviews.llvm.org/D38012

llvm-svn: 313697
lld/ELF/EhFrame.cpp
lld/ELF/EhFrame.h
lld/ELF/InputSection.cpp
lld/ELF/InputSection.h
lld/ELF/MarkLive.cpp
lld/ELF/SyntheticSections.cpp
lld/ELF/SyntheticSections.h