ikudrin (Igor Kudrin)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 6 2015, 10:51 PM (145 w, 6 d)

Recent Activity

May 24 2018

ikudrin committed rCRT333180: [tsan] Fix a failure in test java_race_pc on AArch64 after r333071.
[tsan] Fix a failure in test java_race_pc on AArch64 after r333071
May 24 2018, 5:30 AM
ikudrin committed rL333180: [tsan] Fix a failure in test java_race_pc on AArch64 after r333071.
[tsan] Fix a failure in test java_race_pc on AArch64 after r333071
May 24 2018, 5:30 AM

May 23 2018

ikudrin committed rCRT333071: [sanitizer] Reland "Be more accurate when calculating the previous instruction….
[sanitizer] Reland "Be more accurate when calculating the previous instruction…
May 23 2018, 2:22 AM
ikudrin committed rL333071: [sanitizer] Reland "Be more accurate when calculating the previous instruction….
[sanitizer] Reland "Be more accurate when calculating the previous instruction…
May 23 2018, 2:22 AM

May 7 2018

ikudrin committed rCRT331734: Revert "[sanitizer] Be more accurate when calculating the previous instruction….
Revert "[sanitizer] Be more accurate when calculating the previous instruction…
May 7 2018, 9:42 PM
ikudrin committed rL331734: Revert "[sanitizer] Be more accurate when calculating the previous instruction….
Revert "[sanitizer] Be more accurate when calculating the previous instruction…
May 7 2018, 9:42 PM
ikudrin committed rCRT331626: [sanitizer] Be more accurate when calculating the previous instruction address….
[sanitizer] Be more accurate when calculating the previous instruction address…
May 7 2018, 3:12 AM
ikudrin committed rL331626: [sanitizer] Be more accurate when calculating the previous instruction address….
[sanitizer] Be more accurate when calculating the previous instruction address…
May 7 2018, 3:12 AM
ikudrin closed D46004: Be more accurate when calculating the previous instruction address on Arm..
May 7 2018, 3:12 AM · Restricted Project

May 3 2018

ikudrin added a comment to D46004: Be more accurate when calculating the previous instruction address on Arm..

Ping.

May 3 2018, 9:23 PM · Restricted Project

Apr 24 2018

ikudrin created D46004: Be more accurate when calculating the previous instruction address on Arm..
Apr 24 2018, 4:58 AM · Restricted Project

Feb 27 2018

ikudrin committed rL326305: [ELF] Process linker scripts deeper when declaring symbols..
[ELF] Process linker scripts deeper when declaring symbols.
Feb 27 2018, 10:00 PM
ikudrin committed rLLD326305: [ELF] Process linker scripts deeper when declaring symbols..
[ELF] Process linker scripts deeper when declaring symbols.
Feb 27 2018, 10:00 PM
ikudrin closed D43008: [ELF] Process linker scripts deeper when declaring symbols..
Feb 27 2018, 10:00 PM · lld
ikudrin added a comment to D43008: [ELF] Process linker scripts deeper when declaring symbols..

Thanks!

Feb 27 2018, 9:50 PM · lld
ikudrin added a comment to D43008: [ELF] Process linker scripts deeper when declaring symbols..

Ping. Is there anything I can improve here?

Feb 27 2018, 7:10 PM · lld

Feb 26 2018

