Page MenuHomePhabricator

ruiu (Rui Ueyama)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 18 2013, 12:16 AM (321 w, 4 d)

Recent Activity

Today

ruiu added a comment to D63344: lld/elf: Deduplicate undefined symbol diagnostics.

I agree that that's perhaps better to omit an error message as >> and 532 more references if it is too large, but I don't know how large it can be. Can this be hundreds of lines?

Mon, Jun 17, 5:46 AM · Restricted Project
ruiu added a comment to D63076: [ELF][RISCV] Support PLT, GOT, copy and relative relocations.

Does that make a visible difference?

Mon, Jun 17, 5:16 AM · Restricted Project
ruiu added a comment to D63344: lld/elf: Deduplicate undefined symbol diagnostics.

I think that the three patches make sense only when they are combined, so could you merge them as a single patch?

Mon, Jun 17, 4:37 AM · Restricted Project

Fri, Jun 14

ruiu committed rG43f4b037d5c1: Add --undefined-glob which is an --undefined with wildcard pattern match (authored by ruiu).
Add --undefined-glob which is an --undefined with wildcard pattern match
Fri, Jun 14, 7:00 AM
ruiu committed rL363396: Add --undefined-glob which is an --undefined with wildcard pattern match.
Add --undefined-glob which is an --undefined with wildcard pattern match
Fri, Jun 14, 6:59 AM
ruiu closed D63244: Add --undefined-glob which is an --undefined with wildcard pattern match..
Fri, Jun 14, 6:59 AM · Restricted Project
ruiu committed rG9f4e21c69a1c: Revert r363377: [yaml2obj] - Allow setting custom section types for implicit… (authored by ruiu).
Revert r363377: [yaml2obj] - Allow setting custom section types for implicit…
Fri, Jun 14, 6:55 AM
ruiu committed rL363394: Revert r363377: [yaml2obj] - Allow setting custom section types for implicit….
Revert r363377: [yaml2obj] - Allow setting custom section types for implicit…
Fri, Jun 14, 6:54 AM
ruiu accepted D63248: [LLD] [COFF] Allow setting subsystem versions while inferring the subsystem type implicitly.

LGTM

Fri, Jun 14, 6:33 AM · Restricted Project
ruiu accepted D63250: [LLD] [MinGW] Support the --subsystem=val option in joined form.

LGTM

Fri, Jun 14, 6:33 AM · Restricted Project
ruiu accepted D63003: [ELF] Don't emit dynamic relocations with weak undef in writable sections.

Yes, let's land this. LGTM

Fri, Jun 14, 6:33 AM · Restricted Project
ruiu accepted D63249: [LLD] [MinGW] Support the --{major,minor}-{os,subsystem}-version options.

LGTM

Fri, Jun 14, 6:23 AM · Restricted Project
ruiu accepted D63254: [lit] Fix UnicodeEncodeError when test commands contain non-ASCII chars.

LGTM

Fri, Jun 14, 6:18 AM · Restricted Project
ruiu updated the diff for D63244: Add --undefined-glob which is an --undefined with wildcard pattern match..
  • updated the man page
Fri, Jun 14, 4:50 AM · Restricted Project
ruiu updated the diff for D38528: Parallelize tail-merge string table construction..
  • rebased
  • instead of storing a tail hash, directly store shard-id to SectionPieces
Fri, Jun 14, 12:10 AM · Restricted Project

Thu, Jun 13

ruiu updated the diff for D63244: Add --undefined-glob which is an --undefined with wildcard pattern match..
  • update comment
Thu, Jun 13, 10:42 PM · Restricted Project
ruiu retitled D63244: Add --undefined-glob which is an --undefined with wildcard pattern match. from Support wildcard patterns in --undefined. to Add --undefined-glob which is an --undefined with wildcard pattern match..
Thu, Jun 13, 10:40 PM · Restricted Project
ruiu updated the diff for D63244: Add --undefined-glob which is an --undefined with wildcard pattern match..
  • rename the option --undefined-glob.
Thu, Jun 13, 10:40 PM · Restricted Project
ruiu added a comment to D63244: Add --undefined-glob which is an --undefined with wildcard pattern match..

Actually linker scripts do support metacharacter escaping (although, it seems lld does not support this correctly, yet).

E.g., this should match only a function named literally "?"

VER {
  global:
   "?";
};

While this matches any one-letter function:

VER {
  global:
   ?;
};

So perhaps this functionality should be given its own command-line argument, e.g. --undefined-glob, so as to not cause any such confusion.

