Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

shankarke (Shankar Kalpathi Easwaran)
Shankar Easwaran

Projects

User does not belong to any projects.

User Details

User Since
Nov 6 2012, 7:02 PM (568 w, 6 h)

Recent Activity

Sep 27 2015

shankarke added a comment to D13196: ELF] Remove merge strings functionality..

merge strings has bugs that will eventually crash applications built using this switch. I will add a proper implementation soon.

Sep 27 2015, 5:35 AM · lld

Jun 30 2015

shankarke accepted D10842: [PATCH] [ELF/AArch64] Initial General-dynamic TLS support.
Jun 30 2015, 6:13 PM · lld

May 28 2015

shankarke added inline comments to D10088: [ELF/AArch64] Fix correct TCB aligment calculation.
May 28 2015, 12:22 PM · lld

May 26 2015

shankarke added inline comments to D10030: [lld] [ELF/AArch64] Fix local TLS relocations.
May 26 2015, 6:36 AM · lld

Apr 21 2015

shankarke accepted D9160: [ELF] Allow TargetLayout descendants to control assignment sections to segments.
Apr 21 2015, 11:04 AM · lld

Apr 15 2015

shankarke accepted D9035: ELF/ARM: Ignore R_ARM_V4BX but allow linking.

LGTM.

Apr 15 2015, 12:06 PM · lld
shankarke added a comment to D9034: [ELFYAML] Support arm32 R_ARM_V4BX relocation format.

Add a test.

Apr 15 2015, 12:06 PM
shankarke accepted D9020: ELF/ARM: Ignore R_ARM_V4BX but allow linking.

Thanks for providing an example. LGTM.

Apr 15 2015, 8:24 AM · lld

Apr 14 2015

shankarke added a comment to D9020: ELF/ARM: Ignore R_ARM_V4BX but allow linking.

Can you add a test ? How do you do that in assembly to create a relocation to nothing ?

Apr 14 2015, 12:10 PM · lld

Apr 7 2015

shankarke added a comment to D8882: [ELF] Allow customization of OutputELFWriter class.

Prior to this change, the target executable writer's used to contain the TargetLinkingContexts and their TargetLayout's. The Target writers do a static cast and return their layout's which i feel is not a nice design, IMO. I think you could safely derive from OutputELFWriter and create MipsOutputELFWriter. This would save the same amount of duplicated code too. Thoughts ?

Apr 7 2015, 6:49 PM · lld

Mar 31 2015

shankarke added inline comments to D8726: [PATCH 01/13] ELF/AArch64: Add support for R_AARCH64_ABS16.
Mar 31 2015, 9:50 PM · lld
shankarke accepted D8748: LLD: Hexagon: Fix dereferencing end() iterator..

LGTM.

Mar 31 2015, 2:22 PM · lld
shankarke accepted D8744: LLD: Remove "_hexagon" prefix from some member variables..

LGTM. Cool!

Mar 31 2015, 1:09 PM · lld
shankarke added inline comments to D8707: Implementation of R_ARM_TARGET1.
Mar 31 2015, 11:33 AM · lld
shankarke added a comment to D8740: LLD: ELF: Replace a macro with an inlined function..

The file is a autogenerated file. But sure. I will add a comment.

Mar 31 2015, 11:18 AM · lld
shankarke accepted D8740: LLD: ELF: Replace a macro with an inlined function..

LGTM.

Mar 31 2015, 11:15 AM · lld
shankarke accepted D8733: LLD: ELF: Do not use multiple inheritance.

Thanks for cleaning up.

Mar 31 2015, 10:57 AM · lld
shankarke added inline comments to D8701: [lld][ELF][ARM] Generate PLT entries for function calls from ARM and Thumb code.
Mar 31 2015, 8:58 AM · lld

Mar 25 2015

shankarke accepted D8612: LLD: Use using to inherit constructors. No functionality change..

LGTM. nice to know about this type of usage.

Mar 25 2015, 12:42 PM · lld

Mar 19 2015

shankarke added inline comments to D8372: [Core] Update references in parallel .
Mar 19 2015, 7:27 PM · lld

