Page MenuHomePhabricator
Feed Advanced Search

Fri, Sep 18

jhenderson added inline comments to D87899: [llvm-readobj/elf] - Stop reporting invalid extended indexes in warnings for unnamed section symbols..
Fri, Sep 18, 6:14 AM · Restricted Project
jhenderson added inline comments to D87824: [lld][ELF][test] Add additional LTO testing.
Fri, Sep 18, 2:49 AM · Restricted Project
jhenderson updated the diff for D87824: [lld][ELF][test] Add additional LTO testing.

Remove hidden.

Fri, Sep 18, 2:49 AM · Restricted Project
jhenderson accepted D87878: [DWARFYAML] Make the include_directories, file_names and opcodes fields of the line table optional..

LGTM!

Fri, Sep 18, 1:43 AM · Restricted Project, Restricted Project
jhenderson added inline comments to D87764: [llvm-readelf/obj] - Stop printing invalid names for unnamed section symbols..
Fri, Sep 18, 1:42 AM · Restricted Project
jhenderson accepted D87876: [DWARFYAML][test] Use 'CHECK-NEXT:' to make checkers stricter. NFC..

Maybe worth stating in the description and/or title that you are using CHECK-NEXT explicitly to achieve this. Otherwise, LGTM.

Fri, Sep 18, 1:23 AM · Restricted Project
jhenderson added a comment to D87758: Provide a hook to customize missing library error handling.

This sounds like a useful thing too. It should be fairly straightforward to test, as it's possible to e.g. have a python script in the test, which gets executed. Could you add test cases, please?

Fri, Sep 18, 1:21 AM
jhenderson accepted D87855: [llvm-install-name-tool] Validate -id value early.

I guess if you wanted to add explicit testing that the behaviour happens regardless of the presence of specific load commands, that would be possible, using a minimal Mach-O file, but I don't mind if you don't want to. LGTM, if you don't.

Fri, Sep 18, 1:04 AM · Restricted Project
jhenderson added a comment to D87878: [DWARFYAML] Make the include_directories, file_names and opcodes fields of the line table optional..

I might be missing it, but do you have direct testing showing that the default for IncludeDirs\Files\Opcodes is an empty output, when the output is written? I think it's important that this is tested.

Fri, Sep 18, 1:02 AM · Restricted Project, Restricted Project
jhenderson added a comment to D73820: [llvm-strip][WebAssembly] Support strip flags.

I've done a partial review to keep you going. I'm out of time to look at this further today though, especially given how cold I am on the patch. Many of my comments apply to multiple tests, even if I haven't got to those tests.

Fri, Sep 18, 12:50 AM · Restricted Project

Thu, Sep 17

jhenderson added a comment to D87824: [lld][ELF][test] Add additional LTO testing.

LGTM. Worth waiting for @MaskRay or someone else opinion too.

Thu, Sep 17, 6:17 AM · Restricted Project
jhenderson accepted D87829: [obj2yaml] - Don't emit EM_NONE..

LGTM.

Thu, Sep 17, 5:56 AM · Restricted Project
jhenderson added inline comments to D87824: [lld][ELF][test] Add additional LTO testing.
Thu, Sep 17, 5:54 AM · Restricted Project
jhenderson updated the diff for D87824: [lld][ELF][test] Add additional LTO testing.

Address @grimar's comments (added additional comments, used split-file, renamed various things). Also renamed two tests using split-file which are not specifically .ll or .s.

Thu, Sep 17, 5:53 AM · Restricted Project
jhenderson accepted D87763: [llvm-readelf/obj][test] - Document what we print in various places for unnamed section symbols..

LGTM.

Thu, Sep 17, 5:39 AM · Restricted Project
jhenderson requested review of D87824: [lld][ELF][test] Add additional LTO testing.
Thu, Sep 17, 3:47 AM · Restricted Project
jhenderson added inline comments to D87764: [llvm-readelf/obj] - Stop printing invalid names for unnamed section symbols..
Thu, Sep 17, 1:47 AM · Restricted Project
jhenderson added inline comments to D87763: [llvm-readelf/obj][test] - Document what we print in various places for unnamed section symbols..
Thu, Sep 17, 1:31 AM · Restricted Project
jhenderson added a comment to D87732: [Support] Provide sys::path::guess_style.