Thu, Jun 13, 10:18 PM · Restricted Project
ruiu accepted D63191: [lld][ELF] Check length of subsection in .ARM.attributes.

LGTM with the following changes.

Thu, Jun 13, 1:55 AM · Restricted Project, lld
ruiu updated the diff for D63244: Add --undefined-glob which is an --undefined with wildcard pattern match..
  • factor out common code and unify two functions into one
Thu, Jun 13, 1:49 AM · Restricted Project
ruiu added inline comments to D63076: [ELF][RISCV] Support PLT, GOT, copy and relative relocations.
Thu, Jun 13, 1:35 AM · Restricted Project
ruiu updated the diff for D63244: Add --undefined-glob which is an --undefined with wildcard pattern match..
  • address review comments
Thu, Jun 13, 1:19 AM · Restricted Project
ruiu accepted D63220: [ELF][RISCV] Support GD/LD/IE/LE TLS models.

LGTM

Thu, Jun 13, 12:47 AM · Restricted Project
ruiu created D63244: Add --undefined-glob which is an --undefined with wildcard pattern match..
Thu, Jun 13, 12:38 AM · Restricted Project

Wed, Jun 12

ruiu added inline comments to D63191: [lld][ELF] Check length of subsection in .ARM.attributes.
Wed, Jun 12, 2:55 AM · Restricted Project, lld
ruiu added a comment to D63190: Add -gnu-map option to emit a map file in the GNU-tsyle format..

Yes, we have an internal user who has a proprietary tool to process a -Map output. As to the difference between bfd and gold, they don't look too big, so perhaps most tools can consume both. In this output, I modeled gold.

Wed, Jun 12, 2:52 AM · Restricted Project
ruiu created D63190: Add -gnu-map option to emit a map file in the GNU-tsyle format..
Wed, Jun 12, 2:38 AM · Restricted Project
ruiu added inline comments to D63076: [ELF][RISCV] Support PLT, GOT, copy and relative relocations.
Wed, Jun 12, 12:17 AM · Restricted Project
ruiu accepted D63182: [ELF][PPC64] Don't report "relocation refers to a discarded section" for .toc.

LGTM

Wed, Jun 12, 12:17 AM · Restricted Project

Tue, Jun 11

ruiu added inline comments to D63182: [ELF][PPC64] Don't report "relocation refers to a discarded section" for .toc.
Tue, Jun 11, 11:54 PM · Restricted Project
ruiu accepted D63183: [ELF][RISCV] Treat R_RISCV_{ADD,SET,SUB}* as link-time constants.

LGTM

Tue, Jun 11, 11:48 PM · Restricted Project
ruiu accepted D63142: [llvm-nm] Fix docs and help text for --print-size.

LGTM

Tue, Jun 11, 8:51 PM · Restricted Project
ruiu accepted D63120: Share /machine: handling code with llvm-cvtres too.

LGTM

Tue, Jun 11, 8:44 PM · Restricted Project
ruiu accepted D63109: lld-link: Reject more than one resource .obj file.

LGTM

Tue, Jun 11, 7:03 AM · Restricted Project
ruiu added a comment to D63043: [ELF][PPC] Simplify {read,write}FromHalf16.

Oh sorry I already reverted this. Once you fix the bot, feel free to resubmit (but please watch the bot after that)

Tue, Jun 11, 6:08 AM · Restricted Project
ruiu committed rG963d73ff44d6: Revert r362867: [ELF][PPC] Simplify {read,write}FromHalf16 (authored by ruiu).
Revert r362867: [ELF][PPC] Simplify {read,write}FromHalf16
Tue, Jun 11, 6:00 AM
ruiu committed rL363060: Revert r362867: [ELF][PPC] Simplify {read,write}FromHalf16.
Revert r362867: [ELF][PPC] Simplify {read,write}FromHalf16
Tue, Jun 11, 5:57 AM
ruiu added a comment to D63043: [ELF][PPC] Simplify {read,write}FromHalf16.

Let me revert this change.

Tue, Jun 11, 5:51 AM · Restricted Project
ruiu added a comment to D63120: Share /machine: handling code with llvm-cvtres too.

I can see why you created a new library, but it still look a bit odd that the actual library code is less than 40 lines. Do you think adding this to Object make sense? This is not really Object-related, but I guess adding a small amount of code there wouldn't harm anyone.

Tue, Jun 11, 5:32 AM · Restricted Project
ruiu accepted D63123: [ELF][RISCV] Add R_RISCV_PC_INDIRECT to isRelExpr().

LGTM

Tue, Jun 11, 5:27 AM · Restricted Project
ruiu accepted D63121: [ELF] Make the rule to create relative relocations in a writable section stricter.

