peter.smith (Peter Smith)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 11 2016, 8:56 AM (58 w, 1 d)

Recent Activity

Wed, May 17

peter.smith created D33280: [LLD][ELF] Support R_ARM_SBREL32 Relocation.
Wed, May 17, 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
Wed, May 17, 2:15 AM

Tue, May 16

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.

Tue, May 16, 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.

Tue, May 16, 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.

Tue, May 16, 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.

Tue, May 16, 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.

Tue, May 16, 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.

Tue, May 16, 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.

Tue, May 16, 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.

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

Abandoning this revision in favour of D33239.

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

Thanks for checking.

Tue, May 16, 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.

Tue, May 16, 4:06 AM

Wed, May 10

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.

Wed, May 10, 1:14 AM

Wed, May 3

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

Tue, May 2

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

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

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

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

Tue, May 2, 3:09 AM

Fri, Apr 28

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.
Fri, Apr 28, 6:30 AM

Thu, Apr 27

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

This looks good to me too.

Thu, Apr 27, 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?

Thu, Apr 27, 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();

Thu, Apr 27, 12:50 AM

Tue, Apr 25

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.

Tue, Apr 25, 6:46 AM
peter.smith created D32485: [LLD][ELF] Make SHF_LINK_ORDER sections orphans.
Tue, Apr 25, 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.

Tue, Apr 25, 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.

Tue, Apr 25, 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
peter.smith created D31748: [LLD][ELF] Split handleNoRelaxTlsRelocation into ARM and Mips specific impls [NFC].
Apr 6 2017, 3:25 AM

Apr 5 2017

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

I think at least some of the difficulty in understanding the code here is that there are too many somewhat arbitrary ARM and Mips specific bits of code here. I've updated the diff to split handleNoRelaxTlsRelocation() into an ARM and Mips specific function, this allows us to take out some of the special cases.

Apr 5 2017, 9:27 AM
peter.smith updated the diff for D31663: [LLD][ELF] Account for range thunk that has drifted out of range.

Rebased to take account of changes in D31654

Apr 5 2017, 6:23 AM
peter.smith updated the diff for D31662: [LLD][ELF] Introduce range extension thunks for ARM.

Rebased to account for changes in D31654

Apr 5 2017, 6:19 AM
peter.smith updated the diff for D31661: [LLD][ELF] Pre-create ThunkSections at Target specific intervals.

Rebased to account for changes in D31654

Apr 5 2017, 6:15 AM
peter.smith updated the diff for D31660: [LLD][ELF] Allow multiple thunks to be added for a symbol..

Rebase to account for changes made in D31654

Apr 5 2017, 5:47 AM
peter.smith updated the diff for D31658: [LLD][ELF] Introduce Thunk reuse compatibility.

Rebased to account for changes in D31654

Apr 5 2017, 5:41 AM
peter.smith updated the diff for D31657: [LLD][ELF] Make createThunks() iterate until no more thunks added.

Rebased patch after earlier changes made to D31654

Apr 5 2017, 4:22 AM
peter.smith updated the diff for D31656: [LLD][ELF] Fix Thunks with placement restrictions and linker scripts.

Rebasing patch on top of recent linkerscript refactoring.

Apr 5 2017, 4:17 AM
peter.smith accepted D31682: Fix PLT and GOTPLT entries for x86 PIC..

That looks good to me. I agree that it is the better solution to not assume anything about the relative locations of .got and .got.plt

Apr 5 2017, 2:05 AM

Apr 4 2017

peter.smith created D31672: [LLD][ELF] Fix ARM TLS global dynamic TlsOffsetRel for non-preemptible symbols.
Apr 4 2017, 9:49 AM
peter.smith created D31666: [LLD][ELF] Add test cases for range extension thunks using linker scripts.
Apr 4 2017, 4:49 AM
peter.smith created D31665: [LLD][ELF] Add test cases for range extension thunks (no linkerscripts).
Apr 4 2017, 4:47 AM
peter.smith created D31664: [LLD][ELF] Prefer placing ThunkSections before non ThunkSections.
Apr 4 2017, 4:40 AM
peter.smith created D31663: [LLD][ELF] Account for range thunk that has drifted out of range.
Apr 4 2017, 4:34 AM
peter.smith created D31662: [LLD][ELF] Introduce range extension thunks for ARM.
Apr 4 2017, 4:31 AM
peter.smith created D31661: [LLD][ELF] Pre-create ThunkSections at Target specific intervals.
Apr 4 2017, 4:16 AM
peter.smith created D31660: [LLD][ELF] Allow multiple thunks to be added for a symbol..
Apr 4 2017, 4:08 AM
peter.smith created D31659: [LLD][ELF] Be more precise about Thumb state bit in ARM thunks.
Apr 4 2017, 4:06 AM
peter.smith created D31658: [LLD][ELF] Introduce Thunk reuse compatibility.
Apr 4 2017, 4:03 AM
peter.smith created D31657: [LLD][ELF] Make createThunks() iterate until no more thunks added.
Apr 4 2017, 4:00 AM
peter.smith abandoned D30641: [LLD][ELF] Fix ordering of Mips LA25 Thunks when Linker Script used.

