Page MenuHomePhabricator

lldProject
ActivePublic

Watchers

  • This project does not have any watchers.

Details

Description

LLVM Linker

Recent Activity

Yesterday

aganea closed D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Fri, Feb 22, 5:46 PM · Restricted Project, lld
ruiu added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

I asked about the rationale behind the 2-PLT scheme to H. J. Lu who proposed the design. I was not convinced one of the reasons he presented, which is that the 2-PLT scheme provides compatibility with old systems, because clearly the 2-PLT scheme breaks compatibility by changing the semantics of the existing .plt section and adding the second PLT. The other reason was more convincing, which is, it was designed with performance in mind, and it was an effort to reduce the size of the hot code path. With the 2-PLT scheme, the second PLT is in theory hot and the first PLT is relatively cold, as the first PLT is used only when a symbol is resolved lazily. That being said, there was not evidence or benchmark results supporting the claim, so I cannot really buy that argument.

Fri, Feb 22, 5:04 PM · Restricted Project, lld
aganea added inline comments to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Fri, Feb 22, 12:19 PM · Restricted Project, lld
ruiu accepted D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.

LGTM

Fri, Feb 22, 12:11 PM · Restricted Project, lld
aganea added inline comments to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Fri, Feb 22, 12:04 PM · Restricted Project, lld
aganea updated the diff for D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Fri, Feb 22, 12:04 PM · Restricted Project, lld
ruiu added inline comments to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Fri, Feb 22, 11:13 AM · Restricted Project, lld
aganea added a comment to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.

@ruiu Is this good to go? Any other changes you see?

Fri, Feb 22, 9:58 AM · Restricted Project, lld
chrisjackson updated the diff for D58300: [lld] Enable Visual Studio compatible output.

Used clang-format-diff against the patch is requested by @aganea.

Fri, Feb 22, 9:36 AM · lld

Wed, Feb 20

xiangzhangllvm added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

Hi dear ruiu:
The Second PLT in x86-64 psABI has been settled more than one year ago, considering the compatibility and performance, the designers carefully selected this way at that time.
And there seems no overwhelming reason to change the SPEC, for many people think the Second PLT way is more flexible and compatible.
I think it would be ill-advised to let LLD keep different with GCC in this point for the GCC has adopt this way for one year.
I wish you can reconsider the technology of Second PLT, and we also wish you can join us in discussing this point at https://groups.google.com/forum/#!topic/x86-64-abi/nWA7tcnjPnk.
Thank you very much!

Wed, Feb 20, 6:14 PM · Restricted Project, lld
aganea added inline comments to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Wed, Feb 20, 2:51 PM · Restricted Project, lld
aganea updated the diff for D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Wed, Feb 20, 2:51 PM · Restricted Project, lld
ruiu added inline comments to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Wed, Feb 20, 2:32 PM · Restricted Project, lld
rnk accepted D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.

lgtm

Wed, Feb 20, 2:21 PM · Restricted Project, lld
aganea updated the diff for D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.

Sorry for all the updates. Fixed typo in COFF/InputFiles.h.

Wed, Feb 20, 11:55 AM · Restricted Project, lld
aganea updated the diff for D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Wed, Feb 20, 11:46 AM · Restricted Project, lld
aganea added inline comments to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Wed, Feb 20, 11:46 AM · Restricted Project, lld
rnk added a comment to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.

Neat!