Mar 17 2015

shankarke added inline comments to D8353: [lld][ELF][ARM] Implement static (initial exec) TLS model.
Mar 17 2015, 12:15 PM · lld

Mar 16 2015

shankarke updated the diff for D8348: [lld][Core] Implement parallel_for_each.
Mar 16 2015, 2:13 PM · lld
shankarke added inline comments to D8348: [lld][Core] Implement parallel_for_each.
Mar 16 2015, 2:12 PM · lld
shankarke updated the diff for D8348: [lld][Core] Implement parallel_for_each.

hopefully this is the final version :)

Mar 16 2015, 1:26 PM · lld
shankarke updated the diff for D8348: [lld][Core] Implement parallel_for_each.
Mar 16 2015, 1:05 PM · lld
shankarke added inline comments to D8348: [lld][Core] Implement parallel_for_each.
Mar 16 2015, 1:04 PM · lld
shankarke updated the diff for D8348: [lld][Core] Implement parallel_for_each.
Mar 16 2015, 12:50 PM · lld
shankarke added inline comments to D8348: [lld][Core] Implement parallel_for_each.
Mar 16 2015, 12:47 PM · lld
shankarke updated the diff for D8348: [lld][Core] Implement parallel_for_each.

Implement a non-recursive version as per davide/ruiu.

Mar 16 2015, 12:27 PM · lld
shankarke added a comment to D8348: [lld][Core] Implement parallel_for_each.

I was thinking of doing it non recursive too, but I thought its easier to experiment or change the way tasks get spawned(by changing few numbers) with a recursive version, no ??

Mar 16 2015, 10:50 AM · lld
shankarke added a comment to D8348: [lld][Core] Implement parallel_for_each.

I was thinking of doing it non recursive too, but I thought its easier to experiment or change the way tasks get spawned(by changing few numbers) with a recursive version, no ??

Mar 16 2015, 10:49 AM · lld
shankarke accepted D8352: [ELF] Use pcrel format for eh_frame_ptr field encoding.

LGTM.

Mar 16 2015, 8:38 AM · lld
shankarke added a comment to D8352: [ELF] Use pcrel format for eh_frame_ptr field encoding.

this fails if the access to eh frame using eh_frame_header is absolute ?

Mar 16 2015, 7:23 AM · lld
shankarke updated the diff for D8348: [lld][Core] Implement parallel_for_each.

The results are very similar to the previous patch that was posted. Regresses on performance with bigger links on my box.

Mar 16 2015, 7:17 AM · lld
shankarke added a comment to D8348: [lld][Core] Implement parallel_for_each.

Ah that was bad. Thanks for catching that.

Mar 16 2015, 7:15 AM · lld

Mar 15 2015

shankarke added a comment to D8197: Add commit message guidelines to developer policy.
  • What is the commit message policy when reverting a change ?
Mar 15 2015, 8:51 PM
shankarke updated the diff for D8348: [lld][Core] Implement parallel_for_each.

Update code with comments from Rui,

Mar 15 2015, 7:57 PM · lld
shankarke added a comment to D8348: [lld][Core] Implement parallel_for_each.

I agree dividing the tasks by the hardware concurrency could get optimal performance. If you see parallel_sort(few lines above) the code tries to divide tasks by 1024. This file needs to be cleaned up based on your suggestion and I feel we could implement that later, just for allowing others to try various loops to be optimized based on this patch. I am fine anyways but I think creating an optimal solution would make others wait.

Mar 15 2015, 6:56 PM · lld
shankarke updated the diff for D8348: [lld][Core] Implement parallel_for_each.

Updating the code sent for review, with my latest changes. Have a seperate constant for parallel_for_each functionality.

Mar 15 2015, 6:12 PM · lld
shankarke added a comment to D8348: [lld][Core] Implement parallel_for_each.

I agree with David's comment, it doesnot show up with any considerable improvement.

Mar 15 2015, 6:04 PM · lld
shankarke added a comment to D8348: [lld][Core] Implement parallel_for_each.

