Diff Detail
Event Timeline
| ELF/OutputSections.cpp | ||
|---|---|---|
| 182–188 | Add a comment about this being a placeholder for the second entry in a gd pair (which was handled in the previous iteration. | |
| ELF/InputSection.cpp | ||
|---|---|---|
| 129 | Probably. We would need to change getTlsLocalDynamicReloc too. | |
LGTM, but please change getTlsLocalDynamicReloc to isTlsLocalDynamicReloc (and global equivalent) in a followup commit.
| ELF/OutputSections.cpp | ||
|---|---|---|
| 86 | Probably would be better to make another method for that case because it is still possible for symbol to be TLS but consume only one GOT entry. I fixed this for my patch: | |
| 185 | I would use && here, its more strict check. There should be no other cases when one of these is null but other is not. static DynamicReloc<ELFT> TlsDynamicRelocationPlaceholder;
...
Out<ELFT>::RelaDyn->addReloc({&C, &RI});
Out<ELFT>::RelaDyn->addReloc(TlsDynamicRelocationPlaceholder);
...
if (&Rel == &TlsDynamicRelocationPlaceholder)
continue; | |
| test/elf2/tls-dynamic.s | ||
| 75 | Its not visible here but tabs are used instead of spaces in test in few places. Other tests dont has tabs I think. | |
You are not using a return value of getTlsGlobalDynamicReloc except comparing it with Type. Isn't isTlsGlobalDynamicReloc(uint32_t) better than getTlsGlobalDynamicReloc()?