peter.smith (Peter Smith)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 11 2016, 8:56 AM (62 w, 4 d)

Recent Activity

Today

peter.smith updated the diff for D34355: [LLD][ELF] Define _GLOBAL_OFFSET_TABLE_ to base of .got for ARM.

I've updated the diff to record that we've added the _GLOBAL_OFFSET_TABLE_ symbol (addOptionalRegular will only define it if it is referenced). Assuming there are no more comments I'll commit it on Monday.

Fri, Jun 23, 3:17 AM

Yesterday

peter.smith abandoned D32223: [LLD][ELF] Add InputSectionDescriptions for Orphan Sections.

This is no longer required, it was implemented by a series of changes by Rafael starting with I think r303384

Thu, Jun 22, 8:13 AM
peter.smith abandoned D32799: [LLD][ELF] Make createThunks() use InputSectionDescriptions.

This is no longer required it was implemented in D33835

Thu, Jun 22, 8:04 AM
peter.smith abandoned D31659: [LLD][ELF] Be more precise about Thumb state bit in ARM thunks.

This is no longer required, it was implemented as part of D34036

Thu, Jun 22, 8:01 AM
peter.smith abandoned D26238: [LLD][ARM] Correct ARM TLS GOT entries without dynamic relocations..

This is no longer needed, it was implemented as part of D27213

Thu, Jun 22, 7:59 AM
peter.smith abandoned D26029: [LLD][ARM] ARM IRELATIVE relocations are in rel.dyn.

This is no longer required, implemented as part of D27406

Thu, Jun 22, 7:57 AM
peter.smith abandoned D33239: [LLD][ELF] Make SHF_LINK_ORDER section ordering use InputSectionDescriptions.

This is no longer needed, it was implemented in D33500 and D33496.

Thu, Jun 22, 7:54 AM
peter.smith created D34513: [NFC] Update to account for DiagnosticRenderer use of FullSourceLoc.
Thu, Jun 22, 7:19 AM

Wed, Jun 21

peter.smith accepted D34447: [ARM] Create relocations for beq.w branches to ARM function syms..

I'm happy with these changes, will be worth waiting a day or so to see if anyone else objects.

Wed, Jun 21, 10:34 AM
peter.smith updated the diff for D34355: [LLD][ELF] Define _GLOBAL_OFFSET_TABLE_ to base of .got for ARM.

I've updated the patch to support the general case of _GLOBAL_OFFSET_TABLE_ across the supported architectures.

Wed, Jun 21, 8:27 AM

Mon, Jun 19

peter.smith updated the summary of D34355: [LLD][ELF] Define _GLOBAL_OFFSET_TABLE_ to base of .got for ARM.
Mon, Jun 19, 9:55 AM
peter.smith created D34355: [LLD][ELF] Define _GLOBAL_OFFSET_TABLE_ to base of .got for ARM.
Mon, Jun 19, 9:54 AM
peter.smith added a comment to D34037: [LLD][ELF] Allow multiple thunks to be added for a symbol..

Is there anything more I can do to move this patch along?

Mon, Jun 19, 4:03 AM
peter.smith added a comment to D34035: [LLD][ELF] Introduce Thunk reuse compatibility.

Is there any more I can do to explain this patch?

Mon, Jun 19, 4:01 AM
peter.smith created D34345: [LLD][ELF] Reset any accumulated state before calculating addresses.
Mon, Jun 19, 3:49 AM
peter.smith created D34344: [LLD][ELF] Extract allocateHeaders() from assignAddresses().
Mon, Jun 19, 3:30 AM
peter.smith added a comment to D34138: [LLD][ELF] make default for get{ARM,AArch64}UndefinedRelativeWeakVA unreachable.

I've committed as r305673 as the last changes were only comment related. I'm happy to alter further if needed.

Mon, Jun 19, 2:45 AM

Thu, Jun 15

peter.smith updated the diff for D34138: [LLD][ELF] make default for get{ARM,AArch64}UndefinedRelativeWeakVA unreachable.

