lldProject
ActivePublic

Details

Description

LLVM Linker

Recent Activity

Today

Razer6 added inline comments to D39322: [lld] Support RISC-V.
Fri, Feb 23, 8:18 AM · lld
atanasyan added a comment to D43347: [ELF][MIPS] Support linking of PIE for MIPS.

I can verify that without this patch pie executables crash inside the FreeBSD (CheriBSD) RTLD when processing DT_MIPS_RLD_MAP and with it they work.

Fri, Feb 23, 5:20 AM · lld
arichardson added a comment to D43347: [ELF][MIPS] Support linking of PIE for MIPS.

I can verify that without this patch pie executables crash inside the FreeBSD (CheriBSD) RTLD when processing DT_MIPS_RLD_MAP and with it they work.

Fri, Feb 23, 5:09 AM · lld

Wed, Feb 21

atanasyan closed D43575: [docs][mips] Add MIPS specific release notes for LLD 6.0.
Wed, Feb 21, 1:19 PM · lld
ruiu accepted D43575: [docs][mips] Add MIPS specific release notes for LLD 6.0.

LGTM

Wed, Feb 21, 11:22 AM · lld
atanasyan created D43575: [docs][mips] Add MIPS specific release notes for LLD 6.0.
Wed, Feb 21, 7:39 AM · lld
atanasyan updated the diff for D43347: [ELF][MIPS] Support linking of PIE for MIPS.
  • Using a separate function to create a dynamic table entry with a relative address of a section
Wed, Feb 21, 1:46 AM · lld

Tue, Feb 20

grimar added inline comments to D43347: [ELF][MIPS] Support linking of PIE for MIPS.
Tue, Feb 20, 11:45 PM · lld
atanasyan added a comment to D43347: [ELF][MIPS] Support linking of PIE for MIPS.

Ping?

Tue, Feb 20, 10:12 PM · lld
atanasyan updated the diff for D40147: [MIPS] Handle cross-mode (regular <-> microMIPS) jumps.
  • Pass a pointer to relocatable symbol to the relocateOne method
  • Move handling of the less-significant bit from relocateNonAlloc and relocateAlloc to MIPS::relocateOne
Tue, Feb 20, 10:07 PM · lld

Mon, Feb 19

ikudrin updated the diff for D43011: [ELF] Create and export symbols provided by a linker script if they referenced by DSOs..
  • Use DenseSet<>::count(), as George suggested.
Mon, Feb 19, 10:04 PM · lld
ikudrin updated subscribers of D43008: [ELF] Process linker scripts deeper when declaring symbols..

Ping. @espindola, @ruiu, is it OK to land?

Mon, Feb 19, 5:11 PM · lld

Fri, Feb 16

atanasyan updated the diff for D31528: [ELF][MIPS] Multi-GOT implementation.
  • Addressing review comments
Fri, Feb 16, 7:55 AM · lld
arichardson added a comment to D31528: [ELF][MIPS] Multi-GOT implementation.

Thank you very much for updating this patch! I have just made the switch in CheriBSD to completely stop using ld.bfd and so far everything I have tested is working.

Fri, Feb 16, 2:01 AM · lld

Thu, Feb 15

ikudrin added a comment to D43228: [ELF] Allow redefining LMA for a section inside a segment..

I don't see anything that violates the specs. With this patch, the offset of a segment (p_offset) is still congruent to its virtual address (p_vaddr), modulo page size. This rule is enforced in lines 1850-1852 of ELF/Writer.cpp:

if (Cmd == First)
  return alignTo(Off, std::max<uint64_t>(Cmd->Alignment, Config->MaxPageSize),
                 Cmd->Addr);

and I didn't touch them.

Thu, Feb 15, 9:44 PM · lld
ruiu added a comment to D43228: [ELF] Allow redefining LMA for a section inside a segment..

Do you need to create an ELF file that doesn't fully comply with the spec?

Thu, Feb 15, 9:13 PM · lld
ikudrin added a comment to D43228: [ELF] Allow redefining LMA for a section inside a segment..

It's not for an application. We use it for a kernel image.

Thu, Feb 15, 9:09 PM · lld
ruiu added a comment to D43228: [ELF] Allow redefining LMA for a section inside a segment..

The ELF spec [1] requires that "loadable process segments must have congruent values for p_vaddr and p_offset, modulo the page size." Doesn't the executable produced with this patch violate that rule?

Thu, Feb 15, 9:01 PM · lld
ruiu added inline comments to D40147: [MIPS] Handle cross-mode (regular <-> microMIPS) jumps.
Thu, Feb 15, 8:50 PM · lld
ikudrin closed D34554: [ELF] FIx use-after-return of archive path .
Thu, Feb 15, 7:28 PM · lld
atanasyan created D43347: [ELF][MIPS] Support linking of PIE for MIPS.
Thu, Feb 15, 11:38 AM · lld
ruiu accepted D34554: [ELF] FIx use-after-return of archive path .

LGTM

Thu, Feb 15, 10:32 AM · lld
ikudrin updated the diff for D34554: [ELF] FIx use-after-return of archive path .
  • Remove "tee" in the test.
Thu, Feb 15, 6:10 AM · lld
ikudrin updated the diff for D34554: [ELF] FIx use-after-return of archive path .
  • Change type of ArchiveName to std::string.
  • Add a test.
