lldProject
ActivePublic

Details

Description

LLVM Linker

Recent Activity

Sat, Aug 11

lantictac updated the diff for D50404: [lld-link] Generalize handling of /debug and /debug:{none,full,fastlink,ghash,symtab}.

Generalized /debug handling based on suggestion from ruiu.

Sat, Aug 11, 3:10 AM · lld

Fri, Aug 10

troughton created D50598: LLD COFF: Add support for /force:multiple option.
Fri, Aug 10, 11:05 PM · lld
ikudrin created D50560: [LLD] Enable Visual Studio compatible diagnostics..
Fri, Aug 10, 6:43 AM · lld

Thu, Aug 9

ruiu closed D39322: [lld] Support RISC-V.
Thu, Aug 9, 11:00 AM · lld
sidneym closed D50450: Add R_HEX_6_X relocation support.
Thu, Aug 9, 5:00 AM · lld

Wed, Aug 8

sidneym updated the diff for D50450: Add R_HEX_6_X relocation support.

Implement Rui's suggestions.

Wed, Aug 8, 3:06 PM · lld
ruiu accepted D50450: Add R_HEX_6_X relocation support.

LGTM with these changes.

Wed, Aug 8, 1:50 PM · lld
sidneym updated the diff for D50450: Add R_HEX_6_X relocation support.

Implemented Rui's suggestions.

Wed, Aug 8, 1:45 PM · lld
ruiu added inline comments to D50450: Add R_HEX_6_X relocation support.
Wed, Aug 8, 11:25 AM · lld
sidneym created D50450: Add R_HEX_6_X relocation support.
Wed, Aug 8, 7:27 AM · lld

Tue, Aug 7

PkmX updated the diff for D39322: [lld] Support RISC-V.

@ruiu I've uploaded a new patch that adds the blank line to RISCVGlobalPointer as requested. As I do not have commit rights to the LLD repository, could you commit the patch if there are no last-minute issues.

Tue, Aug 7, 7:15 PM · lld
wuiw added a watcher for lld: wuiw.
Tue, Aug 7, 6:22 PM
ruiu added a comment to D50404: [lld-link] Generalize handling of /debug and /debug:{none,full,fastlink,ghash,symtab}.

This code was written when we supported only /debug and /debug:dwarf. At that time handling them as two separate options was a reasonable design. Now, we have /debug and /debug:{full,ghash,dwarf,symtab}, so I believe it's time to handle this just like other options that take a value after colon.

Tue, Aug 7, 12:53 PM · lld
lantictac created D50404: [lld-link] Generalize handling of /debug and /debug:{none,full,fastlink,ghash,symtab}.
Tue, Aug 7, 12:45 PM · lld
ruiu accepted D39322: [lld] Support RISC-V.

These tests were written in ObjectYAML format since LLVM MC support was very incomplete for RISC-V, and the latest llvm-mc from trunk still cannot assemble these tests correctly due to lack of addend handling. I did include the original assembly text in the tests so once the LLVM port is upstreamed we can just swap it to run assembler proper.

Tue, Aug 7, 11:27 AM · lld

Mon, Aug 6

PkmX added a comment to D39322: [lld] Support RISC-V.

Apologies for my belated response. I think this patch is generally looking good. One thing I'd fix before submitting is to rewrite a test using assembly. We do not usually use YAML file for testing. Is there any reason you needed to write them in YAML?

Mon, Aug 6, 7:26 PM · lld
ruiu added a comment to D39322: [lld] Support RISC-V.

Apologies for my belated response. I think this patch is generally looking good. One thing I'd fix before submitting is to rewrite a test using assembly. We do not usually use YAML file for testing. Is there any reason you needed to write them in YAML?

Mon, Aug 6, 3:39 PM · lld

Sun, Aug 5

emaste added a comment to D39322: [lld] Support RISC-V.

@ruiu what do you suggest as the next step here?

Sun, Aug 5, 12:03 PM · lld

Thu, Aug 2

PkmX updated the diff for D39324: [lld] Support TLS in RISC-V.

Rebased. NFC from last revision.

Thu, Aug 2, 11:51 PM · lld
PkmX updated the diff for D39323: [lld] Support dynamic linking in RISC-V.

RISCV now writes its own GOT header, with one entry that stores the address of .dynamic section. _GLOBAL_OFFSET_TABLE_ should be set to the head of .got so that _GLOBAL_OFFSET_TABLE_[0] == &_DYNAMIC.

Thu, Aug 2, 11:50 PM · lld
PkmX updated the diff for D39322: [lld] Support RISC-V.

I've rebased the diff to latest trunk again. Some notable differences from last revision:

Thu, Aug 2, 11:46 PM · lld
Herald added a reviewer for D39322: [lld] Support RISC-V: espindola.
Thu, Aug 2, 7:47 PM · lld

Wed, Aug 1

aganea requested changes to D49231: Add import libraries to list of modules in PDB.

This will also require a test to illustrate the change.

Wed, Aug 1, 2:05 PM · lld
aganea requested changes to D49230: Add support for COFF groups in * Linker * compiland in PDB.

Could you possibly add a test along? That would serve both as coverage & documentation about the feature.

Wed, Aug 1, 1:53 PM · lld

Sat, Jul 28

kristina added a member for lld: kristina.
Sat, Jul 28, 3:41 PM

Wed, Jul 25

zturner updated subscribers of D49230: Add support for COFF groups in * Linker * compiland in PDB.

Sorry for the delay on this, been OOO. I'll take a look tomorrow.

Wed, Jul 25, 8:33 PM · lld