LGTM

Tue, Jun 11, 5:27 AM · Restricted Project
ruiu accepted D63132: [ELF][RISCV] Create dummy .sdata for __global_pointer$ if .sdata does not exist.

LGTM

Tue, Jun 11, 5:27 AM · Restricted Project
ruiu added inline comments to D63076: [ELF][RISCV] Support PLT, GOT, copy and relative relocations.
Tue, Jun 11, 5:24 AM · Restricted Project
ruiu added inline comments to D63109: lld-link: Reject more than one resource .obj file.
Tue, Jun 11, 5:16 AM · Restricted Project
ruiu added a comment to D63116: Let writeWindowsResourceCOFF() take a TimeStamp parameter.

LGTM

Tue, Jun 11, 4:31 AM · Restricted Project

Mon, Jun 10

ruiu added a comment to D63076: [ELF][RISCV] Support PLT, GOT, copy and relative relocations.

How did you verify the correctness of this patch? Did you set up a virtual machine? If that's easy to do, I'd like to set it up too.

Mon, Jun 10, 6:57 AM · Restricted Project
ruiu accepted D63024: [LLD] [Driver] Look for -m in response files as well.

LGTM

Mon, Jun 10, 5:21 AM · Restricted Project
ruiu committed rG1f73bbbd3a5b: [LLD][COFF] Fix missing MergeChunk::Instances cleanup in COFF::link() (authored by ruiu).
[LLD][COFF] Fix missing MergeChunk::Instances cleanup in COFF::link()
Mon, Jun 10, 5:15 AM
ruiu committed rL362930: [LLD][COFF] Fix missing MergeChunk::Instances cleanup in COFF::link().
[LLD][COFF] Fix missing MergeChunk::Instances cleanup in COFF::link()
Mon, Jun 10, 5:13 AM
ruiu closed D63042: [LLD][COFF] Fix missing MergeChunk::Instances cleanup in COFF::link().
Mon, Jun 10, 5:13 AM · Restricted Project, lld
ruiu added inline comments to D63024: [LLD] [Driver] Look for -m in response files as well.
Mon, Jun 10, 5:00 AM · Restricted Project
ruiu added inline comments to D63024: [LLD] [Driver] Look for -m in response files as well.
Mon, Jun 10, 4:49 AM · Restricted Project
ruiu added a comment to D63042: [LLD][COFF] Fix missing MergeChunk::Instances cleanup in COFF::link().

Got it. I'll commit this patch on behalf of you.

Mon, Jun 10, 3:21 AM · Restricted Project, lld
ruiu added a comment to D63042: [LLD][COFF] Fix missing MergeChunk::Instances cleanup in COFF::link().

Do you have a commit access?

Mon, Jun 10, 3:05 AM · Restricted Project, lld
ruiu accepted D63071: [LLD][COFF] Add REQUIRES: x86 to a couple of tests.

LGTM

Mon, Jun 10, 3:00 AM · Restricted Project
ruiu added a comment to D63024: [LLD] [Driver] Look for -m in response files as well.

I'm not particularly worried about the performance impact of doubly-expanding response files. If it is proved to be too slow, we need to do something, but until then I wouldn't optimize it.

Mon, Jun 10, 2:40 AM · Restricted Project
ruiu added a comment to D63024: [LLD] [Driver] Look for -m in response files as well.

Do you have to support --rsp-quoting for the use case that you want to support?

Not for my use case, no. But Reid wanted to move all expansion of response files out from the individual linkers here, to avoid reading (and allocating memory for) the (potentially large) response file twice. And in that case, we must handle --rsp-quoting perfectly here.

Mon, Jun 10, 2:21 AM · Restricted Project
ruiu added a comment to D63042: [LLD][COFF] Fix missing MergeChunk::Instances cleanup in COFF::link().

I was not trying to force you to use lld in some particular way. I was just trying to help you by suggesting one solution that might work for some use cases, and I didn't know that that wouldn't work for you. If it doesn't work for you, you can continue using lld as a library as you are already doing. We support that as well, and a bug like this should be fixed.

Mon, Jun 10, 2:04 AM · Restricted Project, lld
ruiu accepted D63070: [ELF][RISCV] Parse BFD names elf{32,64}-littleriscv.

LGTM

Mon, Jun 10, 12:58 AM · Restricted Project
ruiu added a comment to D63042: [LLD][COFF] Fix missing MergeChunk::Instances cleanup in COFF::link().

LGTM

Yes, I suspect that there are other globals that are not reset between multiple executions of this linker.