ikudrin committed rL326176: [ELF] Create and export symbols provided by a linker script if they referenced….
[ELF] Create and export symbols provided by a linker script if they referenced…
Feb 26 2018, 11:20 PM
ikudrin committed rLLD326176: [ELF] Create and export symbols provided by a linker script if they referenced….
[ELF] Create and export symbols provided by a linker script if they referenced…
Feb 26 2018, 11:20 PM
ikudrin closed D43011: [ELF] Create and export symbols provided by a linker script if they referenced by DSOs..
Feb 26 2018, 11:20 PM · lld
ikudrin committed rC326164: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on….
[Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on…
Feb 26 2018, 6:56 PM
ikudrin committed rL326164: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on….
[Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on…
Feb 26 2018, 6:56 PM
ikudrin closed D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..
Feb 26 2018, 6:56 PM · Restricted Project
ikudrin updated the diff for D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..
  • Add a test.
Feb 26 2018, 5:51 AM · Restricted Project
ikudrin added a comment to D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..

Not all toolchains call ToolChain::GetLinkerPath. For example, MSVC toolchain uses its own code:

void visualstudio::Linker::ConstructJob(...) {
...
  StringRef Linker = Args.getLastArgValue(options::OPT_fuse_ld_EQ, "link");
  if (Linker.equals_lower("lld"))
    Linker = "lld-link";
...
}

In my case, I am trying to cross-compile:

> ...\clang.exe a.cpp -fuse-ld=lld -target i686-pc-linux-gnu
clang.exe: error: invalid linker name in argument '-fuse-ld=lld'
Feb 26 2018, 2:09 AM · Restricted Project

Feb 22 2018

ikudrin added inline comments to D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..
Feb 22 2018, 7:53 AM · Restricted Project
ikudrin created D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..
Feb 22 2018, 7:46 AM · Restricted Project

Feb 19 2018

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.
Feb 19 2018, 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?

Feb 19 2018, 5:11 PM · lld

Feb 15 2018

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.

Feb 15 2018, 9:44 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.

Feb 15 2018, 9:09 PM · lld
ikudrin committed rL325313: [ELF] Fix use after free in case of using --whole-archive..
[ELF] Fix use after free in case of using --whole-archive.
Feb 15 2018, 7:29 PM
ikudrin committed rLLD325313: [ELF] Fix use after free in case of using --whole-archive..
[ELF] Fix use after free in case of using --whole-archive.
Feb 15 2018, 7:29 PM
ikudrin closed D34554: [ELF] FIx use-after-return of archive path .
Feb 15 2018, 7:28 PM · lld
ikudrin updated the diff for D34554: [ELF] FIx use-after-return of archive path .
  • Remove "tee" in the test.
Feb 15 2018, 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.
Feb 15 2018, 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.

Feb 15 2018, 5:57 AM · lld

Feb 14 2018

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

Accepted by @rafael in the mailing list.

Feb 14 2018, 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.
Feb 14 2018, 9:05 PM · lld
ikudrin updated the diff for D43284: [ELF] Simplify handling of AT section attribute..
  • Remove "tee". Thanks, George!
Feb 14 2018, 6:29 AM · lld
ikudrin created D43284: [ELF] Simplify handling of AT section attribute..
Feb 14 2018, 5:06 AM · lld

Feb 13 2018

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.

Feb 13 2018, 5:18 PM · lld
ikudrin created D43228: [ELF] Allow redefining LMA for a section inside a segment..
Feb 13 2018, 2:49 AM · lld

Feb 8 2018

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.
Feb 8 2018, 10:25 PM · lld
ikudrin updated the diff for D43008: [ELF] Process linker scripts deeper when declaring symbols..

Shorten the script in the test.

Feb 8 2018, 9:16 PM · lld

Feb 7 2018

ikudrin updated the diff for D43008: [ELF] Process linker scripts deeper when declaring symbols..

Address review comments.

Feb 7 2018, 9:49 PM · lld
ikudrin added inline comments to D43011: [ELF] Create and export symbols provided by a linker script if they referenced by DSOs..
Feb 7 2018, 8:08 PM · lld
ikudrin created D43011: [ELF] Create and export symbols provided by a linker script if they referenced by DSOs..
Feb 7 2018, 2:39 AM · lld
ikudrin created D43008: [ELF] Process linker scripts deeper when declaring symbols..
Feb 7 2018, 2:24 AM · lld

Jan 24 2018

ikudrin added a comment to D42471: [ARM] Fix lld crash introduced by r321154.

Thank you for the patch. I agree with Peter, the fix should be accomplished with a test.

Jan 24 2018, 6:49 AM · lld

Jan 22 2018

ikudrin added a comment to D39196: [ARM] Remove pre-UAL FLDM/FSTM aliases.

I fear someone will eventually cry foul that we "broke their code".

Jan 22 2018, 10:09 PM

Jan 14 2018

ikudrin added a comment to D41993: [ELF] - Change shift2 constant of GNU_HASH from 6->11..
In D41993#975015, @ruiu wrote:

I also wonder how these initial values (6 and 5) were decided.

Jan 14 2018, 6:28 PM

Jan 9 2018

ikudrin committed rLLD322066: [ELF] Add a comment for ARMExidxSentinelSection::Highest; Use "= nullptr"….
[ELF] Add a comment for ARMExidxSentinelSection::Highest; Use "= nullptr"…
Jan 9 2018, 1:46 AM
ikudrin committed rL322066: [ELF] Add a comment for ARMExidxSentinelSection::Highest; Use "= nullptr"….
[ELF] Add a comment for ARMExidxSentinelSection::Highest; Use "= nullptr"…
Jan 9 2018, 1:45 AM

Dec 20 2017

ikudrin committed rLLD321154: [ELF] Fix an assignment command at the end of an .ARM.exidx section..
[ELF] Fix an assignment command at the end of an .ARM.exidx section.
Dec 20 2017, 12:57 AM
ikudrin committed rL321154: [ELF] Fix an assignment command at the end of an .ARM.exidx section..
[ELF] Fix an assignment command at the end of an .ARM.exidx section.
Dec 20 2017, 12:57 AM
This revision was not accepted when it landed; it landed in state Needs Review.
Dec 20 2017, 12:56 AM · lld

Dec 18 2017

ikudrin updated the diff for D41234: [ELF] Fix placement of a sentinel entry in the .ARM.exidx section..

Thanks for the review, @rafael!

Dec 18 2017, 9:21 PM · lld
ikudrin updated the diff for D41234: [ELF] Fix placement of a sentinel entry in the .ARM.exidx section..

Thanks for the comments!

Dec 18 2017, 2:25 AM · lld

Dec 15 2017

ikudrin updated the diff for D41234: [ELF] Fix placement of a sentinel entry in the .ARM.exidx section..
  • Add a sentinel entry earlier so that it can be arranged in a regular way.
Dec 15 2017, 4:55 AM · lld

Dec 14 2017

ikudrin created D41234: [ELF] Fix placement of a sentinel entry in the .ARM.exidx section..
Dec 14 2017, 5:45 AM · lld

Dec 13 2017

ikudrin committed rL320671: Fix a build bot failure..
Fix a build bot failure.
Dec 13 2017, 11:29 PM
ikudrin committed rLLD320671: Fix a build bot failure..
Fix a build bot failure.
Dec 13 2017, 11:28 PM
ikudrin committed rL320668: [ELF] Prevent crash in writing an .ARM.exidx sentinel entry..
[ELF] Prevent crash in writing an .ARM.exidx sentinel entry.
Dec 13 2017, 10:24 PM
ikudrin committed rLLD320668: [ELF] Prevent crash in writing an .ARM.exidx sentinel entry..
[ELF] Prevent crash in writing an .ARM.exidx sentinel entry.
Dec 13 2017, 10:24 PM
This revision was not accepted when it landed; it landed in state Needs Review.
Dec 13 2017, 10:24 PM · lld
ikudrin updated the diff for D41105: [ELF] Prevent crash in writing an .ARM.exidx sentinel entry..
  • Limited the patch to fix only the crash in ARMExidxSentinelSection::writeTo().
Dec 13 2017, 2:53 AM · lld

Dec 12 2017

ikudrin planned changes to D41105: [ELF] Prevent crash in writing an .ARM.exidx sentinel entry..

Thanks for the example, Peter! It looks like I have to think on these corner cases a bit more.

Dec 12 2017, 3:15 AM · lld

Dec 11 2017

ikudrin updated the diff for D41105: [ELF] Prevent crash in writing an .ARM.exidx sentinel entry..
  • Added a comment.
Dec 11 2017, 10:19 PM · lld
ikudrin created D41105: [ELF] Prevent crash in writing an .ARM.exidx sentinel entry..
Dec 11 2017, 9:49 PM · lld

Dec 6 2017

ikudrin committed rL320006: [ELF] Handle multiple "--version-script" options..
[ELF] Handle multiple "--version-script" options.
Dec 6 2017, 7:26 PM
ikudrin committed rLLD320006: [ELF] Handle multiple "--version-script" options..
[ELF] Handle multiple "--version-script" options.
Dec 6 2017, 7:26 PM
ikudrin closed D40878: Handle multiple "--version-script" options. by committing rLLD320006: [ELF] Handle multiple "--version-script" options..
Dec 6 2017, 7:26 PM · lld

Dec 5 2017

ikudrin created D40878: Handle multiple "--version-script" options..
Dec 5 2017, 11:11 PM · lld

Nov 28 2017

ikudrin committed rL319154: Revert r319008, "[ELF] Do not keep symbols if they referenced only from….
Revert r319008, "[ELF] Do not keep symbols if they referenced only from…
Nov 28 2017, 12:40 AM

Nov 26 2017

ikudrin committed rL319008: [ELF] Do not keep symbols if they referenced only from discarded sections..
[ELF] Do not keep symbols if they referenced only from discarded sections.
Nov 26 2017, 9:51 PM
ikudrin closed D38790: [ELF] Do not keep symbols if they referenced only from discarded sections. by committing rL319008: [ELF] Do not keep symbols if they referenced only from discarded sections..
Nov 26 2017, 9:51 PM · lld

Nov 24 2017

ikudrin updated the diff for D38790: [ELF] Do not keep symbols if they referenced only from discarded sections..
  • Rebased on the tip.
  • This is mostly Rafael's version of the patch.
  • Added a check for a weak symbol when setting IsNeeded.
  • Added the test to check that a weak symbol doesn't cause adding DT_NEEDED; this test might be extracted to a separate patch.
Nov 24 2017, 2:38 AM · lld

Nov 23 2017

ikudrin committed rL318939: [ELF] Make tests with undefined symbols more explicit..
[ELF] Make tests with undefined symbols more explicit.
Nov 23 2017, 10:43 PM
ikudrin closed D40253: [ELF] Make tests with undefined symbols more explicit. by committing rL318939: [ELF] Make tests with undefined symbols more explicit..
Nov 23 2017, 10:43 PM · lld

Nov 21 2017

ikudrin removed a dependency for D38790: [ELF] Do not keep symbols if they referenced only from discarded sections.: D40240: Garbage-collected symbols shouldn't make DSOs alive..
Nov 21 2017, 12:36 AM · lld
ikudrin removed a dependent revision for D40240: Garbage-collected symbols shouldn't make DSOs alive.: D38790: [ELF] Do not keep symbols if they referenced only from discarded sections..
Nov 21 2017, 12:36 AM
ikudrin updated the diff for D38790: [ELF] Do not keep symbols if they referenced only from discarded sections..
  • Do not depend on D40240.
  • Mark test/ELF/gc-sections-shared.s to be in an intermediate state.
Nov 21 2017, 12:36 AM · lld

Nov 20 2017

ikudrin added a dependent revision for D40253: [ELF] Make tests with undefined symbols more explicit.: D38790: [ELF] Do not keep symbols if they referenced only from discarded sections..
Nov 20 2017, 8:11 AM · lld
ikudrin added a dependent revision for D40240: Garbage-collected symbols shouldn't make DSOs alive.: D38790: [ELF] Do not keep symbols if they referenced only from discarded sections..
Nov 20 2017, 8:11 AM
ikudrin added dependencies for D38790: [ELF] Do not keep symbols if they referenced only from discarded sections.: D40253: [ELF] Make tests with undefined symbols more explicit., D40240: Garbage-collected symbols shouldn't make DSOs alive..
Nov 20 2017, 8:11 AM · lld
ikudrin added a comment to D38790: [ELF] Do not keep symbols if they referenced only from discarded sections..
In D38790#930021, @ruiu wrote:

I feel like this patch is a bit too complicated, but I can't really point out why I felt like that. This patch actually does two different things, no? Do you mind if I ask you to split it? I think one patch can be something like this https://reviews.llvm.org/D40240, and you can create another patch not to add dead symbols to the symbol table later.

Nov 20 2017, 8:07 AM · lld
ikudrin updated the diff for D38790: [ELF] Do not keep symbols if they referenced only from discarded sections..
  • Extract corrections in the existing tests into D40253.
  • Use handling of DT_NEEDED from D40240.
  • Don't try to maintain actual Live flag for all symbols. Just mark symbols used in relocations in live sections and make the final decision later in includeInSymtab.
Nov 20 2017, 7:59 AM · lld
ikudrin created D40253: [ELF] Make tests with undefined symbols more explicit..
Nov 20 2017, 7:39 AM · lld
ikudrin added inline comments to D40240: Garbage-collected symbols shouldn't make DSOs alive..
Nov 20 2017, 7:09 AM

Nov 16 2017

ikudrin added inline comments to D38790: [ELF] Do not keep symbols if they referenced only from discarded sections..
Nov 16 2017, 3:41 AM · lld

Nov 9 2017

ikudrin abandoned D25608: [libclang] Make tests for python bindings pass on Windows..
Nov 9 2017, 8:27 PM
ikudrin abandoned D34612: [ELF] Do not add a .tbss section into a PT_LOAD segment in case of using a linker script..
Nov 9 2017, 8:27 PM · lld
ikudrin updated the diff for D38790: [ELF] Do not keep symbols if they referenced only from discarded sections..
  • Rebase on the top.
  • Add flag 'Live' to Symbol.
  • Determine most of the alive symbols during GC phase.
Nov 9 2017, 3:17 AM · lld

Oct 27 2017

ikudrin added inline comments to D38790: [ELF] Do not keep symbols if they referenced only from discarded sections..
Oct 27 2017, 6:05 AM · lld

Oct 26 2017

ikudrin added a comment to D37626: [ELF] Scan .eh_frame sections precisely in order to eliminate unused LSDAs and personality routines..

I believe that the complexity in both cases is similar. Here we have two kinds of edges with distinct traversal functions. There we have to convert these edges in advance so that we can use only one traversal function. And distinct traversal function is not that different from the conversion function. But conversion always requires additional space and time to store edges, while the traversal function might be called several times. But my opinion might be biased.

Oct 26 2017, 5:02 AM · lld
ikudrin updated the diff for D37626: [ELF] Scan .eh_frame sections precisely in order to eliminate unused LSDAs and personality routines..
  • Address review comments;
  • Rebase on the tip.
Oct 26 2017, 4:34 AM · lld