grimar (George Rimar)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 21 2015, 12:36 AM (87 w, 2 d)

Recent Activity

Today

grimar created D33485: [ELF] - Do not allow -r to eat comdats..
Wed, May 24, 2:39 AM

Yesterday

grimar added inline comments to D33184: [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC.
Tue, May 23, 1:30 AM
grimar updated the diff for D33184: [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC.
  • Addressed review comments.
Tue, May 23, 1:29 AM

Sat, May 20

grimar added a comment to D6961: Make it easier to use DwarfContext with MCJIT.

This change introduced getLoadedSectionContents(), but it is not used anywhere in LLVM code I think. Do we need it ?

Sat, May 20, 3:33 AM

Thu, May 18

grimar added a comment to D32991: [ELF] Initial migration of AVR target.

I tried to run llvm-mc to check which relocations are produced here but got an error:

Thu, May 18, 8:49 AM
grimar added inline comments to D33184: [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC.
Thu, May 18, 2:22 AM
grimar updated the diff for D33184: [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC.
  • Addressed review comments.
Thu, May 18, 2:21 AM
grimar committed rL303335: [DWARF] - Simplify RelocVisitor implementation..
[DWARF] - Simplify RelocVisitor implementation.
Thu, May 18, 1:38 AM
grimar closed D33274: [DWARF] - Simplify RelocVisitor implementation. by committing rL303335: [DWARF] - Simplify RelocVisitor implementation..
Thu, May 18, 1:38 AM
grimar committed rL303334: [lib/Object] - Fix build bot after r303331 "[lib/Object] - Minor API update for….
[lib/Object] - Fix build bot after r303331 "[lib/Object] - Minor API update for…
Thu, May 18, 1:28 AM
grimar committed rL303331: [lib/Object] - Minor API update for llvm::Decompressor..
[lib/Object] - Minor API update for llvm::Decompressor.
Thu, May 18, 1:13 AM
grimar closed D33200: [lib/Object] - Minor API update for llvm::Decompressor. by committing rL303331: [lib/Object] - Minor API update for llvm::Decompressor..
Thu, May 18, 1:13 AM

Wed, May 17

grimar updated the diff for D33200: [lib/Object] - Minor API update for llvm::Decompressor..
  • Fix comment.
Wed, May 17, 6:22 AM
grimar updated the diff for D33200: [lib/Object] - Minor API update for llvm::Decompressor..
  • Addressed review comment.
Wed, May 17, 6:18 AM
grimar updated the diff for D33274: [DWARF] - Simplify RelocVisitor implementation..
  • Removed unused code.
Wed, May 17, 5:50 AM
grimar created D33274: [DWARF] - Simplify RelocVisitor implementation..
Wed, May 17, 5:47 AM
grimar committed rL303251: [DWARF] - Cleanup relocations proccessing..
[DWARF] - Cleanup relocations proccessing.
Wed, May 17, 5:24 AM
grimar closed D33194: [DWARF] - Cleanup relocations proccessing. by committing rL303251: [DWARF] - Cleanup relocations proccessing..
Wed, May 17, 5:24 AM
grimar added a comment to D33194: [DWARF] - Cleanup relocations proccessing..

On the other side I would like to have this check removed because going to post another patch where this cleanup
is used heavely. So I am going to commit this.

Wed, May 17, 5:09 AM
grimar added inline comments to D33184: [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC.
Wed, May 17, 2:21 AM
grimar updated the diff for D33184: [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC.
  • Addressed review comments.
Wed, May 17, 2:21 AM
grimar committed rL303241: [DebugInfo/DWARF] - Make comments to be in doxygen style. NFCi..
[DebugInfo/DWARF] - Make comments to be in doxygen style. NFCi.
Wed, May 17, 2:13 AM
grimar added a comment to D33194: [DWARF] - Cleanup relocations proccessing..

Thanks for review, Adrian !

Wed, May 17, 1:48 AM
grimar committed rL303237: [ELF] - Detemplate Thunk creation..
[ELF] - Detemplate Thunk creation.
Wed, May 17, 12:24 AM
grimar closed D33234: [ELF] - Detemplate Thunk creation. by committing rL303237: [ELF] - Detemplate Thunk creation..
Wed, May 17, 12:24 AM

Tue, May 16

grimar added inline comments to D33176: ELF: --gdb-index: Change findSection to return an InputSection..
Tue, May 16, 8:03 AM
grimar committed rL303171: [DWARF] - Add RelocAddrEntry for cleanup. NFCi..
[DWARF] - Add RelocAddrEntry for cleanup. NFCi.
Tue, May 16, 7:19 AM
grimar committed rL303164: [ELF] - Update for LLVM's r303163 change. NFCi..
[ELF] - Update for LLVM's r303163 change. NFCi.
Tue, May 16, 5:48 AM
grimar committed rL303163: [DWARF] - Use DWARFAddressRange struct instead of uint64_t pair for….
[DWARF] - Use DWARFAddressRange struct instead of uint64_t pair for…
Tue, May 16, 5:44 AM
grimar committed rL303162: Revert r303159 "[DWARF] - Use DWARFAddressRange struct instead of uint64_t pair….
Revert r303159 "[DWARF] - Use DWARFAddressRange struct instead of uint64_t pair…
Tue, May 16, 5:18 AM
grimar committed rL303159: [DWARF] - Use DWARFAddressRange struct instead of uint64_t pair for….
[DWARF] - Use DWARFAddressRange struct instead of uint64_t pair for…
Tue, May 16, 5:07 AM
grimar added a comment to D33234: [ELF] - Detemplate Thunk creation..

As it stands no objections from me. I've got some changes that I'd like to make in this area for range extension thunks, I'm expecting to be able to rewrite them to take out the template parameter but I'd be grateful if you could take a quick look at https://reviews.llvm.org/D31662, to see if there is anything obvious there that would need the template parameter. The range thunks patches are currently out of date and will need rebasing but I think the general approach will remain the same.

Having said that I'm not making fast progress with the range thunk patches so it may be some time before I get to the patch that needs to put the template parameter back in and it will simplify the implementation in the mean time.

Tue, May 16, 4:28 AM
grimar created D33234: [ELF] - Detemplate Thunk creation..
Tue, May 16, 3:46 AM
grimar committed rL303155: [ELF] - Detemplate elf::addSyntheticLocal(). NFC..
[ELF] - Detemplate elf::addSyntheticLocal(). NFC.
Tue, May 16, 3:25 AM
grimar committed rL303153: [ELF] - Detemplate access to SymTab, DynSymTab, GnuHashTab. NFC..
[ELF] - Detemplate access to SymTab, DynSymTab, GnuHashTab. NFC.
Tue, May 16, 3:18 AM
grimar added a comment to D33194: [DWARF] - Cleanup relocations proccessing..

I'm assuming the checks are removed because they are already done elsewhere?

Tue, May 16, 2:40 AM
grimar added a comment to D33124: [ELF] - Detemplate GnuHashTableSection and SymbolTableSection sections..
In D33124#755537, @ruiu wrote:

Okay, it is not at least as concerning as I first thought. LGTM.

Tue, May 16, 2:07 AM
grimar committed rL303150: [ELF] - Detemplate GnuHashTableSection and SymbolTableSection sections..
[ELF] - Detemplate GnuHashTableSection and SymbolTableSection sections.
Tue, May 16, 2:06 AM
grimar closed D33124: [ELF] - Detemplate GnuHashTableSection and SymbolTableSection sections. by committing rL303150: [ELF] - Detemplate GnuHashTableSection and SymbolTableSection sections..
Tue, May 16, 2:06 AM
grimar added inline comments to D32991: [ELF] Initial migration of AVR target.
Tue, May 16, 1:50 AM
grimar committed rL303149: [ELF] - Use llvm::to_integer() instead of StringRef::getAsInteger()..
[ELF] - Use llvm::to_integer() instead of StringRef::getAsInteger().
Tue, May 16, 1:32 AM
grimar closed D33187: [ELF] - Use llvm::to_integer() instead of StringRef::getAsInteger(). by committing rL303149: [ELF] - Use llvm::to_integer() instead of StringRef::getAsInteger()..
Tue, May 16, 1:32 AM

Mon, May 15

grimar updated the summary of D33183: [ELF] - Simplify readAddressArea() implementation..
Mon, May 15, 8:13 AM
grimar updated the summary of D33200: [lib/Object] - Minor API update for llvm::Decompressor..
Mon, May 15, 7:45 AM
grimar updated subscribers of D33200: [lib/Object] - Minor API update for llvm::Decompressor..
Mon, May 15, 7:45 AM
grimar created D33200: [lib/Object] - Minor API update for llvm::Decompressor..
Mon, May 15, 7:44 AM
grimar created D33194: [DWARF] - Cleanup relocations proccessing..
Mon, May 15, 6:27 AM
grimar committed rL303051: [DWARF] - Speedup handling of relocations in DWARFContextInMemory..
[DWARF] - Speedup handling of relocations in DWARFContextInMemory.
Mon, May 15, 4:58 AM
grimar closed D31136: [DWARF] - Speedup handling of relocations in DWARFContextInMemory. by committing rL303051: [DWARF] - Speedup handling of relocations in DWARFContextInMemory..
Mon, May 15, 4:58 AM
grimar added inline comments to D31136: [DWARF] - Speedup handling of relocations in DWARFContextInMemory..
Mon, May 15, 4:48 AM
grimar retitled D33187: [ELF] - Use llvm::to_integer() instead of StringRef::getAsInteger(). from [ELF] - Use to_integer instead of getAsInteger(). to [ELF] - Use llvm::to_integer() instead of StringRef::getAsInteger()..
Mon, May 15, 4:33 AM
grimar created D33187: [ELF] - Use llvm::to_integer() instead of StringRef::getAsInteger()..
Mon, May 15, 4:32 AM
grimar abandoned D31424: [ELF] - Use relocated content when generating .gdb_index.

Abandoning for now, because different approach (D33122) looks more promising direction.

Mon, May 15, 3:47 AM
grimar retitled D33184: [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC from [DWARF] - Make collectAddressRanges() return senction index in addition to Low/High PC to [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC.
Mon, May 15, 3:46 AM
grimar added a dependent revision for D33184: [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC: D33183: [ELF] - Simplify readAddressArea() implementation..
Mon, May 15, 3:45 AM
grimar added a dependency for D33183: [ELF] - Simplify readAddressArea() implementation.: D33184: [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC.
Mon, May 15, 3:45 AM
grimar created D33184: [DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC.
Mon, May 15, 3:44 AM
grimar added a comment to D33176: ELF: --gdb-index: Change findSection to return an InputSection..

So findSection() approach does not seem to be clean itself and that is root of problem it seems.
We probably can land this one to stop crashing (and as a bonus it adds testcase which also seems useful to have),
but for solving general issue I just posted D33183 which removes findSection() need and not only
speedup things but also should fix issue this patch addresses either.

Mon, May 15, 3:16 AM
grimar abandoned D32853: [ELF] - Speedup readAddressArea() implementation..

I believe D33183 is much better.

Mon, May 15, 3:12 AM
grimar created D33183: [ELF] - Simplify readAddressArea() implementation..
Mon, May 15, 3:11 AM
grimar accepted D33175: ELF: --gdb-index: Do not add dead sections to the address area..

LGTM with a nit.

Mon, May 15, 2:32 AM

Sat, May 13

grimar added a comment to D33122: [ELF] - Use multithreading to build .gdb_index.
In D33122#753706, @ruiu wrote:

And at the same time I would really want to ask you to land this patch too, because it is usefull for comparsion purposes and does not interfere with idea to optimize single threaded solution, but raises whole
target perfomance on a new level and gives some point we can reference to.

What do you compare with what? If you compare a multi-threaded version against a single-threaded version, it's likely that the former is faster, but it's no surprise and not a fair comparison. That is exactly I meant by enabling multi-threading too early is distracting.

Sat, May 13, 12:37 AM

Fri, May 12

grimar added a comment to D33122: [ELF] - Use multithreading to build .gdb_index.
In D33122#753528, @ruiu wrote:

This looks mostly fine, but I wouldn't submit this patch at the moment, as I think the code to generate .gdb_index is not optimize enough for single-thread yet. Our general strategy is to focus on single-thread performance and then use multi-threads as a final shot. I believe this strategy is working well, because (a) using multi-threads may hide real problems if used too early that are obvious when run with only one thread (which would result in making the linker a so-so performance), and (b) thinking about multi-threading is distracting when optimizing code.

Do you think you can't make it any faster without using multi-threading? I instinct is that the performance we can reach without multi-threading is higher than it is now.

Fri, May 12, 12:00 PM
grimar added inline comments to D33122: [ELF] - Use multithreading to build .gdb_index.
Fri, May 12, 10:46 AM
grimar added inline comments to D31136: [DWARF] - Speedup handling of relocations in DWARFContextInMemory..
Fri, May 12, 10:36 AM
grimar committed rL302921: [ELF] - Apply clang-format. NFC..
[ELF] - Apply clang-format. NFC.
Fri, May 12, 10:13 AM
grimar updated the summary of D33124: [ELF] - Detemplate GnuHashTableSection and SymbolTableSection sections..
Fri, May 12, 5:02 AM
grimar created D33124: [ELF] - Detemplate GnuHashTableSection and SymbolTableSection sections..
Fri, May 12, 5:01 AM
grimar added inline comments to D32853: [ELF] - Speedup readAddressArea() implementation..
Fri, May 12, 3:49 AM
grimar updated the summary of D33122: [ELF] - Use multithreading to build .gdb_index.
Fri, May 12, 3:07 AM
grimar created D33122: [ELF] - Use multithreading to build .gdb_index.
Fri, May 12, 3:06 AM
grimar added a comment to D32991: [ELF] Initial migration of AVR target.

Dear George,

One more question, I have to gotta home :) why the Type of relocation by avr-gcc and clang --target=avr is different?

readelf -r avr-gcc-BareMinimum.o

Relocation section '.rela.text' at offset 0x1d0 contains 2 entries:
 Offset     Info    Type            Sym.Value  Sym. Name + Addend
00000000  00000d03 R_AVR_13_PCREL    00000000   bar + 0
00000002  00000e03 R_AVR_13_PCREL    00000000   foo + 0
                   ^----- see

and

readelf -r clang-BareMinimum.o

Relocation section '.rela.text' at offset 0xb8 contains 2 entries:
 Offset     Info    Type            Sym.Value  Sym. Name + Addend
00000000  00000212 R_AVR_CALL        00000000   bar + 0
00000004  00000312 R_AVR_CALL        00000000   foo + 0
                    ^----- see

Is the bug of LLVM's AVR target?

Regards,
Leslie Zhai

Fri, May 12, 2:45 AM
grimar added a comment to D32991: [ELF] Initial migration of AVR target.

Dear George,

Thanks for your reply!

This needs testcase.

I haven't written it under test or unittests directories

Fri, May 12, 2:27 AM
grimar committed rL302884: [ELF] - Stop support of DF_STATIC_TLS flag..
[ELF] - Stop support of DF_STATIC_TLS flag.
Fri, May 12, 1:18 AM
grimar added a comment to D32991: [ELF] Initial migration of AVR target.

This needs testcase.

Fri, May 12, 1:08 AM
grimar abandoned D32173: [ELF] - Assign absolute values in linkerscript correctly #1..

D32793 was landed instead.

Fri, May 12, 12:48 AM
grimar abandoned D32174: [ELF] - Assign absolute values in linkerscript correctly #2..

D32793 was landed instead.

Fri, May 12, 12:47 AM
grimar added a comment to D32647: [ELF] - Do not produce duplicate values in .gdb_index's constant pool area..

Rui, that had LGTM from Rafael about a week ago. Do you have objections about landing this ?

Fri, May 12, 12:45 AM
grimar added a comment to D31136: [DWARF] - Speedup handling of relocations in DWARFContextInMemory..

FWIW, found one more place where it useful in LLD. It creates DWARFContextInMemory for error reporting for each object (when there are any errors of course).
Since this speedups relocation handling, it should speedup thing a bit. It is not very important probably, because we have default linit for errors amount (20)
and it is not a regular linker path. But anyways all users that creates context for something can have benefit from speedup this patch do.

Fri, May 12, 12:42 AM
grimar abandoned D33041: [ELF] - Set DF_STATIC_TLS flag for x86_64 target..

Abandoning since we decided to remove support of STATIC_TLS flag.

Fri, May 12, 12:33 AM
grimar committed rL302881: [ELF] - Don't allow R_X86_64_TPOFF32 dynamic relocation when linking PIC.
[ELF] - Don't allow R_X86_64_TPOFF32 dynamic relocation when linking PIC
Fri, May 12, 12:32 AM
grimar closed D33100: [ELF} - Don't allow R_X86_64_TPOFF32 dynamic relocation when linking PIC by committing rL302881: [ELF] - Don't allow R_X86_64_TPOFF32 dynamic relocation when linking PIC.
Fri, May 12, 12:32 AM
grimar committed rL302878: [Support/Compiler.h] - Use gnu::fallthrough for LLVM_FALLTHROUGH when available..
[Support/Compiler.h] - Use gnu::fallthrough for LLVM_FALLTHROUGH when available.
Fri, May 12, 12:07 AM
grimar closed D33036: [Support/Compiler.h] - Use gnu::fallthrough for LLVM_FALLTHROUGH when available. by committing rL302878: [Support/Compiler.h] - Use gnu::fallthrough for LLVM_FALLTHROUGH when available..
Fri, May 12, 12:06 AM

Thu, May 11

grimar retitled D33100: [ELF} - Don't allow R_X86_64_TPOFF32 dynamic relocation when linking PIC from [ELF} - Don't allow R_X86_64_TPOFF32 relocation when linking PIC to [ELF} - Don't allow R_X86_64_TPOFF32 dynamic relocation when linking PIC.
Thu, May 11, 6:24 AM
grimar created D33100: [ELF} - Don't allow R_X86_64_TPOFF32 dynamic relocation when linking PIC.
Thu, May 11, 6:23 AM
grimar added a comment to D33041: [ELF] - Set DF_STATIC_TLS flag for x86_64 target..
In D33041#751238, @ruiu wrote:

Can you verify that you actually cannot dlopen() an .so file if the file has the DF_STATIC_TLS flag? I want to make sure that glibc actually uses the flag.

Thu, May 11, 5:14 AM
grimar committed rL302792: [ELF] - Make text section location explicit in early-assign-symbol.s test..
[ELF] - Make text section location explicit in early-assign-symbol.s test.
Thu, May 11, 5:07 AM
grimar added inline comments to D33036: [Support/Compiler.h] - Use gnu::fallthrough for LLVM_FALLTHROUGH when available..
Thu, May 11, 2:30 AM
grimar updated the diff for D33036: [Support/Compiler.h] - Use gnu::fallthrough for LLVM_FALLTHROUGH when available..
  • Addressed review comments.
Thu, May 11, 2:28 AM
grimar abandoned D33046: [ELF] - Set DF_TEXTREL flag properly..

At least NetBSD doesn't support/use DF_TEXTREL and only DT_TEXTREL.

Thu, May 11, 1:35 AM
grimar added a comment to D33046: [ELF] - Set DF_TEXTREL flag properly..
In D33046#751201, @ruiu wrote:

If the Linux kernel was the only reason you wanted -z text, and the Linux kernel doesn't actually use that flag, I'd support removing -z text flag entirely.

Thu, May 11, 1:34 AM

Wed, May 10

grimar added a comment to D33046: [ELF] - Set DF_TEXTREL flag properly..

Side note: if everything works just fine as is (TM), why do we need to make this change?
It buys us a new shiny flag that is pretty much equivalent to the old one for systems supporting both the DT_ and the DF_ variant, but it potentially breaks backcompatibility with older loaders not supporting the new form.
I'm not entirely sure this risk is worth it.

Wed, May 10, 9:19 AM
grimar updated the diff for D33046: [ELF] - Set DF_TEXTREL flag properly..
  • Uploaded correct patch.
Wed, May 10, 8:58 AM
grimar created D33046: [ELF] - Set DF_TEXTREL flag properly..
Wed, May 10, 8:56 AM
grimar created D33041: [ELF] - Set DF_STATIC_TLS flag for x86_64 target..
Wed, May 10, 8:05 AM
grimar added a comment to D33036: [Support/Compiler.h] - Use gnu::fallthrough for LLVM_FALLTHROUGH when available..

Sure, but this is what I suggested in the first place, so I'll let other sign-off.

Wed, May 10, 7:53 AM
grimar committed rL302668: [ELF] - Don't segfault when assigning non-calculatable absolute symbol value..
[ELF] - Don't segfault when assigning non-calculatable absolute symbol value.
Wed, May 10, 7:36 AM
grimar closed D32793: [ELF] - Don't segfault when assigning non-calculatable absolute symbol value. by committing rL302668: [ELF] - Don't segfault when assigning non-calculatable absolute symbol value..
Wed, May 10, 7:36 AM
grimar updated the summary of D32793: [ELF] - Don't segfault when assigning non-calculatable absolute symbol value..
Wed, May 10, 7:35 AM