Page MenuHomePhabricator

denis-protivensky (Denis Protivensky)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 26 2014, 9:56 PM (241 w, 6 d)

Recent Activity

Jan 22 2016

denis-protivensky abandoned D15191: [ELF] Support PHDRS command.

I'll think how to rework this.

Jan 22 2016, 1:42 AM · lld

Jan 19 2016

denis-protivensky added a comment to D15191: [ELF] Support PHDRS command.

Concerning formatting - let's wait for another reviewer's opinion then.

Jan 19 2016, 12:16 AM · lld

Jan 18 2016

denis-protivensky added inline comments to D15191: [ELF] Support PHDRS command.
Jan 18 2016, 7:17 AM · lld

Jan 13 2016

denis-protivensky added a comment to D15191: [ELF] Support PHDRS command.

Ping

Jan 13 2016, 12:06 AM · lld
denis-protivensky updated the diff for D15191: [ELF] Support PHDRS command.

Rebased on top of actual sources.

Jan 13 2016, 12:06 AM · lld

Dec 17 2015

denis-protivensky added inline comments to D15191: [ELF] Support PHDRS command.
Dec 17 2015, 4:26 AM · lld
denis-protivensky updated the diff for D15191: [ELF] Support PHDRS command.

Updated:

  • Remove IndicesVector typedef
  • Replace std::copy with insert into vector
  • Add more comments to functions
Dec 17 2015, 4:25 AM · lld

Dec 16 2015

denis-protivensky added inline comments to D15191: [ELF] Support PHDRS command.
Dec 16 2015, 1:44 AM · lld
denis-protivensky updated the diff for D15191: [ELF] Support PHDRS command.

Updated:

  • Use std::vector instead of SmallVector
  • Add comments to methods
  • Rename fillPhdrs -> fillUnusedPhdrs
Dec 16 2015, 1:44 AM · lld

Dec 14 2015

denis-protivensky added a comment to D15191: [ELF] Support PHDRS command.

Ping

Dec 14 2015, 10:41 PM · lld

Dec 8 2015

denis-protivensky updated the diff for D15191: [ELF] Support PHDRS command.

Updated:

  • move out some functionality to couple of methods
  • improve NONE header handling (it now can be specified with other headers and just ignored)
Dec 8 2015, 2:29 AM · lld

Dec 7 2015

denis-protivensky added inline comments to D15191: [ELF] Support PHDRS command.
Dec 7 2015, 1:27 AM · lld
denis-protivensky updated the diff for D15191: [ELF] Support PHDRS command.

Updated:

  • Add method comment
  • Simplify custom header layout loop
  • Check if no sections assigned to custom headers
  • Improve NONE header handling
  • Style fixes in the header layout loop
Dec 7 2015, 1:26 AM · lld

Dec 4 2015

denis-protivensky updated the diff for D15191: [ELF] Support PHDRS command.

Updated:

  • style fixes in linker script's PHDRS parsing
  • move custom header processing out to a separate method
Dec 4 2015, 2:15 AM · lld

Dec 3 2015

denis-protivensky retitled D15191: [ELF] Support PHDRS command from to [ELF] Support PHDRS command.
Dec 3 2015, 7:35 AM · lld

Nov 12 2015

denis-protivensky committed rL253017: Fix failing test on Windows.
Fix failing test on Windows
Nov 12 2015, 11:22 PM
denis-protivensky committed rL252868: [ELF2] SECTIONS command basic support.
[ELF2] SECTIONS command basic support
Nov 12 2015, 1:54 AM
denis-protivensky closed D14140: [ELF2] SECTIONS command basic support by committing rL252868: [ELF2] SECTIONS command basic support.
Nov 12 2015, 1:54 AM · lld
denis-protivensky committed rL252864: [ELF2] Fix gcc warning in section kind switch.
[ELF2] Fix gcc warning in section kind switch
Nov 12 2015, 1:13 AM

Nov 11 2015

denis-protivensky added a comment to D14140: [ELF2] SECTIONS command basic support.
In D14140#285339, @ruiu wrote:

One question is the performance with this patch. Does this slow down the linker? If so, how much?

Nov 11 2015, 4:58 AM · lld
denis-protivensky updated the diff for D14140: [ELF2] SECTIONS command basic support.