I'm not convinced this is really correct. After all, a path with mixed separators (e.g. '/my/path\to\foo') could be a Windows path rooted at the current drive. This mixed style can sometimes happen when things get concatenated together, so I don't think it's compeletely unreasonable.

I'm also concerned that if we guess wrong, the behaviour will end up breaking. For example, if the path were a Windows path "/my/path\../to/foo", I'd expect a remove_dots call (without worrying about slash normalisation) to result in "/my/to/foo", but if the code is using Posix style, will it actually result in the path being left unchanged?

I can think of two competing alternatives:

  1. add an option to remove_dots to not do the separator canonicalization. I'm not sure whether this can be done unambiguously however - which separator should be removed when a directory is removed due to dots? The one before the removed parts? After them?
  2. change all '\' to '/' unconditionally. However, this might break Linux paths with '\' in.

None of these solutions is perfect and I'm not even sure if there's one. Even if we improve remove_dots, there's still the existing issue with sys::path::append: which separator should we use when combining compilation dir, include dir and the file name.

Maybe we should instead update Clang to do the normalization when generating debug info and always use /, and then always use / unconditionally when combining paths on the consumer side (but don't do any normalization)?

Thu, Sep 17, 1:10 AM · Restricted Project

Wed, Sep 16

jhenderson added inline comments to D87755: Silence GCC's `-Wclass-memaccess` warnings.
Wed, Sep 16, 4:09 AM · Restricted Project
jhenderson added a comment to D87755: Silence GCC's `-Wclass-memaccess` warnings.

I've made two inline suggestions, but I'm not at all familiar with the other code, so can't further assist there.

Wed, Sep 16, 3:40 AM · Restricted Project
jhenderson abandoned D81165: [DebugInfo] Refactor how unrecoverable debug line parsing errors work.

I've addressed the main issues I aimed to resolve in other patches. There may be some issues with odd output of error messages when the output is interleaved, but I have other priorities to work on at this point. If someone wants to work on this furhter, it's probably best done in a new review.

Wed, Sep 16, 2:19 AM · Restricted Project
jhenderson added inline comments to D87727: [obj2yaml] - Match ".stack_size" with the original section name, and not the uniquified name..
Wed, Sep 16, 2:04 AM · Restricted Project
jhenderson added inline comments to D87656: [llvm-dwarfdump] --show-sources option to show all sources.
Wed, Sep 16, 1:31 AM · Restricted Project
jhenderson added a comment to D87667: [Support/Path] Add path::is_gnu_style_absolute.

On Windows, paths starting with drive letter pattern are absolute.

This isn't a difference is it? That's also the behaviour for is_absolute, I believe?

I forgot this comment.

is_absolute is really hard to read. But I think you are right.

I think it considers c:\ as absolute but does not c: [1].

[1] https://github.com/llvm/llvm-project/blob/master/llvm/lib/Support/Path.cpp#L69

Wed, Sep 16, 1:24 AM · Restricted Project
jhenderson accepted D87612: [llvm-readobj][test] - Improve section-symbols.test.

Thanks, LGTM.

Wed, Sep 16, 12:40 AM · Restricted Project
jhenderson added inline comments to D86222: Fix PR46880: Fail CHECK-NOT with undefined variable.
Wed, Sep 16, 12:38 AM · Restricted Project
jhenderson added a comment to D87732: [Support] Provide sys::path::guess_style.

I'm not convinced this is really correct. After all, a path with mixed separators (e.g. '/my/path\to\foo') could be a Windows path rooted at the current drive. This mixed style can sometimes happen when things get concatenated together, so I don't think it's compeletely unreasonable.

Wed, Sep 16, 12:36 AM · Restricted Project

Tue, Sep 15

jhenderson accepted D87601: [obj2yaml] Add support for dumping the .debug_addr(v5) section..

LGTM, thanks!

Tue, Sep 15, 5:59 AM · Restricted Project
jhenderson accepted D86923: [llvm-readobj/elf] - Don't crash when the size of a dynamic symbol table, inferred from the hash table, is broken..

LGTM!

Tue, Sep 15, 5:54 AM · Restricted Project
jhenderson added inline comments to D87612: [llvm-readobj][test] - Improve section-symbols.test.
Tue, Sep 15, 5:49 AM · Restricted Project
jhenderson requested changes to D87656: [llvm-dwarfdump] --show-sources option to show all sources.

Please add the new option to the Command Guide documentation.

Tue, Sep 15, 2:55 AM · Restricted Project
jhenderson added a comment to D87657: [DebugInfo] Remove dots from getFilenameByIndex return value.

We should probably have a bit more direct testing for this behaviour, as I agree it's useful and we don't want to accidentally lose the behaviour in a future change. Maybe a unit test, I don't really mind.

Tue, Sep 15, 2:34 AM · Restricted Project
jhenderson added a comment to D87667: [Support/Path] Add path::is_gnu_style_absolute.

On Windows, paths starting with drive letter pattern are absolute.

This isn't a difference is it? That's also the behaviour for is_absolute, I believe?

Tue, Sep 15, 2:29 AM · Restricted Project
jhenderson added inline comments to D87179: Fix debug_abbrev emitter to only assign table id once.
Tue, Sep 15, 2:16 AM · Restricted Project
jhenderson added a comment to D87613: [llvm-readelf/obj] - Print section symbol names properly when dumping relocations..

There seems to be more going on in this patch than the description talks about. In particular, it looks like this patch causes relocations to be printed when they weren't before. I don't think this is necessarily a problem, but it needs explaining in the description at least, and if sensibly practical, should actually be a separate patch, to minimise behaviour changes per patch.

Tue, Sep 15, 2:02 AM · Restricted Project
jhenderson added inline comments to D87612: [llvm-readobj][test] - Improve section-symbols.test.
Tue, Sep 15, 1:28 AM · Restricted Project
jhenderson accepted D87362: [llvm-readobj/elf] - Simplify and refine the implementation which dumps .stack_sizes.

LGTM, with nit.

Tue, Sep 15, 12:45 AM · Restricted Project
jhenderson accepted D87385: [lib/Object] - Refine interface of ELFFile<ELFT>. NFCI..

LGTM!

Tue, Sep 15, 12:36 AM · Restricted Project

Mon, Sep 14

jhenderson accepted D87503: [llvm-readobj/elf] - Don't use unwrapOrError when reporting errors about SHT_DYNAMIC sections..

LGTM.

Mon, Sep 14, 4:47 AM · Restricted Project
jhenderson accepted D87507: [llvm-readobj] - Cleanup implementation LLVMStyle<ELFT>::printAddrsig()..

LGTM!

Mon, Sep 14, 3:59 AM · Restricted Project
jhenderson accepted D87493: [llvm-install-name-tool] Update the command-line guide.

LGTM too, thanks!

Mon, Sep 14, 3:56 AM · Restricted Project
jhenderson added inline comments to D87179: Fix debug_abbrev emitter to only assign table id once.
Mon, Sep 14, 3:55 AM · Restricted Project
jhenderson added a comment to D87453: [llvm-readobj/elf][test] - Test all core note types properly..

Is it OK or too much?

Mon, Sep 14, 3:47 AM · Restricted Project
jhenderson added inline comments to D87601: [obj2yaml] Add support for dumping the .debug_addr(v5) section..
Mon, Sep 14, 3:44 AM · Restricted Project
jhenderson added inline comments to D86923: [llvm-readobj/elf] - Don't crash when the size of a dynamic symbol table, inferred from the hash table, is broken..
Mon, Sep 14, 3:28 AM · Restricted Project
jhenderson accepted D87453: [llvm-readobj/elf][test] - Test all core note types properly..

I think there's probably some value testing every value, as there is a chance that a future refactor could lead to a bug where there is ambiguity between a CORE note value and another variety of note, for example. Having a test for each individual value ensures that any such bug would be picked up. However, I'm not dead set on this idea, and can see counter-arguments to it. LGTM, but happy to defer to others opinion on whether testing each value is atually necessary.

Mon, Sep 14, 3:18 AM · Restricted Project
jhenderson accepted D87454: [llvm-readelf/obj] - Refine and generalize the code that is used to dump notes..

This looks a lot cleaner. LGTM.

Mon, Sep 14, 3:05 AM · Restricted Project

Thu, Sep 10

jhenderson accepted D87429: [obj2yaml] Add support for dumping the .debug_ranges section..

LGTM, with a couple of nits.

Thu, Sep 10, 2:15 AM · Restricted Project
jhenderson added inline comments to D87429: [obj2yaml] Add support for dumping the .debug_ranges section..
Thu, Sep 10, 12:29 AM · Restricted Project
jhenderson accepted D87272: [lld] Buffer writes when composing a single diagnostic.

Looks good from my point of view, but best wait for the conversation with @dblaikie to be resolved.

Thu, Sep 10, 12:09 AM · Restricted Project

Wed, Sep 9

jhenderson accepted D87346: [elf2yaml] Fix dumping a debug section whose name is not recognized..

LGTM.

Wed, Sep 9, 3:16 AM · Restricted Project
jhenderson added inline comments to D87346: [elf2yaml] Fix dumping a debug section whose name is not recognized..
Wed, Sep 9, 1:48 AM · Restricted Project
jhenderson added inline comments to D87272: [lld] Buffer writes when composing a single diagnostic.
Wed, Sep 9, 1:44 AM · Restricted Project
jhenderson added a comment to D80713: [AMDGPU] Support disassembly for AMDGPU kernel descriptors.

3 of the test cases - kd-sgpr.s, kd-vgpr.s, kd-zeroed-gfx10.s fail with the PowerPC buildbot (http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/53608). From what I understand, these tests should only run if AMDGPU target is built. The lit.local.cfg file specifies that.

Wed, Sep 9, 1:22 AM · Restricted Project
jhenderson added a comment to D87121: LLD symbol ordering file binary name tag.

It seems in general that a build system will want a different symbol ordering file per output, so any involving more than one output would need them specified individually. I don't think a global variable that sets it for all links involved in a build (including CMake links) really makes sense as a result. Limiting it down to a single file via any mechanism (whether within the file or command-line option) sounds like a sticking plaster solution rather than actually the right fix. As @MaskRay has already mentioned, the fix is to specify the right options for the right link. I would think the same applies for options like --dynamic-list, since you might want to export different symbols for different links. Usually the way to do this is with a lower-level customisation of linker options.

Wed, Sep 9, 1:12 AM
jhenderson added a comment to D78938: Make LLVM build in C++20 mode.
In D78938#2261411, @jfb wrote:

On C++20 mode rotting: it won't if someone sets up a bot. If it rots, then it's easier to un-rot with Barry's patch.

Wed, Sep 9, 12:54 AM · Restricted Project, Restricted Project

Tue, Sep 8

jhenderson accepted D80713: [AMDGPU] Support disassembly for AMDGPU kernel descriptors.

No more comments from me, but please give @kzhuravl a chance to respond before pushing this patch.

Tue, Sep 8, 4:45 AM · Restricted Project
jhenderson accepted D87275: [obj2yaml][test] Test generating and dumping a broken debug_ranges section..

You should add a [test] tag to the patch/commit title. LGTM, with that and the inline nit.

Tue, Sep 8, 2:33 AM · Restricted Project
jhenderson added inline comments to D86222: Fix PR46880: Fail CHECK-NOT with undefined variable.
Tue, Sep 8, 1:09 AM · Restricted Project
jhenderson accepted D87263: [DWARFYAML] Make the debug_ranges section optional..

LGTM.

Tue, Sep 8, 12:59 AM · Restricted Project
jhenderson accepted D87261: [obj2yaml] Stop parsing the debug_str section when it encounters a string without the null terminator..

LGTM with comment update.

Tue, Sep 8, 12:57 AM · Restricted Project
jhenderson added a comment to D80713: [AMDGPU] Support disassembly for AMDGPU kernel descriptors.

@kzhuravl, do you have any additional comments to add at all, since you rejected the original patch?

Tue, Sep 8, 12:55 AM · Restricted Project
jhenderson accepted D87268: [llvm-install-name-tool] Add a test with multiple input files.

LGTM.

Tue, Sep 8, 12:32 AM · Restricted Project
jhenderson accepted D87264: [llvm-install-name-tool] Add -V flag.

LGTM too. I noticed that --version (and -V) are missing from the Command Guide for llvm-install-name-tool, along with --help, unlike e.g. llvm-objcopy. Perhaps worth a separate patch if you get a few minutes to fix the doc.

Tue, Sep 8, 12:31 AM · Restricted Project
jhenderson added inline comments to D87263: [DWARFYAML] Make the debug_ranges section optional..
Tue, Sep 8, 12:29 AM · Restricted Project
jhenderson added inline comments to D87261: [obj2yaml] Stop parsing the debug_str section when it encounters a string without the null terminator..
Tue, Sep 8, 12:24 AM · Restricted Project
jhenderson added a comment to D78938: Make LLVM build in C++20 mode.

Not that I have anything particularly against this, but won't this likely rot fairly rapidly? It's not like LLVM is even on C++17 let alone C++20 yet, so trying to make it work like the latter when it's just going to break again seems a bit like wasted effort to me.

People will want to write C++20 programs that use LLVM headers, so I think it's important to help let them do that. Sure, it may rot, but incremental fixes down the line will be smaller.

Tue, Sep 8, 12:19 AM · Restricted Project, Restricted Project
jhenderson added a comment to D87272: [lld] Buffer writes when composing a single diagnostic.

Buffer consecutive writes of one diagnostic

Tue, Sep 8, 12:15 AM · Restricted Project

Mon, Sep 7

jhenderson accepted D87141: [llvm-readobj/elf] - Introduce Relocation<ELFT> helper..

LGTM, thanks for the work.

Mon, Sep 7, 4:49 AM · Restricted Project
jhenderson accepted D86867: [obj2yaml] Add support for dumping the .debug_str section..

LGTM.

Mon, Sep 7, 2:32 AM · Restricted Project
jhenderson accepted D87211: [llvm-objcopy] Consolidate and unify version tests.

LGTM. It looks weird to me that llvm-install-name-tool doesn't have a -V option, but I don't think that's a relevant issue here.

Mon, Sep 7, 1:39 AM · Restricted Project
jhenderson accepted D86867: [obj2yaml] Add support for dumping the .debug_str section..

LGTM, with suggestion.

Mon, Sep 7, 1:22 AM · Restricted Project
jhenderson added a comment to D87211: [llvm-objcopy] Consolidate and unify version tests.

To be clear, +1 to this patch. Just needs to not lose coverage in the process.

Mon, Sep 7, 1:09 AM · Restricted Project
jhenderson requested changes to D87211: [llvm-objcopy] Consolidate and unify version tests.
Mon, Sep 7, 1:08 AM · Restricted Project
jhenderson added inline comments to D86867: [obj2yaml] Add support for dumping the .debug_str section..
Mon, Sep 7, 1:03 AM · Restricted Project
jhenderson accepted D87205: [DWARFYAML] Make the debug_addr section optional..

LGTM, with nit.

Mon, Sep 7, 12:55 AM · Restricted Project
jhenderson updated subscribers of D87179: Fix debug_abbrev emitter to only assign table id once.

Thanks @aadsm for the fix. On the note of writing Mach-O inputs, I completely agree that it's a pain, especially when compared with the ELF equivalents. The problem is that the Mach-O side of yaml2obj/obj2yaml has not yet been heavily worked on in a similar manner to much of @grimar's recent work on the ELF side. The obvious change would be to remove the need for lots of properties that could otherwise be derived automatically. If you or anybody else wants looking at that, I'm sure there would be lots of grateful Mach-O developers (I personally don't develop for Mach-O, so am not going to be investing time myself, but am happy to review).