I tried to self host lld and self host clang and the time taken to link one in 10 runs, saves the link time by 1/2 a second. I changed the minParallelSize to be 512 for the function parallel_for_each to make this happen though.

Mar 15 2015, 5:42 PM · lld
shankarke added a comment to D8348: [lld][Core] Implement parallel_for_each.

I havent run benchmarks as yet with this patch as yet.

Mar 15 2015, 3:18 PM · lld
shankarke retitled D8348: [lld][Core] Implement parallel_for_each from to [lld][Core] Implement parallel_for_each.
Mar 15 2015, 11:00 AM · lld

Mar 14 2015

shankarke added reviewers for D8325: [ELF] Initial support for symbols visibility: kledzik, atanasyan.

Forgot to mention about your previous change, that you need to add changes to ReaderWriterYAML(YAML Testing) and ReaderNative and WriterNative(Native formats) too.

Mar 14 2015, 3:54 PM · lld

Mar 13 2015

shankarke accepted D8159: [lld][ELF] Ability to resolve undefined symbols lazily.

LGTM.

Mar 13 2015, 11:14 PM · lld
shankarke added a comment to D8336: Fix race condition in Defined Atom ordinal computation..

am confused, Atoms live within a File and when the ordinals would be relative inside the file. So for your case do more than one file share the same SimpleDefinedAtom ? Am I missing some information ?

Mar 13 2015, 10:22 PM · lld
shankarke requested changes to D8325: [ELF] Initial support for symbols visibility.

I dont think we need a separate visibility field in DefinedAtoms. The visibility is already modeled as part of Scope.

Mar 13 2015, 10:19 PM · lld

Mar 12 2015

shankarke accepted D8271: LinkerScript: Add parsing of the EXTERN command.

LGTM

Mar 12 2015, 12:51 PM · lld
shankarke accepted D8272: LinkerScript: Add evaluation of the EXTERN command.
Mar 12 2015, 12:48 PM · lld
shankarke added inline comments to D8157: [lld] [LinkerScript] Implement semantics for simple sections mappings.
Mar 12 2015, 12:44 PM

Mar 10 2015

shankarke added inline comments to D8241: [ELF] Handle __init_array{start, end} correctly..
Mar 10 2015, 7:51 PM · lld
shankarke accepted D8235: [ELF] Garbage collect unused class.
Mar 10 2015, 3:37 PM · lld
shankarke accepted D8212: LinkerScript: Add parsing of the MEMORY command.

LGTM.

Mar 10 2015, 11:57 AM · lld

Mar 9 2015

shankarke added inline comments to D8157: [lld] [LinkerScript] Implement semantics for simple sections mappings.
Mar 9 2015, 11:42 AM
shankarke added inline comments to D8157: [lld] [LinkerScript] Implement semantics for simple sections mappings.
Mar 9 2015, 8:56 AM
shankarke requested changes to D8159: [lld][ELF] Ability to resolve undefined symbols lazily.
Mar 9 2015, 7:44 AM · lld

Mar 8 2015

shankarke added a comment to D8157: [lld] [LinkerScript] Implement semantics for simple sections mappings.

can we split this patch by functionalities too, its easier for review.

Mar 8 2015, 8:12 PM
shankarke added inline comments to D8156: [lld] [LinkerScript] Implement linker script expression evaluation.
Mar 8 2015, 7:57 PM

Mar 6 2015

shankarke added a comment to D8125: LLD: Remove sectionPosition attribute.

Can you please add reviewers to the code review request next time, its possible people would miss reviewing this.

Mar 6 2015, 2:23 PM · lld

Mar 4 2015

shankarke added inline comments to D8052: LLD: Core: Fix file ordinals of archive members..
Mar 4 2015, 11:21 AM · lld

Mar 3 2015

shankarke added inline comments to D8025: LLD: Implement our own future and use that for FileArchive::preload()..
Mar 3 2015, 8:53 AM · lld

Mar 2 2015

shankarke added a comment to D7966: [lld] Define DefinedAtom::sectionSize..

Thats a nice comparison, Ruiu. Once the YAML/Native code is changed, this LGTM. I have a usecase for section size for ELF too for internal purposes.

