Displaying 5 results from an estimated 5 matches for "outputsectionbase".
2016 Oct 18
3
RFC: LLD: creating linker-generated sections as input sections instead of output sections
This idea popped up in the review thread for https://reviews.llvm.org/D25627
.
Problem:
Currently, LLD creates special sections that are not just concatenations of
input sections but need link-time data generation, such as .got, .plt,
interp, .mips.options, etc., as output sections. We have OutputSectionBase
subclasses (e.g. GotSection, PltSection, etc.) to create data. Even though
this scheme works in most cases, there are a few situations that doesn't
work well as you may have noticed. Here are a issues.
- You cannot mix special sections with other types of sections.
For example, using linke...
2016 Feb 03
2
lld dynamic relocation creation issue
...r_addend) points to a function at
.text segment (in this case frame_dummy).
I am trying to made this on lld, but current step sequence is:
- Write::run
\_ Write::createSections
\_ Write::scanRelocs
\_ Write::addReloc // Dynamic Relocation creation
\_ Write::writeSections
\_ OutputSectionBase::writeTo
\_ InputSection::writeTo
\_ InputSection::relocate
\_ TargetInfo::relocateOne
The problem is only at TargetInfo::relocate the target (aarch64) will see
that the relocation is a R_AARCH64_ABS64 one and thus will need to create
a dynamic R_AARCH64_RELATIVE...
2016 Oct 19
2
LLD: creating linker-generated sections as input sections instead of output sections
.../reviews.llvm.org/D25627.
>
>>
>>Problem:
>>
>>Currently, LLD creates special sections that are not just concatenations of
>> input sections but need link-time data generation, such as .got, .plt,
>> interp, .mips.options, >etc., as output sections. We have OutputSectionBase
>> subclasses (e.g. GotSection, PltSection, etc.) to create data. Even though
>> this scheme works in most cases, >there are a few situations that doesn't
>> work well as you may have noticed. Here are a issues.
>>
> >- You cannot mix special sections with othe...
2016 Oct 19
3
LLD: creating linker-generated sections as input sections instead of output sections
...t;Problem:
> >>>
> >>>Currently, LLD creates special sections that are not just
> concatenations of
> >>> input sections but need link-time data generation, such as .got, .plt,
> >>> interp, .mips.options, >etc., as output sections. We have
> OutputSectionBase
> >>> subclasses (e.g. GotSection, PltSection, etc.) to create data. Even
> though
> >>> this scheme works in most cases, >there are a few situations that
> doesn't
> >>> work well as you may have noticed. Here are a issues.
> >>>
> &g...
2016 Jun 21
2
[LLD] thunk implementation correctness depends on order of input section.
...ndirected via the
thunk is processed after the InputSection that the thunk is added to.
For reference the important code snippet in Writer.cpp is:
// Scan relocations. This must be done after every symbol is declared so that
// we can correctly decide if a dynamic relocation is needed.
for (OutputSectionBase<ELFT> *Sec : OutputSections) {
Sec->forEachInputSection([&](InputSectionBase<ELFT> *S) {
if (auto *IS = dyn_cast<InputSection<ELFT>>(S)) {
// Set OutSecOff so that scanRelocations can use it.
uintX_t Off = alignTo(Sec->getSize(), S->Ali...