Updated diff to move comments and make it clearer that the +2 is for a 16-bit thumb instruction and +4 for ARM.

Thu, Jun 15, 2:19 AM
peter.smith updated the diff for D34034: [LLD][ELF] Make createThunks() iterate until no more thunks added.

The code still has
TS = make<ThunkSection>(TOS, IS->OutSecOff);
so now we create an extra thunk, no?

Thu, Jun 15, 2:05 AM

Wed, Jun 14

peter.smith updated the diff for D34034: [LLD][ELF] Make createThunks() iterate until no more thunks added.

Thank you for all the comments. I've updated the diff to:

  • Remove the skipping of relocations if we are already a ThunkSection, as it is not needed for the current set of thunks.
  • Remove AddressesChanged.
  • Remove the loop to be replaced with two calls.
Wed, Jun 14, 3:40 AM
peter.smith updated the diff for D34138: [LLD][ELF] make default for get{ARM,AArch64}UndefinedRelativeWeakVA unreachable.

Updated diff with comment changes. Let me know if you want any changes, otherwise I'll commit tomorrow?

Wed, Jun 14, 2:08 AM
peter.smith added a comment to D34138: [LLD][ELF] make default for get{ARM,AArch64}UndefinedRelativeWeakVA unreachable.

I'll update the comments and move the llvm_unreachable.

Wed, Jun 14, 1:40 AM

Tue, Jun 13

peter.smith created D34138: [LLD][ELF] make default for get{ARM,AArch64}UndefinedRelativeWeakVA unreachable.
Tue, Jun 13, 2:17 AM

Mon, Jun 12

peter.smith accepted D34061: Fix weak symbols on arm and aarch64.

Looks good to me, thanks for spotting the mistake and apologies for making it in the first place. I've made a minor suggestion about making the default case unreachable but I don't think that this is that important.

Mon, Jun 12, 4:12 AM

Fri, Jun 9

peter.smith updated the diff for D34034: [LLD][ELF] Make createThunks() iterate until no more thunks added.

Thanks for the comments. When range extension thunks are introduced we can no longer guarantee that only 2 passes will be needed so the limit will need to be raised. With the current supported thunks they will all be generated in the first pass, the second pass will find no more thunks. I've added a comment to make that explicit, and have added a comment to Passes as suggested.

Fri, Jun 9, 3:07 AM
peter.smith updated the diff for D34037: [LLD][ELF] Allow multiple thunks to be added for a symbol..

Thanks for the comments. I've updated the diff to return {ET, false} as suggested.

Fri, Jun 9, 3:00 AM

Thu, Jun 8

peter.smith created D34037: [LLD][ELF] Allow multiple thunks to be added for a symbol..
Thu, Jun 8, 7:23 AM
peter.smith created D34036: [LLD][ELF] Be more precise about Thumb state bit in ARM thunks.
Thu, Jun 8, 7:18 AM
peter.smith created D34035: [LLD][ELF] Introduce Thunk reuse compatibility.
Thu, Jun 8, 7:10 AM
peter.smith created D34034: [LLD][ELF] Make createThunks() iterate until no more thunks added.
Thu, Jun 8, 7:06 AM

Tue, Jun 6

peter.smith updated the diff for D33835: [LLD][ELF] Convert Thunks to use InputSectionDescriptions.

Rebase to account for changes in writer.cpp

Tue, Jun 6, 3:13 AM
peter.smith created D33931: [ARM] Add curly braces around switch case [NFC].
Tue, Jun 6, 3:09 AM
peter.smith accepted D33898: [ARM] Create relocations for unconditional branches..

I'm happy with these changes. Again, will be worth seeing if there are any objections from later time zones before committing.

Tue, Jun 6, 2:00 AM

Mon, Jun 5

peter.smith accepted D33838: [ARM] Create relocations for wide Thumb2 unconditional branches..