Mar 2 2015, 3:18 PM · lld

Feb 26 2015

shankarke accepted D7926: [ELF] Set up initial live symbol(s) to avoid incorrect reclaim of atoms.
Feb 26 2015, 7:48 PM · lld
shankarke added a comment to D7915: [lld] [LinkerScript] Implement semantics for simple sections mappings.

There are more complicated examples than that where ruleid's are required, It makes the design scale a lot, than keeping more data structures IMO.

Feb 26 2015, 12:53 PM
shankarke added a comment to D7915: [lld] [LinkerScript] Implement semantics for simple sections mappings.

Few comments :-

Feb 26 2015, 11:54 AM

Feb 25 2015

shankarke added a comment to D7885: [ELF] Use llvm ADT's instead of std..

Thanks for the info, Rui. Adding items to the map while you are iterating is bad in the first place, not sure why std::map didnt show the issue. I will double check the ELF Reader/Writer for any of these occurences.

Feb 25 2015, 12:39 PM · lld
shankarke updated the diff for D7885: [ELF] Use llvm ADT's instead of std..

Address comments from Simon.

Feb 25 2015, 11:51 AM · lld
shankarke added a comment to D7885: [ELF] Use llvm ADT's instead of std..

rnk : I was able to self-host clang/lld and run without any issues, and I would think he was trying to link chromium with the lld windows flavor.

Feb 25 2015, 11:46 AM · lld
shankarke added a comment to D7885: [ELF] Use llvm ADT's instead of std..

davide: I havent measured. There are some low hanging fruits which I plan to do of resizing certain maps.

Feb 25 2015, 11:44 AM · lld
shankarke added inline comments to D7885: [ELF] Use llvm ADT's instead of std..
Feb 25 2015, 11:41 AM · lld
shankarke retitled D7885: [ELF] Use llvm ADT's instead of std. from to [ELF] Use llvm ADT's instead of std..
Feb 25 2015, 10:13 AM · lld

Feb 24 2015

shankarke added a comment to D7843: [lld] cmake cleanup.

We dont have standalone build, but if we do we can pick it up from the repository.

Feb 24 2015, 1:24 PM

Feb 23 2015

shankarke added reviewers for D7843: [lld] cmake cleanup: ruiu, garious.
Feb 23 2015, 3:57 PM
shankarke retitled D7843: [lld] cmake cleanup from to [lld] cmake cleanup.
Feb 23 2015, 3:56 PM
shankarke closed D7840: [ELF] Create reference to symbol map..

https://llvm.org/svn/llvm-project/lld/trunk@230273

Feb 23 2015, 2:42 PM · lld
shankarke added inline comments to D7840: [ELF] Create reference to symbol map..
Feb 23 2015, 2:27 PM · lld
shankarke retitled D7840: [ELF] Create reference to symbol map. from to [ELF] Create reference to symbol map..
Feb 23 2015, 2:25 PM · lld
shankarke added a comment to D7823: [Core] Do not reclaim absolute atoms in resolver.

nothing from 2.o was really needed in the final object. absolute symbols are specific to a file, its easy to enhance GC to collect them IMO. This is also needed by --defsym too, if there is not a reference to that symbol, ld doesnot generate one.

Feb 23 2015, 11:23 AM · lld
shankarke added a comment to D7823: [Core] Do not reclaim absolute atoms in resolver.

There is a absolute symbol for 2.c symbol.

Feb 23 2015, 11:08 AM · lld
shankarke added a comment to D7823: [Core] Do not reclaim absolute atoms in resolver.

I feel its a bug in GNU on why absolute symbols are not reclaimed. Do we want to be bug compatible with lld ?

Feb 23 2015, 10:59 AM · lld
shankarke added a comment to D7833: Implementation of PLT: handling of IFUNC calls (gnu_indirect_function)..

Can you add testcases for the other relocations that you have in the code ?

Feb 23 2015, 9:30 AM · lld
shankarke added inline comments to D7823: [Core] Do not reclaim absolute atoms in resolver.
Feb 23 2015, 5:08 AM · lld
shankarke added inline comments to D7823: [Core] Do not reclaim absolute atoms in resolver.
Feb 23 2015, 5:06 AM · lld