Abandoning this revision in favour of D31656, which is more general and can handle range extension thunks.

Apr 4 2017, 3:55 AM
peter.smith updated the summary of D31656: [LLD][ELF] Fix Thunks with placement restrictions and linker scripts.
Apr 4 2017, 3:54 AM
peter.smith created D31656: [LLD][ELF] Fix Thunks with placement restrictions and linker scripts.
Apr 4 2017, 3:48 AM
peter.smith created D31654: [LLD][ELF] Make createThunks a class [NFC].
Apr 4 2017, 3:03 AM

Apr 3 2017

peter.smith created D31605: [LLD][ELF][ARM] Rename ARM Thunks in anticipation of Range Thunks.
Apr 3 2017, 9:14 AM

Mar 31 2017

peter.smith added a comment to D31500: [ARM]Add a NOP instruction to make LLVM generate a mapping symbol.

Ok now merged as r299212

Mar 31 2017, 6:21 AM
peter.smith added a comment to D31500: [ARM]Add a NOP instruction to make LLVM generate a mapping symbol.

I can do, although there isn't any special permissions to commit to lld, if you can commit to llvm then you can commit to lld. Let me know if you'd prefer to do it yourself? Otherwise I'll do it in an hour.

Mar 31 2017, 5:30 AM
peter.smith accepted D31500: [ARM]Add a NOP instruction to make LLVM generate a mapping symbol.

My understanding is that this test failed when a change went in to llvm-mc to not emit the mapping symbol $d.0 when the section contains only data. The test here is checking for the $d.0. Adding the nop forces the creation of a $a.0 which then forces the creation of the $d.0, this will make the test more robust against llvm-mc changes.

Mar 31 2017, 1:51 AM

Mar 29 2017

peter.smith added a comment to D30724: Dont emit Mapping symbols for sections that contain only data..

I think the lld test in question is expecting a $d.0 mapping symbol because up to now this is what llvm-objdump has been outputting. It is not strictly necessary for the test which is checking the behaviour of the R_ARM_TARGET1 relocation in response to the --target1-rel flag. It just so happens that .text has been used for the test for what looks like convenience. Strictly speaking we would never see a R_ARM_TARGET1 relocation in an executable section (Should only be present in SHT_INIT_ARRAY or SHT_FINI_ARRAY) sections so I don't see any problem with fixing the lld test to match the new llvm-objdump output.

Mar 29 2017, 6:36 AM

Mar 24 2017

peter.smith added a comment to D31274: Remove an optimization to set the TLS module index to 1..

I haven't got a good answer for why !isPreemptible() is there. My best guess is that it started as isPreemptible(), there was originally no !Config->Pic, when the !Config->Pic got added this made the !isPreemptible() redundant in that case. The isPreemptible() is important in the Target->TlsOffsetRel case as even for a shared library the linker will know the offset of the Symbol in the TLS block if the symbol isn't preemptible.

Mar 24 2017, 4:20 AM

Mar 23 2017

peter.smith added a comment to D31274: Remove an optimization to set the TLS module index to 1..

Hello, thanks for giving me the chance to review.

Mar 23 2017, 5:05 AM

Mar 7 2017

peter.smith added a comment to D29983: [LLD][ELF] Calculate sizes of SHF_ALLOC Synthetic Sections early.

Apologies, I'm a bit confused about the status of this patch after the last comment/status change, I'll assume this is still waiting for further comments for now.

Mar 7 2017, 2:02 AM

Mar 6 2017

peter.smith created D30641: [LLD][ELF] Fix ordering of Mips LA25 Thunks when Linker Script used.
Mar 6 2017, 3:56 AM
peter.smith created D30637: [LLD][ELF] Fix problem with LA25 Thunks when OutputSection of caller and callee differ.
Mar 6 2017, 3:26 AM

Mar 2 2017

peter.smith updated the diff for D29983: [LLD][ELF] Calculate sizes of SHF_ALLOC Synthetic Sections early.

Rebased and updated the patch.

Mar 2 2017, 10:51 AM

Feb 22 2017

peter.smith added a comment to D29983: [LLD][ELF] Calculate sizes of SHF_ALLOC Synthetic Sections early.

Thanks for the comments, I'll pick this back up when I get back to the office next week. It is helpful to know what the intentions are with respect to naming.

Feb 22 2017, 6:02 AM

Feb 20 2017

peter.smith updated the diff for D29983: [LLD][ELF] Calculate sizes of SHF_ALLOC Synthetic Sections early.

