Details
- Reviewers
ruiu • rafael - Commits
- rG1ab9cf49d0bc: [ELF] - Recommit "[ELF] - Make Bss and BssRelRo sections to be synthetic (#3)."…
rG22e3e7d165f6: [ELF] - Make Bss and BssRelRo sections to be synthetic (#3).
rLLD298062: [ELF] - Recommit "[ELF] - Make Bss and BssRelRo sections to be synthetic (#3)."
rLLD297814: [ELF] - Make Bss and BssRelRo sections to be synthetic (#3).
rL298062: [ELF] - Recommit "[ELF] - Make Bss and BssRelRo sections to be synthetic (#3)."
rL297814: [ELF] - Make Bss and BssRelRo sections to be synthetic (#3).
Diff Detail
Event Timeline
ELF/Relocations.cpp | ||
---|---|---|
483 | I remember that last time I had to change this type from size_t to uintX_t because your previous change broke buildbots. | |
ELF/SyntheticSections.h | ||
156–157 | BssRelSection sections? This needs updating. "BssSection is used to reserve space for copy relocations. We create two instances of this class for .bss and .bss.rel.ro. .bss is use for writable symbols, and .bss.rel.ro is used for read-only symbols." | |
165 | Rafael made a change to rename AddrAlign Alignment. Please take a look at that change and make your change consistent with that. |
LGTM
ELF/SyntheticSections.h | ||
---|---|---|
167 | Make this private if you are always accessing this via getSize. |
- Fixed one more issue that hopefully should be enough now for aarch64 bot.
Issue was relative to symbol alignment. If we had common symbol and ".bss" section for it with alignment 4
and then created copy relocation for symbol with alignment == 8 then final layout was wrong.
It was AAAABBBBBBBB when should be AAAA0000BBBBBBBB, where A - space for common symbol and
B - space for copy relocated.
That happened because previously we would create 2 .bss sections (one for commons, one for relocations),
but now create single.
Testcase is provided.
I remember that last time I had to change this type from size_t to uintX_t because your previous change broke buildbots.