Feb 22 2015

shankarke accepted D7820: [ELF][X86_64] Handle R_X86_64_PC64 relocation.

LGTM.

Feb 22 2015, 6:02 PM · lld

Feb 21 2015

shankarke added a comment to D7807: [lld] Remove duplicate class definitions of ELF LinkingContexts.

Filcab, you got the wrong file, please look at this file https://github.com/llvm-mirror/lld/blob/master/lib/ReaderWriter/ELF/Hexagon/HexagonEncodings.h (this is pretty common with scatter architectures, where all the information is present in the td file and you are trying to duplicate this information in target specific code in other tools, this is not clean).

Feb 21 2015, 11:45 PM · lld

Feb 20 2015

shankarke closed D7781: [obj2yaml/yaml2obj] Add section group support..

https://llvm.org/svn/llvm-project/llvm/trunk@230124

Feb 20 2015, 8:31 PM
shankarke updated the diff for D7781: [obj2yaml/yaml2obj] Add section group support..

Updated with comments from atanasyan.

Feb 20 2015, 7:37 AM
shankarke added inline comments to D7781: [obj2yaml/yaml2obj] Add section group support..
Feb 20 2015, 7:36 AM

Feb 19 2015

shankarke retitled D7781: [obj2yaml/yaml2obj] Add section group support. from to [obj2yaml/yaml2obj] Add section group support..
Feb 19 2015, 10:13 PM
shankarke added a comment to D7657: [ELF] Implement --stats.

should this be a general option in LinkingContext ? Why is this specific to the GnuFlavor ? Are you planning to add the stats collection for individual passes that run during Linkstep ?

Feb 19 2015, 12:28 PM · lld

Feb 18 2015

shankarke added a comment to D7605: ELF: Move relocation predicates out of the context class..

In addition to what we discussed in this review, that was one of my intention to have a linker to support just a particular ELF target.

Feb 18 2015, 11:30 AM · lld
shankarke added a comment to D7704: Fix crash in llvm-objdump with proc-specific sections.

Can we use yaml2obj in the test ?

Feb 18 2015, 8:35 AM

Feb 17 2015

shankarke accepted D7663: [Support] Make GetMallocUsage() aware of jemalloc.
Feb 17 2015, 8:19 PM
shankarke added a comment to D7605: ELF: Move relocation predicates out of the context class..

I disagree. This kind of code is commonly placed in the TargetHandler. I was just browsing MachO and mach-o too has these utility functions in the ArchHandler. Myself/Simon do agree that this code pattern when moved to the TargetHandler for ELF/Gnu flavor makes the code much better too.

Feb 17 2015, 4:20 PM · lld
shankarke added a comment to D7605: ELF: Move relocation predicates out of the context class..

I do agree that LinkingContext is not the place to have these functions defined. Moving this to lld::Reference is not the right thing to do IMO as its a base class for all references. We do have TargetHandler for this purpose where each target would override this functionality.

Feb 17 2015, 2:40 PM · lld

Feb 16 2015

shankarke added a comment to D7546: [Object] Support reading 64-bit MIPS ELF archives.

Can we also add a pointer to the specification in the code. It would be helpful for others if they happen to change this same code later.

Feb 16 2015, 5:43 PM

Feb 13 2015

shankarke added inline comments to D7625: [lld] Revive standalone CMake build.
Feb 13 2015, 3:26 PM · lld
shankarke added inline comments to D7625: [lld] Revive standalone CMake build.
Feb 13 2015, 2:27 PM · lld
shankarke added a comment to D7605: ELF: Move relocation predicates out of the context class..

relocation types are very much architecture dependent, thats why they are handled in each architecture/target. Its ok to move this to the TargetHandler, and the code would be more clear.

Feb 13 2015, 11:42 AM · lld
shankarke added a comment to D7605: ELF: Move relocation predicates out of the context class..

other reasons I dont like this design is

Feb 13 2015, 7:54 AM · lld