[lld] r228377 - [ELF] Speedup creating program headers.
Rui Ueyama
ruiu at google.com
Thu Feb 5 20:52:07 PST 2015
Maybe if you have two semicolons at end of line, clang-format moves the
second semicolon to the next line for you so that it becomes more visible?
On Thu, Feb 5, 2015 at 8:47 PM, Shankar Easwaran <shankare at codeaurora.org>
wrote:
> On 2/5/2015 10:44 PM, Rui Ueyama wrote:
>
>> On Thu, Feb 5, 2015 at 8:15 PM, Shankar Easwaran <shankare at codeaurora.org
>> >
>> wrote:
>>
>> Author: shankare
>>> Date: Thu Feb 5 22:15:04 2015
>>> New Revision: 228377
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=228377&view=rev
>>> Log:
>>> [ELF] Speedup creating program headers.
>>>
>>> After the total number of program headers are determined, virtual
>>> addresses
>>> and file offsets need not be reassigned for sections whose virtual
>>> addresses and
>>> fileoffsets remained the same.
>>>
>>> This doesnot change any functionality.
>>>
>>> Modified:
>>> lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h
>>>
>>> Modified: lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/
>>> DefaultLayout.h?rev=228377&r1=228376&r2=228377&view=diff
>>>
>>> ============================================================
>>> ==================
>>> --- lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h (original)
>>> +++ lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h Thu Feb 5 22:15:04
>>> 2015
>>> @@ -755,7 +755,7 @@ DefaultLayout<ELFT>::assignVirtualAddres
>>>
>>> std::sort(_segments.begin(), _segments.end(),
>>> Segment<ELFT>::compareSegments);
>>>
>>> - uint64_t virtualAddress = _context.getBaseAddress();
>>> + uint64_t baseAddress = _context.getBaseAddress();
>>>
>>> // HACK: This is a super dirty hack. The elf header and program
>>> header
>>> are
>>> // not part of a section, but we need them to be loaded at the base
>>> address
>>> @@ -774,6 +774,7 @@ DefaultLayout<ELFT>::assignVirtualAddres
>>> firstLoadSegment->prepend(_elfHeader);
>>> bool newSegmentHeaderAdded = true;
>>> bool virtualAddressAssigned = false;
>>> + bool fileOffsetAssigned = false;
>>> while (true) {
>>> for (auto si : _segments) {
>>> si->finalize();
>>> @@ -783,8 +784,8 @@ DefaultLayout<ELFT>::assignVirtualAddres
>>> }
>>> if (!newSegmentHeaderAdded && virtualAddressAssigned)
>>> break;
>>> - virtualAddressAssigned = true;
>>> - uint64_t address = virtualAddress;
>>> + uint64_t address = baseAddress;
>>> + ;
>>>
>>> Stray ';' here.
>>
> Swear this was not there before clang-format, Will clean this up.
>
> Thanks for reviewing.
>
> 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/20150205/4e00afbc/attachment.html>
More information about the llvm-commits
mailing list