Updated:

  • Rename parseSectionDescriptions -> buildSectionMap
Nov 11 2015, 4:58 AM · lld

Nov 9 2015

denis-protivensky updated the diff for D14140: [ELF2] SECTIONS command basic support.

Updated:

  • Remove OutputSectionDescription structure
  • Simplify checks in scan relocs loop
Nov 9 2015, 7:01 AM · lld
denis-protivensky added a comment to D14140: [ELF2] SECTIONS command basic support.

It is not clear if this is needed by real program. For now just leave
it out to have a simpler code. Even if it is needed, it would be
better to just organize the code as

  • add sections from input files
  • sort
  • add linker generated sections
  • sort the end + merge

    no?
Nov 9 2015, 6:27 AM · lld

Nov 3 2015

denis-protivensky updated the diff for D14140: [ELF2] SECTIONS command basic support.

Updated:

  • Style fixes in linker script
  • Remove InputSectionDescription
  • Remove hasCustomSections check
  • Rename discardInputSection -> isDiscarded
  • Make compareSections static
Nov 3 2015, 1:04 AM · lld

Nov 2 2015

denis-protivensky updated the diff for D14140: [ELF2] SECTIONS command basic support.

Updated:

  • Replace mapBraces method with procedural checks in the linker script parser
  • Change peek() -> skip() in the parser
  • Remove custom bounding symbols processing for linker script
  • Remove checks for regular section ordering for linker script
  • Change section comparison lambda with method
  • Remove not used fields of input section description struct
Nov 2 2015, 3:53 AM · lld

Oct 30 2015

denis-protivensky added inline comments to D14140: [ELF2] SECTIONS command basic support.
Oct 30 2015, 7:44 AM · lld
denis-protivensky added a comment to D14140: [ELF2] SECTIONS command basic support.

I don't think we need that protection. If users try to reorder such
sections, we should do that as instructed, no?

First of all, I reproduced the case when defining 'specific' section in the SECTIONS command affects its ordering in the resulting file without the check, so this check works as I expected.

Oct 30 2015, 2:53 AM · lld

Oct 29 2015

denis-protivensky added inline comments to D14140: [ELF2] SECTIONS command basic support.
Oct 29 2015, 8:31 AM · lld
denis-protivensky added inline comments to D14140: [ELF2] SECTIONS command basic support.
Oct 29 2015, 7:44 AM · lld
denis-protivensky updated the diff for D14140: [ELF2] SECTIONS command basic support.

Update:

  • Style fixes
  • Use reference in range-for-loop (auto &)
Oct 29 2015, 4:32 AM · lld
denis-protivensky added inline comments to D14140: [ELF2] SECTIONS command basic support.
Oct 29 2015, 4:26 AM · lld
denis-protivensky updated the diff for D14140: [ELF2] SECTIONS command basic support.

Updated:

  • Remove dynamic casting of output section classes
  • Remove separate class for linker script support
  • Move linker script-related code to Writer and use conditional checks where needed
Oct 29 2015, 2:32 AM · lld

Oct 28 2015

denis-protivensky added inline comments to D14140: [ELF2] SECTIONS command basic support.
Oct 28 2015, 8:10 AM · lld
denis-protivensky added inline comments to D14140: [ELF2] SECTIONS command basic support.
Oct 28 2015, 2:45 AM · lld
denis-protivensky updated D14140: [ELF2] SECTIONS command basic support.
Oct 28 2015, 1:31 AM · lld
denis-protivensky retitled D14140: [ELF2] SECTIONS command basic support from to [ELF2] SECTIONS command basic support.
Oct 28 2015, 1:31 AM · lld

Oct 7 2015

denis-protivensky committed rL249661: [ELF2] Add ENTRY command to the linker script.
[ELF2] Add ENTRY command to the linker script
Oct 7 2015, 11:50 PM
denis-protivensky closed D13509: [ELF2] Add ENTRY command to the linker script by committing rL249661: [ELF2] Add ENTRY command to the linker script.
Oct 7 2015, 11:50 PM · lld
denis-protivensky added a comment to D13509: [ELF2] Add ENTRY command to the linker script.

Will fix style and sort members before commit.

