[lld] r222312 - [ELF] Fix creation of segments.

Rui Ueyama ruiu at google.com
Tue Nov 18 21:14:28 PST 2014


Then "2" should be dropped from the name.

On Tue, Nov 18, 2014 at 9:03 PM, Shankar Easwaran <shankare at codeaurora.org>
wrote:

>
> On 11/18/2014 10:42 PM, Rui Ueyama wrote:
>
>> On Tue, Nov 18, 2014 at 7:51 PM, Shankar Easwaran <
>> shankare at codeaurora.org>
>> wrote:
>>
>>  Author: shankare
>>> Date: Tue Nov 18 21:51:48 2014
>>> New Revision: 222312
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=222312&view=rev
>>> Log:
>>> [ELF] Fix creation of segments.
>>>
>>> Linker was creating a separate output segment in some cases if input
>>> sections
>>> had huge alignments. This patch fixes the issue.
>>>
>>> Added:
>>>      lld/trunk/test/elf/X86_64/outputsegments.test
>>> Modified:
>>>      lld/trunk/lib/ReaderWriter/ELF/SegmentChunks.h
>>>      lld/trunk/test/elf/X86_64/alignoffset.test
>>>      lld/trunk/test/elf/phdr.test
>>>
>>> Modified: lld/trunk/lib/ReaderWriter/ELF/SegmentChunks.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/
>>> SegmentChunks.h?rev=222312&r1=222311&r2=222312&view=diff
>>>
>>> ============================================================
>>> ==================
>>> --- lld/trunk/lib/ReaderWriter/ELF/SegmentChunks.h (original)
>>> +++ lld/trunk/lib/ReaderWriter/ELF/SegmentChunks.h Tue Nov 18 21:51:48
>>> 2014
>>> @@ -406,6 +406,8 @@ void Segment<ELFT>::assignFileOffsets(ui
>>>     for (auto &slice : slices()) {
>>>       bool isFirstSection = true;
>>>       for (auto section : slice->sections()) {
>>> +      // Align fileoffset to the alignment of the section.
>>> +      fileOffset = llvm::RoundUpToAlignment(fileOffset,
>>> section->align2());
>>>
>>>  Is this correct? align2 seems to imply that's an exponent. If so, it
>> had to
>> be used as 1 << section->align2().
>>
> AtomSection::appendAtom handles it and sets the align2 value after
> shifting.
>
> Shankar Easwaran
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
> by the Linux Foundation
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141118/9e3af0c5/attachment.html>


More information about the llvm-commits mailing list