I'm happy with this change using the same argument as D33436. Will be worth waiting to see if anyone in a later timezone objects before committing.

Mon, Jun 5, 3:00 AM
peter.smith updated the diff for D33835: [LLD][ELF] Convert Thunks to use InputSectionDescriptions.

Rebase to account for changes in Writer.cpp (removal of fixSectionAlignments). Also took the opportunity to add a Mips linker script test.

Mon, Jun 5, 2:44 AM

Fri, Jun 2

peter.smith created D33835: [LLD][ELF] Convert Thunks to use InputSectionDescriptions.
Fri, Jun 2, 8:21 AM
peter.smith created D33834: [LLD][ELF] Refactor CreateThunks to extract the iteration through InputSections..
Fri, Jun 2, 8:01 AM
peter.smith created D33832: [LLD][ELF] Refactor ThunkCreator to not key on OutputSection for Thunks.
Fri, Jun 2, 7:57 AM
peter.smith updated the diff for D33492: [ARM] Support fixup for Thumb2 modified immediate.

Updated diff to correct immediate mask to 0xff which maps to imm8 in the ARM ARM, previously I had used 0xfff which caused the destination register to get corrupted when the high bits of the immediate were set.

Fri, Jun 2, 5:36 AM
peter.smith added a comment to D33492: [ARM] Support fixup for Thumb2 modified immediate.

Thanks for the spot, at a glance it looks like I've got the mask for the lowest immediate too large, I think it should be 0xff and not 0xfff. I'll check this afternoon and update.

Fri, Jun 2, 4:00 AM
peter.smith updated the diff for D33772: [LLD][ELF] SHF_LINK_ORDER should sort based on InputSectionDescriptions.

On trunk we now have

Fri, Jun 2, 2:43 AM

Thu, Jun 1

peter.smith accepted D33727: [GlobalMerge] Don't merge globals that may be preempted.

A Release Build of clang with that change has passed libc++ and libc++abi tests. I think that this is good to go, although it will be worth waiting to see if there are any objections from a later timezone first.

Thu, Jun 1, 7:09 AM
peter.smith created D33772: [LLD][ELF] SHF_LINK_ORDER should sort based on InputSectionDescriptions.
Thu, Jun 1, 5:06 AM
peter.smith added a comment to D33727: [GlobalMerge] Don't merge globals that may be preempted.

Change looks sensible to me. I'll rebuild and run the libc++ tests on ARM again and report back.

Thu, Jun 1, 1:54 AM

Tue, May 30

peter.smith accepted D33436: [ARM] Create relocations for Thumb functions calling ARM fns in ELF..

LGTM; I'm happy with that. It will be worth waiting a bit to make sure there are no other objections from those in different timezones.

Tue, May 30, 4:57 AM
peter.smith updated the diff for D33500: [LLD][ELF] .ARM.exidx sentinel section writeTo() should use InputSectionDescriptions..

Updated patch to account for changes in D33496 which meant that we can guarantee that both the Sentinel and the preceding InputSection are in the same InputSectionDescription. This permits a simpler implementation here.

Tue, May 30, 4:54 AM
peter.smith added a comment to D33436: [ARM] Create relocations for Thumb functions calling ARM fns in ELF..

In general that looks good to me. I think it would be best not to hoist the check for STT_FUNC and STT_GNU_IFUNC into MC as this is common to all Targets and STT_GNU_IFUNC is defined in the STT_LOOS (OS specific range) and hence could mean something different on another platform/target.

Tue, May 30, 2:38 AM

Fri, May 26

peter.smith updated the diff for D33500: [LLD][ELF] .ARM.exidx sentinel section writeTo() should use InputSectionDescriptions..

The inputSectionRanges() was previously defined in D33496, I've removed it from that review to use Script->getCmd() instead. Sorry for the confusion.

Fri, May 26, 4:02 AM
peter.smith updated the diff for D33496: [LLD][ELF] Move creation of .ARM.exidx sentinel before LinkerScript creation.