As to how to invoke the linker as a separate process, I wonder if you can run your compiler as a new subprocess of the compiler. If you can do that, you can invoke the linker with a special option to call lld::link immediately on process startup, which effectively transforms your compiler to a linker. This way, you still have to statically link lld to your compiler, but you can run the linker as a separate child process, which is generally preferred because bad thing like this or unknown bugs in the linker doesn't harm your compiler.

Mon, Jun 10, 12:51 AM · Restricted Project, lld
ruiu accepted D63042: [LLD][COFF] Fix missing MergeChunk::Instances cleanup in COFF::link().

Yes, I suspect that there are other globals that are not reset between multiple executions of this linker.

Mon, Jun 10, 12:51 AM · Restricted Project, lld
ruiu added a comment to D63024: [LLD] [Driver] Look for -m in response files as well.

Do you have to support --rsp-quoting for the use case that you want to support? I believe if you are using MinGW, you are always using Unix-style quoting in response files, so if the following two conditions are met, you can conclude that a user is trying to use mingw driver, can't you?

Mon, Jun 10, 12:08 AM · Restricted Project

Sun, Jun 9

ruiu added a comment to D63003: [ELF] Don't emit dynamic relocations with weak undef in writable sections.

Was my previous comment correct? (I'm not suggesting any change at the moment but I'd like to make sure that we are on the same page.)

Sun, Jun 9, 10:46 PM · Restricted Project
ruiu updated the diff for D59780: Support Intel Control-flow Enforcement Technology.
  • fix tests
Sun, Jun 9, 10:20 PM · Restricted Project

Fri, Jun 7

ruiu accepted D63043: [ELF][PPC] Simplify {read,write}FromHalf16.

LGTM

Fri, Jun 7, 9:43 PM · Restricted Project
ruiu accepted D62976: [LLD] [COFF] Add an lld specific option /includeoptional.

LGTM

Fri, Jun 7, 7:47 PM · Restricted Project
ruiu accepted D62350: ELF: Create synthetic sections for loadable partitions..

It generally looking good, and I don't have further comments. George, are you happy with this?

Fri, Jun 7, 5:03 AM · Restricted Project
ruiu updated the diff for D59780: Support Intel Control-flow Enforcement Technology.
  • rebase so that the patch does not diverge too much from the trunk
Fri, Jun 7, 5:03 AM · Restricted Project
ruiu added a comment to D62976: [LLD] [COFF] Add an lld specific option /includeoptional.

I guess that my previous comment addresses the issue?

Yes, probably - thanks!

Since we fetch objects iteratively in the COFF linker, we probably need to wait until the normal link has converged, then fetch lazy objs for -u, and then keep iterating until it converges again?

Fri, Jun 7, 4:25 AM · Restricted Project
ruiu added inline comments to D63003: [ELF] Don't emit dynamic relocations with weak undef in writable sections.
Fri, Jun 7, 4:20 AM · Restricted Project
ruiu added a comment to D63003: [ELF] Don't emit dynamic relocations with weak undef in writable sections.

Does this mean that we previously emit a dynamic relocation for a weak undefined symbol that couldn't have been resolved at link time, and this patch changes the behavior so that weak undefined symbols must be resolved to some symbol at link time. Am I correct?

Fri, Jun 7, 4:18 AM · Restricted Project
ruiu accepted D62364: llvm-objcopy: Implement --extract-partition and --extract-main-partition..

I think jhenderson's LGTM is enough but in case you need one more, LGTM.

Fri, Jun 7, 3:48 AM · Restricted Project
ruiu accepted D62609: [LLD][ELF][AArch64] Support for BTI and PAC.

Thank you for doing this! I can clearly see that this feature is very useful for defense-in-depth.

Fri, Jun 7, 2:56 AM · Restricted Project
ruiu added a comment to D62940: [PPC32] Support TLS GD/LE/IE/LE relocation types and their relaxations.

LGTM

Fri, Jun 7, 2:53 AM · Restricted Project
ruiu added a comment to D62976: [LLD] [COFF] Add an lld specific option /includeoptional.

I guess that my previous comment addresses the issue?

Fri, Jun 7, 2:41 AM · Restricted Project
ruiu accepted D62876: [LLD] [MinGW] Support the -u/--undefined option..

LGTM

Fri, Jun 7, 1:29 AM · Restricted Project
ruiu added a comment to D62976: [LLD] [COFF] Add an lld specific option /includeoptional.

Our algorithm for the ELF -u option is as follows:

Fri, Jun 7, 1:29 AM · Restricted Project