Wed, Feb 20, 11:31 AM · Restricted Project, lld
aganea added inline comments to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Wed, Feb 20, 10:56 AM · Restricted Project, lld
aganea added inline comments to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Wed, Feb 20, 10:43 AM · Restricted Project, lld
aganea updated the diff for D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Wed, Feb 20, 10:42 AM · Restricted Project, lld
ruiu added inline comments to D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Wed, Feb 20, 10:01 AM · Restricted Project, lld
aganea retitled D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option from Add support for /FUNCTIONPADMIN command-line option to [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.
Wed, Feb 20, 8:34 AM · Restricted Project, lld
aganea updated the diff for D49366: [LLD][COFF] Add support for /FUNCTIONPADMIN command-line option.

Adressed all comments. Added tests as suggested by @pcc

Wed, Feb 20, 8:32 AM · Restricted Project, lld
atanasyan closed D58381: [mips] Put some MIPS-specific sections to separate segments.
Wed, Feb 20, 6:46 AM · Restricted Project, lld
grimar accepted D58381: [mips] Put some MIPS-specific sections to separate segments.

LGTM

Wed, Feb 20, 3:27 AM · Restricted Project, lld

Tue, Feb 19

xiangzhangllvm added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

The 2nd reason will be obvious in the case that the program with many dynamic calls.

Tue, Feb 19, 10:12 PM · Restricted Project, lld
LuoYuanke added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

Hi ruiu

Tue, Feb 19, 9:47 PM · Restricted Project, lld
ruiu added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

I think SPLT has better compatibility compared to change the original PLT entry. Given the platform is old, and use the old dynamic linker, the new library that build with SPLT can still be linked by dynamic linker. I am not sure if it still works if we change the struct of PLT entry.

Tue, Feb 19, 6:31 PM · Restricted Project, lld
LuoYuanke added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

I think SPLT has better compatibility compared to change the original PLT entry. Given the platform is old, and use the old dynamic linker, the new library that build with SPLT can still be linked by dynamic linker. I am not sure if it still works if we change the struct of PLT entry.
The second issue is GNU toolchain has already adopt SPLT, if we want to change the design, we need also influence the GNU community to revise the design and all their libraries which are built with CET enabled toolchain.

Tue, Feb 19, 6:17 PM · Restricted Project, lld
ruiu added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

Hi ruiu, I asked its designer. This is really specified in x86-64 psABI SPEC, Please refer https://github.com/hjl-tools/x86-psABI/wiki/x86-64-psABI-draft.pdf 13.2 DynamicLinking

Tue, Feb 19, 4:05 PM · Restricted Project, lld
atanasyan updated the diff for D58381: [mips] Put some MIPS-specific sections to separate segments.
  • Fixed function arguments' names
  • Added test for the PT_MIPS_OPTIONS segment creation
Tue, Feb 19, 8:04 AM · Restricted Project, lld
grimar added inline comments to D58381: [mips] Put some MIPS-specific sections to separate segments.
Tue, Feb 19, 6:40 AM · Restricted Project, lld
atanasyan added a comment to D58381: [mips] Put some MIPS-specific sections to separate segments.

Thanks for review.

Tue, Feb 19, 6:30 AM · Restricted Project, lld
grimar added a comment to D58357: [LLD] add test for line number info related to differrent .text sections.

Thanks, Alexey! This patch looks good to me, but since it was me who suggested to commit it as a separate test for LLD,
I would like somebody else to look and give the final approvement.

Tue, Feb 19, 5:32 AM · Restricted Project, lld
alexey.lapshin updated the diff for D58357: [LLD] add test for line number info related to differrent .text sections.

George, Thank you for the comments. I should not rely on context and needed to put detailed description from the scratch. I changed test description and used your compacted asm now.

Tue, Feb 19, 5:13 AM · Restricted Project, lld
grimar added inline comments to D58381: [mips] Put some MIPS-specific sections to separate segments.
Tue, Feb 19, 3:49 AM · Restricted Project, lld
grimar added a comment to D58357: [LLD] add test for line number info related to differrent .text sections.

It is not clear from the description, so for other reviewers:

Tue, Feb 19, 3:33 AM · Restricted Project, lld
atanasyan created D58381: [mips] Put some MIPS-specific sections to separate segments.
Tue, Feb 19, 3:19 AM · Restricted Project, lld
atanasyan closed D40147: [MIPS] Handle cross-mode (regular <-> microMIPS) jumps.
Tue, Feb 19, 2:36 AM · Restricted Project, lld

Mon, Feb 18

xiangzhangllvm updated the summary of D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.
Mon, Feb 18, 4:47 PM · Restricted Project, lld
alexey.lapshin created D58357: [LLD] add test for line number info related to differrent .text sections.
Mon, Feb 18, 10:56 AM · Restricted Project, lld

Sun, Feb 17

xiangzhangllvm edited reviewers for D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD, added: wxiao3; removed: pengfei.
Sun, Feb 17, 10:06 PM · Restricted Project, lld
xiangzhangllvm added a reviewer for D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD: pengfei.
Sun, Feb 17, 10:06 PM · Restricted Project, lld

Fri, Feb 15

xiangzhangllvm added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

Hi ruiu, I asked its designer. This is really specified in x86-64 psABI SPEC, Please refer https://github.com/hjl-tools/x86-psABI/wiki/x86-64-psABI-draft.pdf 13.2 DynamicLinking

Fri, Feb 15, 10:45 PM · Restricted Project, lld
ruiu added a comment to D58300: [lld] Enable Visual Studio compatible output.

I think we need to be very careful how to implement the feature. Currently it is very easy to understand what lld prints out as an error message and how to construct an error message. Basically, what you see in the source code is what you get at runtime. This patch added an abstraction layer between the current code and stderr, and now it is not easy to figure out what is the actual output and how to construct a desired error message.

Fri, Feb 15, 3:00 PM · lld
aganea added inline comments to D58300: [lld] Enable Visual Studio compatible output.
Fri, Feb 15, 1:10 PM · lld
chrisjackson created D58300: [lld] Enable Visual Studio compatible output.
Fri, Feb 15, 12:13 PM · lld
ruiu added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

I really don't think we should introduce a new PLT (.splt) if the reason of adding it is to keep the compatibility of the existing .plt format. Second PLT is too complicated and would become a technical debt.

Fri, Feb 15, 11:19 AM · Restricted Project, lld
xiangzhangllvm added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

Hi friends, And I find GCC used Second PLT too. I am trying to contact its designer. One of the reviewer Lu Hongjiu.

Fri, Feb 15, 1:10 AM · Restricted Project, lld