Updated patch to use Script->getCmd(OS) as suggested.

Fri, May 26, 3:53 AM

Thu, May 25

peter.smith updated the diff for D33500: [LLD][ELF] .ARM.exidx sentinel section writeTo() should use InputSectionDescriptions..

Updated due to D33496 needing inputSectionRanges() so we don't need to add it here as well. This patch now depends on D33496.

Thu, May 25, 7:03 AM
peter.smith updated the diff for D33496: [LLD][ELF] Move creation of .ARM.exidx sentinel before LinkerScript creation.

Updated patch to just append the .ARM.exidx sentinel section to an existing LinkerScript InputSectionDescription.

Thu, May 25, 7:00 AM

May 24 2017

peter.smith created D33500: [LLD][ELF] .ARM.exidx sentinel section writeTo() should use InputSectionDescriptions..
May 24 2017, 8:44 AM
peter.smith created D33496: [LLD][ELF] Move creation of .ARM.exidx sentinel before LinkerScript creation.
May 24 2017, 7:22 AM
peter.smith created D33492: [ARM] Support fixup for Thumb2 modified immediate.
May 24 2017, 5:57 AM
peter.smith added a comment to D33436: [ARM] Create relocations for Thumb functions calling ARM fns in ELF..

I've added a couple of inline comments and I hope I can answer the question about whether the relocations are harmless.

May 24 2017, 3:57 AM

May 17 2017

peter.smith created D33280: [LLD][ELF] Support R_ARM_SBREL32 Relocation.
May 17 2017, 8:07 AM
peter.smith updated the diff for D32799: [LLD][ELF] Make createThunks() use InputSectionDescriptions.

Updating diff to account for the detemplating of ThunkCreator and the proposed change in D33239 to move SHF_LINK_ORDER processing earlier in the link.
The key differences are:

  • When taken together with the proposed change in D33239 synchronize() is no longer needed
  • I've separated allocateHeaders() which only needs to, and I think can only, run once from assignAddresses() which needs to run many times for Thunks
May 17 2017, 2:15 AM

May 16 2017

peter.smith abandoned D31664: [LLD][ELF] Prefer placing ThunkSections before non ThunkSections.

I'm abandoning the range thunks implementation that inserts into OutputSections in favour of an implementation that inserts into InputSectionDescription.

May 16 2017, 7:37 AM
peter.smith abandoned D31663: [LLD][ELF] Account for range thunk that has drifted out of range.

I'm abandoning the range thunks implementation that inserts into OutputSections in favour of an implementation that inserts into InputSectionDescription.

May 16 2017, 7:36 AM
peter.smith abandoned D31662: [LLD][ELF] Introduce range extension thunks for ARM.

I'm abandoning the range thunks implementation that inserts into OutputSections in favour of an implementation that inserts into InputSectionDescription.

May 16 2017, 7:36 AM
peter.smith abandoned D31661: [LLD][ELF] Pre-create ThunkSections at Target specific intervals.

I'm abandoning the range thunks implementation that inserts into OutputSections in favour of an implementation that inserts into InputSectionDescription.

May 16 2017, 7:36 AM
peter.smith abandoned D31660: [LLD][ELF] Allow multiple thunks to be added for a symbol..

I'm abandoning the range thunks implementation that inserts into OutputSections in favour of an implementation that inserts into InputSectionDescription.

May 16 2017, 7:35 AM
peter.smith abandoned D31658: [LLD][ELF] Introduce Thunk reuse compatibility.

I'm abandoning the range thunks implementation that inserts into OutputSections in favour of an implementation that inserts into InputSectionDescription.

May 16 2017, 7:35 AM
peter.smith abandoned D31657: [LLD][ELF] Make createThunks() iterate until no more thunks added.

I'm abandoning the range thunks implementation that inserts into OutputSections in favour of an implementation that inserts into InputSectionDescription.