Oct 7 2015, 11:37 PM · lld
denis-protivensky retitled D13509: [ELF2] Add ENTRY command to the linker script from to [ELF2] Add ENTRY command to the linker script.
Oct 7 2015, 6:57 AM · lld
denis-protivensky committed rL249529: [ELF2] Handle -m option.
[ELF2] Handle -m option
Oct 7 2015, 2:15 AM
denis-protivensky closed D13055: [ELF2] Handle -m option by committing rL249529: [ELF2] Handle -m option.
Oct 7 2015, 2:15 AM · lld
denis-protivensky committed rL249524: [ELF2] Fix gcc build error.
[ELF2] Fix gcc build error
Oct 7 2015, 1:23 AM

Oct 6 2015

denis-protivensky updated the diff for D13055: [ELF2] Handle -m option.

Updated:

  • Rename createELFFile -> createELFInputFile
  • Rework error handling in createELFInputFile - use early return, split error messages
Oct 6 2015, 5:34 AM · lld

Oct 5 2015

denis-protivensky added a comment to D13055: [ELF2] Handle -m option.

Just one more nit:

in ELFFileBase::getEMachine() I think you have to keep the
llvm_unreachable outside of the switch to avoid a gcc warning.

LGTM with that.

Oct 5 2015, 6:44 AM · lld
denis-protivensky updated the diff for D13055: [ELF2] Handle -m option.

Updated:

  • Remove FirstObjName in favor of always reporting incompatibility with the first object file if available.
Oct 5 2015, 6:42 AM · lld
denis-protivensky updated the diff for D13055: [ELF2] Handle -m option.

Updated:

  • Remove isCompatibleWith method
  • Rename OPT_emulation -> OPT_m
  • Rename applyEmulation -> setELFType
Oct 5 2015, 5:32 AM · lld
denis-protivensky committed rL249295: [ELF2] Add --undefined option.
[ELF2] Add --undefined option
Oct 5 2015, 2:46 AM
denis-protivensky closed D13345: [ELF2] Add --undefined option by committing rL249295: [ELF2] Add --undefined option.
Oct 5 2015, 2:45 AM · lld

Oct 2 2015

denis-protivensky updated the diff for D13345: [ELF2] Add --undefined option.

Updated:

  • simplify initialization of static synthetic symbol
  • add test to check that undefined symbol is not in dynamic table
Oct 2 2015, 6:12 AM · lld
denis-protivensky added a comment to D13345: [ELF2] Add --undefined option.

Change the last test to create a shared library and check the the 'unknown' symbol shows up only on the regular symbol table, not the dynamic one.

Oct 2 2015, 6:09 AM · lld

Oct 1 2015

denis-protivensky added inline comments to D13345: [ELF2] Add --undefined option.
Oct 1 2015, 8:18 AM · lld
denis-protivensky retitled D13345: [ELF2] Add --undefined option from to [ELF2] Add --undefined option.
Oct 1 2015, 6:46 AM · lld
denis-protivensky updated the diff for D13055: [ELF2] Handle -m option.

Updated:

  • Remove FirstOjbName Config variable, use Symtab.getFirstELF()->getName() instead
  • clang-format sources
Oct 1 2015, 2:09 AM · lld
denis-protivensky added a comment to D13055: [ELF2] Handle -m option.

Sorry for the previous not full comment, just hit Submit button accidentally.

Oct 1 2015, 2:05 AM · lld
denis-protivensky added a comment to D13055: [ELF2] Handle -m option.

You are missing a testcase where -m *is* compatible with the rest of
the elf files :-)

Oct 1 2015, 2:04 AM · lld

Sep 30 2015

denis-protivensky updated the diff for D13055: [ELF2] Handle -m option.

Updated:

  • Rename is64Bits() -> is64()
  • Add FirstObjFile config parameter
  • Introduce ELFNoneKind
  • Replace applyEmulation loop with if-else
  • Remove configureTarget function
  • Drop getElfMachineType function
Sep 30 2015, 5:34 AM · lld
denis-protivensky added inline comments to D13244: [ELF2] Implement --allow-shlib-undefined as default behavior..
Sep 30 2015, 12:41 AM

Sep 29 2015