Mon, Sep 7, 12:53 AM · Restricted Project
jhenderson added a comment to D78938: Make LLVM build in C++20 mode.

Not that I have anything particularly against this, but won't this likely rot fairly rapidly? It's not like LLVM is even on C++17 let alone C++20 yet, so trying to make it work like the latter when it's just going to break again seems a bit like wasted effort to me.

Mon, Sep 7, 12:44 AM · Restricted Project, Restricted Project
jhenderson accepted D87087: [llvm-readobj/elf] - Generalize the code for printing dynamic relocations. NFCI..

LGTM. I think this is a much cleaner version now.

Mon, Sep 7, 12:37 AM · Restricted Project
jhenderson added inline comments to D87141: [llvm-readobj/elf] - Introduce Relocation<ELFT> helper..
Mon, Sep 7, 12:33 AM · Restricted Project

Fri, Sep 4

jhenderson accepted D87018: [DebugInfo] Fix emitting DWARF64 DWO compilation units and string offset tables (9/19)..

LGTM, with your suggested changes to the length check.

Fri, Sep 4, 3:36 AM · debug-info, Restricted Project
jhenderson accepted D87126: [MachOYAML] Allow handcrafting custom contents for DWARF sections..

Besides, this patch

Should be "In addition, this patch"

Fri, Sep 4, 3:33 AM · Restricted Project
jhenderson added inline comments to D87018: [DebugInfo] Fix emitting DWARF64 DWO compilation units and string offset tables (9/19)..
Fri, Sep 4, 2:46 AM · debug-info, Restricted Project
jhenderson added inline comments to D87126: [MachOYAML] Allow handcrafting custom contents for DWARF sections..
Fri, Sep 4, 2:06 AM · Restricted Project
jhenderson added inline comments to D87087: [llvm-readobj/elf] - Generalize the code for printing dynamic relocations. NFCI..
Fri, Sep 4, 2:04 AM · Restricted Project
jhenderson added inline comments to D87126: [MachOYAML] Allow handcrafting custom contents for DWARF sections..
Fri, Sep 4, 1:18 AM · Restricted Project
jhenderson added inline comments to D87018: [DebugInfo] Fix emitting DWARF64 DWO compilation units and string offset tables (9/19)..
Fri, Sep 4, 1:08 AM · debug-info, Restricted Project
jhenderson added inline comments to D87095: [Triple][MachO] Define "arm64e", an AArch64 subarch for Pointer Auth..
Fri, Sep 4, 1:00 AM · Restricted Project, Restricted Project
jhenderson accepted D87026: [DebugInfo] Make offsets of dwarf units 64-bit (19/19)..