May 16 2017, 7:34 AM
peter.smith abandoned D31656: [LLD][ELF] Fix Thunks with placement restrictions and linker scripts.

I'm abandoning the range thunks implementation that inserts into OutputSections in favour of an implementation that inserts into InputSectionDescription.

May 16 2017, 7:34 AM
peter.smith abandoned D32233: [LLD][ELF] User linkerscript InputSectionDescription for .ARM.exidx dependency order.

Abandoning this revision in favour of D33239.

May 16 2017, 7:30 AM
peter.smith created D33239: [LLD][ELF] Make SHF_LINK_ORDER section ordering use InputSectionDescriptions.
May 16 2017, 7:28 AM
peter.smith added a comment to D33234: [ELF] - Detemplate Thunk creation..

Thanks for checking.

May 16 2017, 4:37 AM
peter.smith added a comment to D33234: [ELF] - Detemplate Thunk creation..

As it stands no objections from me. I've got some changes that I'd like to make in this area for range extension thunks, I'm expecting to be able to rewrite them to take out the template parameter but I'd be grateful if you could take a quick look at https://reviews.llvm.org/D31662, to see if there is anything obvious there that would need the template parameter. The range thunks patches are currently out of date and will need rebasing but I think the general approach will remain the same.

May 16 2017, 4:06 AM

May 10 2017

peter.smith added a comment to D32175: Add the llvm asan support.

I think you probably have the wrong set of reviewers. From a pure change perspective it looks fine to me, however I think you'll need to check with someone who knows the details of BSD and someone in the ASAN team to check it over stylistically. Perhaps Ed Maste on the BSD side and I think Kosta Serebryany on the sanitizer side. The same comment applies to D32172 . Apologies I don't feel like I can offer much help in reviewing.

May 10 2017, 1:14 AM

May 3 2017

peter.smith created D32799: [LLD][ELF] Make createThunks() use InputSectionDescriptions.
May 3 2017, 5:59 AM

May 2 2017

peter.smith abandoned D32485: [LLD][ELF] Make SHF_LINK_ORDER sections orphans.

This has been superseded by D32612, abandoning as no longer required.

May 2 2017, 7:26 AM
peter.smith created D32749: [LLD][ELF] Fix problems with fabricateDefaultCommands() and --section-start.
May 2 2017, 7:16 AM
peter.smith accepted D32072: [AArch64] ILP32 Backend Relocation Support.

I'm happy with the changes, and have no further comments.

May 2 2017, 3:09 AM

Apr 28 2017

peter.smith added a comment to D31888: [LLD][ELF] Always use Script::assignAddresses().

I've been having a bit of trouble trying to reproduce the problem from the source code with enough confidence to know it is the same problem you are seeing. I've definitely found one other problem which I have a fix for but I don't think it is the same thing.

  • The first thing I did was to fix the problem you mention and pass AllocateHeader to FabricateDefaultCommands(). I don't see any test failures but that doesn't mean there isn't a problem.
  • From what I can see of AllocateHeader = allocateHeaders(Phdrs, OutputSections, Min) is that it returns false only when there are no PT_LOAD program headers or if HeaderSize > Min.
  • Min is set to either -1 (Unsigned so Wrap to max) or the minimum VA of the sections in the SectionStartMap. These are AFAIK only set with -Ttext=addr or --section-start .text=addr
    • Min is set regardless of whether the section is SHF_ALLOC or not
  • If I'm correct, I assume that your target is using some kind of SectionStartMap, or you have some downstream modification that I don't know about.
    • Can you let me know how you achieve AllocateHeader=false?
  • If AllocateHeader=false then the first call to allocateHeaders terminates before do alignDown(Min - HeaderSize)
  • There is a problem in Script::fabricateDefaultCommands() in that it uses the first section in the SectionStartMap to find the minimum address instead of iterating through it and find the lowest so we can get the wrong value for lowest and get an error message from setDot(). This is trivial to fix by looping through and finding the minimum.
    • As you don't mention an error I'm guessing that this isn't the problem that you are seeing.
  • The second call to allocateHeaders() in assignAddresses() sets the Min from the lowest SHF_ALLOC section address.
    • As non SHF_ALLOC sections are ignored we can enter assignAddresses() with a different value of Min from the first call as I can do --section-start non_alloc_section=0x0 which isn't ignored for the first call, but is for the second. This means that the second call to assignAddresses() can in theory get to alignDown(Min - HeaderSize)
    • As the SHF_ALLOC sections are given addresses from the SectionStartMap they should get the same address from the script so if HeaderSize < Min in the first call it should also be the case in the second.