denis-protivensky added inline comments to D13212: [ELF2] - Implemented -e flag.
Sep 29 2015, 8:07 AM
denis-protivensky added inline comments to D13244: [ELF2] Implement --allow-shlib-undefined as default behavior..
Sep 29 2015, 7:55 AM

Sep 28 2015

denis-protivensky updated the diff for D13055: [ELF2] Handle -m option.

Updated:

  • Make ElfKind optional
  • Move Emulations to the place of use
  • Rename createTargetELFFile -> createELFFile
  • Code style fixes
  • Minimize the number of changes by excluding parts that may be removed
Sep 28 2015, 6:48 AM · lld

Sep 25 2015

denis-protivensky added inline comments to D13135: [ELF2] Add support for -L and -l command line switches.
Sep 25 2015, 5:45 AM · lld
denis-protivensky added inline comments to D13138: [ELF2] - add support of --noinhibit-exec flag.
Sep 25 2015, 3:39 AM · lld
denis-protivensky added inline comments to D13135: [ELF2] Add support for -L and -l command line switches.
Sep 25 2015, 2:34 AM · lld
denis-protivensky added inline comments to D13055: [ELF2] Handle -m option.
Sep 25 2015, 1:53 AM · lld

Sep 24 2015

denis-protivensky added a comment to D13055: [ELF2] Handle -m option.

Maybe, but that is independent and pretty big, so it should be in another patch.

Sep 24 2015, 7:30 AM · lld
denis-protivensky added a comment to D13055: [ELF2] Handle -m option.

@rafael, thanks for the patch, but I'd prefer to leave the getElfMachineType method since it allows to simplify the interface of ELFData class and ObjectFile/SharedFile. It removes bunch of methods from the .cpp file as well.

Sep 24 2015, 5:49 AM · lld

Sep 23 2015

denis-protivensky updated the diff for D13055: [ELF2] Handle -m option.
  • Fix style
  • Fix clang build error
  • Provide source of target incompatibility
Sep 23 2015, 7:57 AM · lld
denis-protivensky added inline comments to D13055: [ELF2] Handle -m option.
Sep 23 2015, 7:20 AM · lld
denis-protivensky updated the diff for D13055: [ELF2] Handle -m option.

Updated once again:

  • Rename OPT_m -> OPT_emulation
  • Fix word spelling in error message
Sep 23 2015, 3:13 AM · lld
denis-protivensky updated the diff for D13055: [ELF2] Handle -m option.

Updated:

  • Determine target from the first input file if no emulation given
  • Sort emulations alphabetically in the array
  • Revert adding -m option to all test cases, add only where needed
Sep 23 2015, 1:23 AM · lld

Sep 22 2015

denis-protivensky added inline comments to D13055: [ELF2] Handle -m option.
Sep 22 2015, 8:28 AM · lld
denis-protivensky added a comment to D13055: [ELF2] Handle -m option.

I did this so if the host is not x86-64 machine all the tests still pass.

Sep 22 2015, 7:36 AM · lld
denis-protivensky retitled D13055: [ELF2] Handle -m option from to [ELF2] Handle -m option.
Sep 22 2015, 5:45 AM · lld
denis-protivensky committed rL248249: [ELF2] Fix gcc build.
[ELF2] Fix gcc build
Sep 22 2015, 1:16 AM
denis-protivensky added inline comments to D13023: [Bug 21683 relative] - Refactor of SimpleDefinedAtom::sortReferences().
Sep 22 2015, 12:28 AM · lld

Sep 18 2015

denis-protivensky abandoned D12027: [lld][LinkerScript] Consider order of headers in PHDRS command.

Rafael, thanks for the effort, but I have to abandon this one since the implemented logic is partially wrong. I might re-implement it, but it's more likely to appear in the new linker some time later.

Sep 18 2015, 8:37 AM · lld

Sep 17 2015

denis-protivensky committed rL247878: [ELF2] Fix typo in RelocationSection::hasRelocs method.
[ELF2] Fix typo in RelocationSection::hasRelocs method
Sep 17 2015, 2:55 AM

Sep 15 2015

denis-protivensky added inline comments to D12874: [LLD/ELF2] Initial support for local symbols in symtab.
Sep 15 2015, 12:28 AM

Sep 2 2015

denis-protivensky updated the diff for D12027: [lld][LinkerScript] Consider order of headers in PHDRS command.

