[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