Apr 28 2017, 6:30 AM

Apr 27 2017

peter.smith added a comment to D32612: Remove LinkerScript::flush.

This looks good to me too.

Apr 27 2017, 4:30 PM
peter.smith added a comment to D32072: [AArch64] ILP32 Backend Relocation Support.

New changes look ok, just from looking at the diff between the two patches I can see:
That there aren't any new tests for R_AARCH64_P32_TLSLD_LDST128_DTPREL_LO12 and R_AARCH64_P32_TLSLD_LDST128_LO12_NC forms (there is a comment) and I think that these are implemented as there is an earlier case in a different file that uses them. Have I got that one wrong?

Apr 27 2017, 1:21 AM
peter.smith added a comment to D32485: [LLD][ELF] Make SHF_LINK_ORDER sections orphans.

Yes that is what it is doing. If there are no InputSectionDescriptions in an OutputSection, the script falls back to flush() which just outputs any OutputSections::Sections() that have not already been output as part of an InputSection. By clearing the InputSectionDescriptions flush() picks up the ordering from OutputSections::finalize();

Apr 27 2017, 12:50 AM

Apr 25 2017

peter.smith added a comment to D32233: [LLD][ELF] User linkerscript InputSectionDescription for .ARM.exidx dependency order.

I've created D32485 for an alternative implementation that just makes the link order sections orphans. I think that this ends up being a bit simpler overall.

Apr 25 2017, 6:46 AM
peter.smith created D32485: [LLD][ELF] Make SHF_LINK_ORDER sections orphans.
Apr 25 2017, 6:44 AM
peter.smith added a comment to D32223: [LLD][ELF] Add InputSectionDescriptions for Orphan Sections.

The main difficulty in creating and adding the Orphan OutputSectionCommand in addOrphanSections() is that we don't have a good idea of where in the order of OutputSectionCommands to insert them. The placeOrphanSections() is intentionally run immediately after sortSections() has been called so that it can insert the OutputSectionCommands in the right place. There is a comment in Writer.c in sortSections() that says:

// The way we define an order then is:
// *  First put script sections at the start and sort the script and
//    non-script sections independently.
// *  Move each non-script section to its preferred position. We try
//    to put each section in the last position where it it can share
//    a PT_LOAD.

It may be possible to create the Orphan OutputSectionCommands early and have the comparison routine work out the ordering, although there is a comment in the same block as the one above that claims that coming up with a strict weak ordering to get the desired result is not easy.

Apr 25 2017, 4:09 AM
peter.smith added a comment to D32233: [LLD][ELF] User linkerscript InputSectionDescription for .ARM.exidx dependency order.

I can think of some options, although each has their own trade-off. Apologies for the length of the answer.

Apr 25 2017, 3:29 AM

Apr 21 2017

peter.smith added a comment to D32355: [ELF] - Remove dead TLS relocations relative code for MIPS and ARM.

I don't have any objections to it being removed. It can be reintroduced if we need it later.

Apr 21 2017, 8:51 AM
peter.smith added a comment to D32072: [AArch64] ILP32 Backend Relocation Support.

I've spotted what I think is one mistake, R_AARCH64_P32_TLSDESC_ADR_PREL19 should be R_AARCH64_P32_TLSDESC_ADR_PREL21. I've put some suggestions for some missing test cases as well. Other than that I can't spot any obvious problems.