Thu, Feb 15, 6:05 AM · lld
ikudrin commandeered D34554: [ELF] FIx use-after-return of archive path .

I asked @evgeny777 and he let me take this revision.

Thu, Feb 15, 5:57 AM · lld

Wed, Feb 14

ikudrin updated the diff for D43228: [ELF] Allow redefining LMA for a section inside a segment..
  • Adjust to the tip.
Wed, Feb 14, 10:59 PM · lld
ikudrin closed D43284: [ELF] Simplify handling of AT section attribute..
Wed, Feb 14, 10:15 PM · lld
ikudrin accepted D43284: [ELF] Simplify handling of AT section attribute..

Accepted by @rafael in the mailing list.

Wed, Feb 14, 10:12 PM · lld
ikudrin updated the diff for D43284: [ELF] Simplify handling of AT section attribute..

Update according to Rafael's comments:

  • Replace !FirstLoadSection with Load->LastSec != Out::ProgramHeaders.
  • Add a corresponding comment.
Wed, Feb 14, 9:05 PM · lld
ikudrin updated the diff for D43284: [ELF] Simplify handling of AT section attribute..
  • Remove "tee". Thanks, George!
Wed, Feb 14, 6:29 AM · lld
grimar added inline comments to D43284: [ELF] Simplify handling of AT section attribute..
Wed, Feb 14, 5:21 AM · lld
grimar added inline comments to D43284: [ELF] Simplify handling of AT section attribute..
Wed, Feb 14, 5:21 AM · lld
ikudrin created D43284: [ELF] Simplify handling of AT section attribute..
Wed, Feb 14, 5:06 AM · lld
atanasyan updated the diff for D40147: [MIPS] Handle cross-mode (regular <-> microMIPS) jumps.
  • Addressing review comments
Wed, Feb 14, 12:48 AM · lld

Tue, Feb 13

ruiu added a comment to D40147: [MIPS] Handle cross-mode (regular <-> microMIPS) jumps.

Sorry for the belated response. A few minor comments.

Tue, Feb 13, 5:48 PM · lld
ikudrin added a comment to D37626: [ELF] Scan .eh_frame sections precisely in order to eliminate unused LSDAs and personality routines..
In D37626#908500, @ruiu wrote:

I started a discussion in the llvm-dev mailing list to eliminate the need to scan .eh_frame sections in a special way. Please send a comment there if you have one.

Tue, Feb 13, 5:18 PM · lld
atanasyan updated the diff for D31528: [ELF][MIPS] Multi-GOT implementation.

Rebased against the trunk.

Tue, Feb 13, 10:41 AM · lld
atanasyan added a comment to D40147: [MIPS] Handle cross-mode (regular <-> microMIPS) jumps.

Ping?

Tue, Feb 13, 10:38 AM · lld
ikudrin created D43228: [ELF] Allow redefining LMA for a section inside a segment..
Tue, Feb 13, 2:49 AM · lld

Mon, Feb 12

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

Rebase onto master.

Mon, Feb 12, 7:33 PM · lld
PkmX updated the diff for D39323: [lld] Support dynamic linking in RISC-V.

Rebase onto master.

Mon, Feb 12, 7:33 PM · lld
PkmX updated the diff for D39322: [lld] Support RISC-V.

Rebase onto master.

Mon, Feb 12, 7:32 PM · lld

Sat, Feb 10

pdeng6 added a comment to D36351: [lld][ELF] Add profile guided section layout.

I'm trying function layout methodologies within ChromeOS to improve chrome performance, this feature is very important since the work relies on it.
I've checked out the patches for both lld(https://reviews.llvm.org/D36351?id=133550) and llvm(https://reviews.llvm.org/D42161 and https://reviews.llvm.org/D42163), and built it locally, but I'm afraid the patches for llvm is not as fresh as that for lld.
Would it be possible for you to show the latest patches at both side, and the base llvm/lld revisions you are working on? then we can completely align the environment.

Sat, Feb 10, 6:12 PM · lld

Fri, Feb 9

grimar accepted D43011: [ELF] Create and export symbols provided by a linker script if they referenced by DSOs..

This LGTM, thanks (minor nit below).
Please wait for approval from other reviewers.

Fri, Feb 9, 6:34 AM · lld

Thu, Feb 8

ikudrin updated the diff for D43011: [ELF] Create and export symbols provided by a linker script if they referenced by DSOs..
  • Move Undefs and getUndefinedSymbols() into InputFile
  • Change type of Undefs to DenseSet<StringRef> so that it can be used to search for the symbol without creating another filter container.
Thu, Feb 8, 10:25 PM · lld
ikudrin updated the diff for D43008: [ELF] Process linker scripts deeper when declaring symbols..

Shorten the script in the test.

Thu, Feb 8, 9:16 PM · lld
Bigcheese updated the diff for D36351: [lld][ELF] Add profile guided section layout.
  • Update to top of tree.
  • Add some comments.
Thu, Feb 8, 6:06 PM · lld
This revision was not accepted when it landed; it landed in state Needs Review.
Thu, Feb 8, 2:05 PM · lld
grimar added inline comments to D43011: [ELF] Create and export symbols provided by a linker script if they referenced by DSOs..
Thu, Feb 8, 2:09 AM · lld
grimar added a comment to D43008: [ELF] Process linker scripts deeper when declaring symbols..

LGTM with a nit.
(please wait for other reviewers approval)

Thu, Feb 8, 1:34 AM · lld