LGTM. Might want to give @dblaikie another chance to comment.

Fri, Sep 4, 12:54 AM · debug-info, Restricted Project
jhenderson accepted D87092: [llvm-readelf/obj] - Use `RelSymbol<ELFT>` instead of std::pair. NFCI..

LGTM, with suggestion.

Fri, Sep 4, 12:52 AM · Restricted Project
jhenderson accepted D87089: [llvm-readobj] - Remove code duplication when printing dynamic relocations. NFCI..

LGTM.

Fri, Sep 4, 12:48 AM · Restricted Project
jhenderson added inline comments to D87087: [llvm-readobj/elf] - Generalize the code for printing dynamic relocations. NFCI..
Fri, Sep 4, 12:47 AM · Restricted Project
jhenderson accepted D87086: [llvm-readobj/elf] - Refine signature of print*Reloc methods..

Not sure this shouldn't be two separate patches (improve error message/change signature), but I'm not going to ask for it. LGTM.

Fri, Sep 4, 12:41 AM · Restricted Project
jhenderson added inline comments to D86867: [obj2yaml] Add support for dumping the .debug_str section..
Fri, Sep 4, 12:37 AM · Restricted Project

Thu, Sep 3

jhenderson added inline comments to D86867: [obj2yaml] Add support for dumping the .debug_str section..
Thu, Sep 3, 1:46 AM · Restricted Project
jhenderson accepted D87040: [llvm-readelf/obj] - Cleanup the interface of `DumpStyle`. NFCI..

LGTM.

Thu, Sep 3, 1:22 AM · Restricted Project
jhenderson accepted D87042: [llvm-readelf] - Move a bit of common code to printDynamicRelocHeader(). NFC..

LGTM.

Thu, Sep 3, 1:08 AM · Restricted Project
jhenderson added inline comments to D87026: [DebugInfo] Make offsets of dwarf units 64-bit (19/19)..
Thu, Sep 3, 1:03 AM · debug-info, Restricted Project
jhenderson accepted D86913: Add raw_fd_stream that supports reading/seeking/writing.

LGTM.

Thu, Sep 3, 12:56 AM · Restricted Project