This lets us remove the special case from Writer::writeSections(), and also
fixes a bug where .eh_frame_hdr isn't necessarily written in the correct
order if a linker script moves .eh_frame and .eh_frame_hdr into the same
output section.
Details
Details
Diff Detail
Diff Detail
- Repository
- rLLD LLVM Linker
Event Timeline
lld/ELF/OutputSections.h | ||
---|---|---|
128 ↗ | (On Diff #188788) | At first I thought that this is a base address or something, but turned out this is just a pointer to the beginning of a buffer. Maybe BufferStart is a better name? |
lld/ELF/OutputSections.h | ||
---|---|---|
128 ↗ | (On Diff #188788) | Makes sense, done. |
Comment Actions
It looks like this change broke the clang-armv7-linux-build-cache which uses clang 5.0.1 running on a 32-bit ARM container http://lab.llvm.org:8011/builders/clang-armv7-linux-build-cache/builds/11063 . I've committed a temporary fix that r355195 that changes FileSize to use size_t rather than uint64_t. Mentioning it here just in case you want to fix it in different way.
Comment Actions
Hmm, it should probably be a uint64_t so that we can detect size overflows better on 32-bit platforms. Sent D58840 with the fix.