Thank you very much for the comments, I've updated the diff to incorporate the suggestions.

Feb 20 2017, 8:29 AM

Feb 17 2017

peter.smith updated the diff for D29983: [LLD][ELF] Calculate sizes of SHF_ALLOC Synthetic Sections early.

Updated diff to:

  • Rebased on top of D30085 (not reviewed yet) which allows us to add local symbols after globals
  • Moved the addition of symbols to the GNU Hash Table to a separate member function that can be called immediately after the dynamic symbols have been added.
  • Change finalizeAllocSize() to updateAllocSize(). The intention is that this will be called each time thunks are added, and immediately prior to thunks being added, to prevent the MipsGot missing an additional page.
  • Hopefully addressed any review comments that still apply
Feb 17 2017, 8:10 AM
peter.smith created D30085: [LLD][ELF] Alloc local symbols to be added to the SymTab after global symbols.
Feb 17 2017, 3:14 AM

Feb 16 2017

peter.smith added a comment to D29983: [LLD][ELF] Calculate sizes of SHF_ALLOC Synthetic Sections early.

Thank you both for the comments. I'm thinking that it may be better to rework this a little bit and resubmit as the MipsGot::PageIndex calculation breaks my assertion that adding range extension thunks can't affect the size of the SyntheticSections. The size of the MipsGot is proportional to the size of the OutputSections size (modulo 64k), while the amount of Thunks added is likely to be smaller than 64k adding a Thunk could potentially extend over a page boundary.

Feb 16 2017, 3:22 AM

Feb 15 2017

peter.smith created D29983: [LLD][ELF] Calculate sizes of SHF_ALLOC Synthetic Sections early.
Feb 15 2017, 3:33 AM

Feb 8 2017

peter.smith updated the diff for D29664: [LLD][ELF] Refactor PltSection and IPltSection common code into a base class NFC.

Updated the diff with an attempt to use a single class for both the Plt and IPlt. I've used HeaderSize to distinguish between them as that removes a few conditional statements.

Feb 8 2017, 6:54 AM
peter.smith updated the diff for D29637: [LLD][ELF] Use synthetic section to hold copy relocations.

Thank you very much for the comments. I've updated the diff to make the requested changes.

Feb 8 2017, 4:02 AM

Feb 7 2017

peter.smith created D29664: [LLD][ELF] Refactor PltSection and IPltSection common code into a base class NFC.
Feb 7 2017, 10:24 AM
peter.smith created D29637: [LLD][ELF] Use synthetic section to hold copy relocations.
Feb 7 2017, 6:16 AM

Feb 1 2017

peter.smith added a comment to D29192: [AArch64] Fix incorrect relocation encodings for ILP32.

Thanks for the update, I don't have any more comments.

Feb 1 2017, 9:44 AM
peter.smith added inline comments to D29192: [AArch64] Fix incorrect relocation encodings for ILP32.
Feb 1 2017, 2:59 AM

Jan 31 2017

peter.smith created D29327: [LLD][ELF] Use Synthetic Sections for Thunks (try 2).
Jan 31 2017, 6:43 AM

Jan 27 2017

peter.smith added a comment to D29192: [AArch64] Fix incorrect relocation encodings for ILP32.

I've checked that the relocation name is correct. I'm a bit suspicious of allowing the fixup_aarch64_ldst_imm12_scale8 in LP32, with a 32-bit sized GOT I think that this is likely to be a programming mistake that we should probably error on. I'm not hugely familiar with lp32 programming so there may be a case for it that I'm missing?

Jan 27 2017, 6:37 AM
peter.smith added a comment to D29129: [LLD][ELF] Use Synthetic Sections for Thunks.

Thanks for the suggestions. Now committed r293283. I'll now go about thinking about how best to add range extension thunks.

Jan 27 2017, 5:26 AM

Jan 26 2017

peter.smith added a comment to D28571: RuntimeDyldELF/AArch64: Implement basic support for PIC relocations.

I think that those changes address my previous comments, thanks for the update. I've found a couple of what look like typos in the comments. I'm not familiar with rtdyld's organizational and coding conventions so probably best that let an owner take it from here.

Jan 26 2017, 9:42 AM
peter.smith updated the diff for D29129: [LLD][ELF] Use Synthetic Sections for Thunks.

Thanks very much for the comments.

Jan 26 2017, 5:13 AM

Jan 25 2017

peter.smith retitled D29129: [LLD][ELF] Use Synthetic Sections for Thunks from [LLD][ELF] Use Thunks for Synthetic Sections to [LLD][ELF] Use Synthetic Sections for Thunks.
Jan 25 2017, 8:22 AM
peter.smith created D29129: [LLD][ELF] Use Synthetic Sections for Thunks.
Jan 25 2017, 8:21 AM