Apr 21 2017, 3:24 AM

Apr 19 2017

peter.smith created D32233: [LLD][ELF] User linkerscript InputSectionDescription for .ARM.exidx dependency order.
Apr 19 2017, 9:43 AM
peter.smith created D32223: [LLD][ELF] Add InputSectionDescriptions for Orphan Sections.
Apr 19 2017, 6:46 AM
peter.smith added a comment to D31888: [LLD][ELF] Always use Script::assignAddresses().

Now committed r300687.

Apr 19 2017, 6:01 AM
peter.smith accepted D32053: Define __tls_get_addr as a hidden symbol even for ARM or MIPS..

I agree that the code is now redundant and can be removed. It used to be the case that addIgnored() would define the symbol even when there was an existing definition and cause a duplicate error. It looks like this was later fixed in -r287125 Don't error if __tls_get_addr is defined.

Apr 19 2017, 3:13 AM

Apr 13 2017

peter.smith abandoned D32030: [LLD][ELF] Work in progress of using InputSectionDescriptions for createThunks().

Marking as abandoned as this patch is for communication only.

Apr 13 2017, 10:11 AM
peter.smith created D32030: [LLD][ELF] Work in progress of using InputSectionDescriptions for createThunks().
Apr 13 2017, 10:10 AM
peter.smith added a comment to D31888: [LLD][ELF] Always use Script::assignAddresses().

Thanks for the review. I'll hold off on committing this till I get back from the UK Easter public holidays just in case this causes problems outside of the tests and I'm not around to fix them.

Apr 13 2017, 5:26 AM

Apr 11 2017

peter.smith created D31932: [LLD][ELF] Mark ARM Exceptions that refer to folded code as not live.
Apr 11 2017, 5:51 AM
peter.smith added inline comments to D31751: [LLD][ELF] Tidy up handleARMTlsRelocation [NFC].
Apr 11 2017, 3:12 AM
peter.smith updated the diff for D31888: [LLD][ELF] Always use Script::assignAddresses().

Updated diff to address review comments.
Apologies for leaving PHDRS in, I had originally attempted to merge fixSectionAlignments() into FabricateSectionAlignments(), but decided against it.

Apr 11 2017, 2:12 AM

Apr 10 2017

peter.smith created D31888: [LLD][ELF] Always use Script::assignAddresses().
Apr 10 2017, 8:13 AM

Apr 7 2017

peter.smith updated the diff for D31751: [LLD][ELF] Tidy up handleARMTlsRelocation [NFC].

Yes, we can use Config->Shared instead, thanks for pointing that out. I've updated to use Config->Shared and have put back the use of TlsOffsetRel in the Got, it could be possible to add another field to make it use a more regular relocation code, but I'm not sure that is a net win in readability. I'm happy to make the change if it is important to others though.

Apr 7 2017, 3:02 AM
peter.smith added a comment to D31749: [LLD][ELF] Fix ARM TLS global dynamic TlsOffsetRel for non-preemtible symbols.

I've used the regular relocation code for this change.

Apr 7 2017, 2:50 AM

Apr 6 2017

peter.smith abandoned D31672: [LLD][ELF] Fix ARM TLS global dynamic TlsOffsetRel for non-preemptible symbols.

I've split this into 3 reviews:
D31748 Split handleNoRelaxTlsRelocation into ARM and Mips specific impls
D31749 Fix ARM TLS global dynamic TlsOffsetRel for non-preemtible symbols
D31751 Tidy up handleARMTlsRelocation [NFC]
To separate out the refactoring from the fix.

Apr 6 2017, 3:40 AM
peter.smith created D31751: [LLD][ELF] Tidy up handleARMTlsRelocation [NFC].
Apr 6 2017, 3:32 AM
peter.smith created D31749: [LLD][ELF] Fix ARM TLS global dynamic TlsOffsetRel for non-preemtible symbols.
Apr 6 2017, 3:29 AM