Tue, Jul 24

sidneym closed D49567: Add R_HEX_B15_PCREL_X relocation.
Tue, Jul 24, 8:08 AM · lld

Jul 20 2018

ruiu accepted D49567: Add R_HEX_B15_PCREL_X relocation.

LGTM

Jul 20 2018, 11:26 AM · lld
bcain accepted D49567: Add R_HEX_B15_PCREL_X relocation.
Jul 20 2018, 10:40 AM · lld

Jul 19 2018

sidneym created D49567: Add R_HEX_B15_PCREL_X relocation.
Jul 19 2018, 2:43 PM · lld
sidneym closed D49394: Add R_HEX_B15_PCREL relocation.
Jul 19 2018, 1:32 PM · lld
sidneym updated the diff for D49394: Add R_HEX_B15_PCREL relocation.

Update to sort relocs.

Jul 19 2018, 1:03 PM · lld
sidneym closed D48235: Add R_HEX_B32_PCREL_X and R_HEX_B22_PCREL_X relocations.
Jul 19 2018, 1:01 PM · lld
sidneym updated the diff for D48235: Add R_HEX_B32_PCREL_X and R_HEX_B22_PCREL_X relocations.

Sorted relocation names

Jul 19 2018, 8:33 AM · lld

Jul 18 2018

ruiu accepted D48235: Add R_HEX_B32_PCREL_X and R_HEX_B22_PCREL_X relocations.

LGTM with these fixes.

Jul 18 2018, 10:51 AM · lld
ruiu accepted D49394: Add R_HEX_B15_PCREL relocation.

LGTM with these fixes.

Jul 18 2018, 10:50 AM · lld
pcc added inline comments to D49366: Add support for /FUNCTIONPADMIN command-line option.
Jul 18 2018, 10:27 AM · lld
stefan_reinalter added inline comments to D49366: Add support for /FUNCTIONPADMIN command-line option.
Jul 18 2018, 3:28 AM · lld
stefan_reinalter updated the diff for D49230: Add support for COFF groups in * Linker * compiland in PDB.

Updated diff to only contain formatted changes for new code.

Jul 18 2018, 3:20 AM · lld
stefan_reinalter updated the diff for D49231: Add import libraries to list of modules in PDB.

Updated diff to only contain formatted changes for new code.

Jul 18 2018, 3:19 AM · lld

Jul 17 2018

pcc added a comment to D49366: Add support for /FUNCTIONPADMIN command-line option.

Probably the best way to write the test would be to have it create an input file with a .text section containing the entry point and a non-code section and relocations pointing from the .text section to itself as well as to the non-code section, and use llvm-objdump to test that (1) the .text section has an appropriate amount of padding behind it in the output file, (2) the non-code section does not receive padding and (3) the relocation points to the address of the section (i.e. not the address of the padding). You can see an example of this sort of test in lld/test/COFF/string-tail-merge.s. By using llvm-mc to assemble the test with different target triples it should be possible to write it in such a way that you don't need a separate test for each target.

Jul 17 2018, 12:16 PM · lld
lantictac added a comment to D46427: [PDB] Quote linker arguments containing spaces (mimic MSVC).

Also: Just noticed that response files aren't being expanded inline in the stored command-line (as per MSVC link.exe). I'll open a bug for it.

Second that.
Would be nice to expand response files. Did you open a bug for this/are you working on this?

Jul 17 2018, 8:17 AM · lld
stefan_reinalter added a comment to D46427: [PDB] Quote linker arguments containing spaces (mimic MSVC).

Also: Just noticed that response files aren't being expanded inline in the stored command-line (as per MSVC link.exe). I'll open a bug for it.

Jul 17 2018, 7:13 AM · lld
stefan_reinalter updated the diff for D49366: Add support for /FUNCTIONPADMIN command-line option.

I updated the implementation according to the recommendation by Peter. I also added a comment regarding /FUNCTIONPADMIN default padding on ARM platforms.
Also ran git-clang-format against the source files so that the diff shows only my changes.

Jul 17 2018, 6:55 AM · lld
stefan_reinalter added inline comments to D49366: Add support for /FUNCTIONPADMIN command-line option.
Jul 17 2018, 6:13 AM · lld
stefan_reinalter added a comment to D49366: Add support for /FUNCTIONPADMIN command-line option.
In D49366#1163821, @pcc wrote:

Unless I'm missing something, doesn't this patch end up adding padding to the end of every code section rather than the beginning?

It seems like this ought to be implemented by changing the section layout code. I'm thinking that you would add code to http://llvm-cs.pcc.me.uk/tools/lld/COFF/Writer.cpp#742 that does this:

if (C requires padding) {
  RawSize += Padding;
  VirtualSize += Padding;
}

With that I don't think you need to add fields for storing the amount of padding required, you can just figure it out on the fly there.

Jul 17 2018, 5:34 AM · lld

Jul 16 2018

sidneym created D49394: Add R_HEX_B15_PCREL relocation.
Jul 16 2018, 11:54 AM · lld
pcc added a comment to D49366: Add support for /FUNCTIONPADMIN command-line option.

Unless I'm missing something, doesn't this patch end up adding padding to the end of every code section rather than the beginning?

Jul 16 2018, 10:43 AM · lld
zturner added inline comments to D49366: Add support for /FUNCTIONPADMIN command-line option.
Jul 16 2018, 9:31 AM · lld
stefan_reinalter added inline comments to D49366: Add support for /FUNCTIONPADMIN command-line option.
Jul 16 2018, 9:28 AM · lld