Updated:

  • Remove check for duplicate names of output sections.
Sep 2 2015, 2:38 AM · lld
denis-protivensky added a comment to D12027: [lld][LinkerScript] Consider order of headers in PHDRS command.

Rafael, you're right. There may be more than one output section description with the same name. But headers in PHDRS command should have unique names, so I'll leave only check for duplicate header names.

Sep 2 2015, 1:07 AM · lld

Aug 14 2015

denis-protivensky retitled D12027: [lld][LinkerScript] Consider order of headers in PHDRS command from to [lld][LinkerScript] Consider order of headers in PHDRS command.
Aug 14 2015, 1:25 AM · lld

Aug 12 2015

denis-protivensky committed rL244747: [ELF] Remove TargetLayout::getCustomSegments methods.
[ELF] Remove TargetLayout::getCustomSegments methods
Aug 12 2015, 6:28 AM
denis-protivensky committed rL244743: [LinkerScript] Process program header in PHDRS command.
[LinkerScript] Process program header in PHDRS command
Aug 12 2015, 5:32 AM
denis-protivensky closed D11589: [lld][LinkerScript] Process program header of linker script by committing rL244743: [LinkerScript] Process program header in PHDRS command.
Aug 12 2015, 5:32 AM · lld

Jul 29 2015

denis-protivensky retitled D11589: [lld][LinkerScript] Process program header of linker script from to [lld][LinkerScript] Process program header of linker script.
Jul 29 2015, 5:10 AM · lld

Jul 23 2015

denis-protivensky committed rL243006: [LinkerScript] Fix case when setting custom NONE segment.
[LinkerScript] Fix case when setting custom NONE segment
Jul 23 2015, 4:47 AM
denis-protivensky committed rL243002: [ELF] Apply segments from linker scripts.
[ELF] Apply segments from linker scripts
Jul 23 2015, 3:35 AM
denis-protivensky closed D10918: [lld][ELF] Apply segments from linker scripts by committing rL243002: [ELF] Apply segments from linker scripts.
Jul 23 2015, 3:35 AM · lld

Jul 16 2015

denis-protivensky added a comment to D10918: [lld][ELF] Apply segments from linker scripts.

Ping.

Jul 16 2015, 11:19 PM · lld

Jul 7 2015

denis-protivensky committed rL241567: Fix gcc warnings of different enum and non-enum types in ternaries.
Fix gcc warnings of different enum and non-enum types in ternaries
Jul 7 2015, 12:49 AM

Jul 6 2015

denis-protivensky accepted D10952: [LinkerScript] Don't create unnecessarily large segments.

LGTM.

Jul 6 2015, 5:25 AM

Jul 3 2015

denis-protivensky updated D10918: [lld][ELF] Apply segments from linker scripts.
Jul 3 2015, 2:50 AM · lld
denis-protivensky retitled D10918: [lld][ELF] Apply segments from linker scripts from to [lld][ELF] Apply segments from linker scripts.
Jul 3 2015, 2:48 AM · lld

Jun 15 2015

denis-protivensky committed rL239723: [LinkerScript] Allow destruction of PHDR.
[LinkerScript] Allow destruction of PHDR
Jun 15 2015, 2:48 AM
denis-protivensky committed rL239719: [LinkerScript] Add matching of output sections to segments.
[LinkerScript] Add matching of output sections to segments
Jun 15 2015, 1:05 AM
denis-protivensky closed D10359: [lld][LinkerScript] Add matching of output sections to segments by committing rL239719: [LinkerScript] Add matching of output sections to segments.
Jun 15 2015, 1:05 AM · lld

Jun 12 2015

denis-protivensky updated the diff for D10359: [lld][LinkerScript] Add matching of output sections to segments.

Updated:

  • return error immediately when encountered
  • use SmallVector instead of std::vector for holding matched headers for sections
Jun 12 2015, 3:25 AM · lld

Jun 11 2015

denis-protivensky added inline comments to D10359: [lld][LinkerScript] Add matching of output sections to segments.
Jun 11 2015, 11:43 PM · lld
denis-protivensky added inline comments to D10359: [lld][LinkerScript] Add matching of output sections to segments.
Jun 11 2015, 1:03 AM · lld