Thu, Jun 6

ruiu accepted D62984: [COFF] Fix /export:foo=bar when bar is a weak alias.

LGTM

Thu, Jun 6, 11:37 PM · Restricted Project
ruiu accepted D62994: [ELF] Delete R_PPC64_CALL_PLT from isRelExpr().

Do you think you can add a test?

Thu, Jun 6, 11:12 PM · Restricted Project
ruiu accepted D62983: [WebAssembly] Fix for discarded init functions.

LGTM

Thu, Jun 6, 8:10 PM · Restricted Project
ruiu accepted D62919: [llvm-ar] Create thin archives with MRI scripts.

I'm not sure if I'm a right person to make a decision whether adding a new MRI command is OK or not, but looks like this new command makes sense, and no one seems to be opposing, so LGTM.

Thu, Jun 6, 4:45 AM · Restricted Project
ruiu added a comment to D62919: [llvm-ar] Create thin archives with MRI scripts.

Looks like this patch doesn't still fix the issue that rupprecht pointed out. If an MRI script looks like this

Thu, Jun 6, 4:02 AM · Restricted Project
ruiu accepted D62464: [PPC32] Improve the 32-bit PowerPC port.

LGTM

Thu, Jun 6, 1:41 AM · Restricted Project
ruiu added inline comments to D62464: [PPC32] Improve the 32-bit PowerPC port.
Thu, Jun 6, 12:38 AM · Restricted Project

Wed, Jun 5

ruiu added inline comments to D62464: [PPC32] Improve the 32-bit PowerPC port.
Wed, Jun 5, 11:56 PM · Restricted Project
ruiu accepted D62940: [PPC32] Support TLS GD/LE/IE/LE relocation types and their relaxations.

LGTM

Wed, Jun 5, 11:51 PM · Restricted Project
ruiu added inline comments to D62609: [LLD][ELF][AArch64] Support for BTI and PAC.
Wed, Jun 5, 11:40 PM · Restricted Project
ruiu added inline comments to D62464: [PPC32] Improve the 32-bit PowerPC port.
Wed, Jun 5, 11:19 PM · Restricted Project
ruiu added inline comments to D62464: [PPC32] Improve the 32-bit PowerPC port.
Wed, Jun 5, 8:48 PM · Restricted Project
ruiu accepted D62933: [lld] Allow args::getInterger to parse args larger than 2^31-1.

LGTM

Wed, Jun 5, 8:26 PM · Restricted Project

Tue, Jun 4

ruiu accepted D62862: [ELF][LLD] Allow reading of more than one FEATURE_1_AND in same object..

LGTM

Tue, Jun 4, 8:13 PM · Restricted Project
ruiu committed rG2057f8366a40: Read .note.gnu.property sections and emit a merged .note.gnu.property section. (authored by ruiu).
Read .note.gnu.property sections and emit a merged .note.gnu.property section.
Tue, Jun 4, 8:06 PM
ruiu committed rL362579: Read .note.gnu.property sections and emit a merged .note.gnu.property section..
Read .note.gnu.property sections and emit a merged .note.gnu.property section.
Tue, Jun 4, 8:06 PM
ruiu closed D62853: Read .note.gnu.property sections and emit a merged .note.gnu.property section..
Tue, Jun 4, 8:06 PM · Restricted Project
ruiu accepted D62884: [lld] Explicitly ignore comdat groups when parsing LTO object.

LGTM

Tue, Jun 4, 7:17 PM · Restricted Project
ruiu added a comment to D62876: [LLD] [MinGW] Support the -u/--undefined option..

This is LGTM, but I believe you will have to implement -u in a more correct way. IIRC, I implemented -u as -require-defined in the ELF linker first. It seemed to be working fine until we found something weird, investigated it and then found that that was caused by an incorrect implementation of -u. So, if it is not too hard, you probably should implement it in the right way.

Tue, Jun 4, 6:35 PM · Restricted Project
ruiu accepted D62886: [WebAssembly] Handle object parsing more like the ELF backend.

LGTM

Tue, Jun 4, 6:30 PM · Restricted Project
ruiu added a comment to D62464: [PPC32] Improve the 32-bit PowerPC port.

What is a motivation to support the old-style PLT? If a program really expects that the PLT is in a writable segment, something is wrong with the program...

Tue, Jun 4, 5:24 AM · Restricted Project
ruiu accepted D62840: [ELF] Suppress "STT_SECTION symbol should be defined" on .eh_frame, .debug*, .zdebug* and .gcc_except_table.

LGTM

Tue, Jun 4, 5:20 AM · Restricted Project