Page MenuHomePhabricator

mtrent (Michael Trent)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 5 2017, 3:14 PM (111 w, 3 d)

Recent Activity

Dec 20 2019

mtrent committed rGb4dfa74a5d80: Constrain the macho-stabs test added in f72d001e099 to run on systems… (authored by mtrent).
Constrain the macho-stabs test added in f72d001e099 to run on systems…
Dec 20 2019, 5:44 PM
mtrent closed D71792: Constrain the macho-stabs test added in f72d001e099 to run on systems configured with an x86 backend..
Dec 20 2019, 5:44 PM · Restricted Project
mtrent created D71792: Constrain the macho-stabs test added in f72d001e099 to run on systems configured with an x86 backend..
Dec 20 2019, 5:44 PM · Restricted Project
mtrent committed rGf72d001e0998: llvm-objdump should ignore Mach-O stab symbols for disassembly. (authored by mtrent).
llvm-objdump should ignore Mach-O stab symbols for disassembly.
Dec 20 2019, 3:21 PM
mtrent closed D71394: llvm-objdump should ignore Mach-O stab symbols for disassembly..
Dec 20 2019, 3:21 PM · Restricted Project

Dec 18 2019

mtrent committed rG6f95d33e2b9e: [ MC ] Match labels to existing fragments even when switching sections. (authored by mtrent).
[ MC ] Match labels to existing fragments even when switching sections.
Dec 18 2019, 10:00 AM

Dec 17 2019

mtrent added a comment to rG4272372c571c: [ MC ] Match labels to existing fragments even when switching sections..

I am building a patch that will correct the problem. Feel free to roll back and I'll repush tomorrow.

Dec 17 2019, 5:01 PM
mtrent committed rG4272372c571c: [ MC ] Match labels to existing fragments even when switching sections. (authored by mtrent).
[ MC ] Match labels to existing fragments even when switching sections.
Dec 17 2019, 8:53 AM
mtrent closed D71368: [ MC ] Match labels to existing fragments even when switching sections..
Dec 17 2019, 8:53 AM · Restricted Project

Dec 16 2019

mtrent abandoned D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers..
Dec 16 2019, 1:12 PM · Restricted Project
mtrent added a comment to D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers..

Very good, I will note this is "not to be fixed" and return the request to support.

Dec 16 2019, 1:12 PM · Restricted Project
mtrent added a comment to D71368: [ MC ] Match labels to existing fragments even when switching sections..

pinging reviewers.

Dec 16 2019, 11:21 AM · Restricted Project
mtrent added a comment to D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers..

Ping.

Dec 16 2019, 11:21 AM · Restricted Project

Dec 13 2019

mtrent updated the diff for D71394: llvm-objdump should ignore Mach-O stab symbols for disassembly..

Attempt to clarify STAB symbol restriction comment.

Dec 13 2019, 11:37 AM · Restricted Project

Dec 12 2019

mtrent added inline comments to D71394: llvm-objdump should ignore Mach-O stab symbols for disassembly..
Dec 12 2019, 6:06 PM · Restricted Project
mtrent updated the diff for D71394: llvm-objdump should ignore Mach-O stab symbols for disassembly..

Move MachO casts out of work loops.

Dec 12 2019, 9:46 AM · Restricted Project
mtrent added inline comments to D71394: llvm-objdump should ignore Mach-O stab symbols for disassembly..
Dec 12 2019, 9:37 AM · Restricted Project
mtrent added inline comments to D71394: llvm-objdump should ignore Mach-O stab symbols for disassembly..
Dec 12 2019, 7:45 AM · Restricted Project

Dec 11 2019

mtrent created D71394: llvm-objdump should ignore Mach-O stab symbols for disassembly..
Dec 11 2019, 11:02 PM · Restricted Project
mtrent created D71368: [ MC ] Match labels to existing fragments even when switching sections..
Dec 11 2019, 10:49 AM · Restricted Project

Dec 9 2019

mtrent added a comment to D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers..

Do we know what form that fix will take? And does that affect this PR?

Dec 9 2019, 9:56 AM · Restricted Project

Dec 6 2019

mtrent added a comment to D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers..

Apparently fasm, x64, Linux, (the "flat assembler") as accessible via "tio.run" will accept "l" suffix as alternate form of the r*b registers. Here's a dorky existence proof:

Dec 6 2019, 10:50 AM · Restricted Project

Dec 5 2019

mtrent added a comment to D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers..

I'm not sure what to do here. I'd like to see at least some other widely used tool supporting this. I worry we'll end up in a situation years from now where other tools try to match clang for what seems to have started as quirk in Intel's documentation nearly 15 years ago.

Dec 5 2019, 3:12 PM · Restricted Project
mtrent updated the diff for D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers..

Add tests for these alternate registers.

Dec 5 2019, 2:54 PM · Restricted Project
mtrent added a comment to D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers..

Do you have examples of other tools that accept this? I checked the GNU assembler and it didn't accept r8l

Dec 5 2019, 2:02 PM · Restricted Project
mtrent added a comment to D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers..

Test case?

Dec 5 2019, 7:42 AM · Restricted Project

Dec 4 2019

mtrent created D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers..
Dec 4 2019, 9:32 PM · Restricted Project

Oct 25 2019

mtrent accepted D69419: [llvm-objcopy][MachO] Add support for min os version load commands.
Oct 25 2019, 11:11 AM · Restricted Project

Oct 15 2019

mtrent committed rL374958: add mdtrent.
add mdtrent
Oct 15 2019, 5:17 PM

Sep 27 2019

mtrent accepted D68116: [llvm-lipo] Add support for -arch.
Sep 27 2019, 10:21 AM · Restricted Project

Sep 23 2019

mtrent accepted D67758: [llvm-lipo] Add support for archives.

Logic looks fine. I have some concerns around alignment terminology that I suggest you address before committing.

Sep 23 2019, 12:49 PM · Restricted Project

Sep 20 2019

mtrent committed rG6a234677f491: Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is wrong) (authored by mtrent).
Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is wrong)
Sep 20 2019, 12:15 PM
mtrent committed rL372421: Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is wrong).
Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is wrong)
Sep 20 2019, 12:15 PM
mtrent closed D67780: Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is wrong).
Sep 20 2019, 12:14 PM · Restricted Project
mtrent updated the diff for D67780: Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is wrong).

mechanical comment changes

Sep 20 2019, 10:41 AM · Restricted Project
mtrent updated the diff for D67780: Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is wrong).

Updating to use path::append to build the bundle contents string.

Sep 20 2019, 10:35 AM · Restricted Project

Sep 19 2019

mtrent created D67780: Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is wrong).
Sep 19 2019, 5:42 PM · Restricted Project

Sep 18 2019

mtrent added inline comments to D67700: [Object] Extend MachOUniversalBinary::getObjectForArch.
Sep 18 2019, 11:23 AM · Restricted Project

Aug 6 2019

mtrent added inline comments to D65676: [llvm-lipo] Update llvm-lipo docs for -info -thin -create -replace -segalign flags.
Aug 6 2019, 4:15 PM · Restricted Project

Jul 31 2019

mtrent accepted D65491: [llvm-objdump] Fix jumptable detection when disassembling Mach-O binaries.

LGTM, visual inspection only.

Jul 31 2019, 2:01 PM · Restricted Project

Jul 30 2019

mtrent accepted D65477: [build] add the ability to create a symlink for lipo.
Jul 30 2019, 2:02 PM · Restricted Project

Jul 2 2019

mtrent added a comment to D64102: [llvm-lipo] Implement -create part 1.

@mtrent We have implemented create with the -fat64 flag to specify a fat64binary, similar to cctools lipo.
Do we still need this flag, or can we always create a fat64 binary?
Another option would be to have some sort of auto detection to create a fat64 binary when the offset of a section exceeds 32 bits.

Jul 2 2019, 3:48 PM · Restricted Project

Jun 24 2019

mtrent accepted D63735: [MachOObjectFile]Added Valid Architecture Function.
Jun 24 2019, 3:37 PM · Restricted Project
mtrent accepted D63719: [docs][llvm-readobj] Improve llvm-readobj documentation.
Jun 24 2019, 3:23 PM · Restricted Project
mtrent accepted D63651: [docs][llvm-symbolizer] Improve llvm-symbolizer documentation.

I wonder why the Mach-O specific commands are unlike that of other utilities ... In any case, these changes look fine.

Jun 24 2019, 6:17 AM · Restricted Project

Jun 21 2019

mtrent accepted D63341: [llvm-lipo] Implement -thin.
Jun 21 2019, 12:19 AM · Restricted Project
mtrent added a comment to D63341: [llvm-lipo] Implement -thin.

Note: "llvm-lipo" does not work properly with certain Mach-O executables, such as those built with the -hideARM64 flag.

Fixed most of these issues, but for printing a list of knows architectures I am planning to make a change in a separate diff that returns a list of valid architectures, since I will no longer be modifying llvm-lipo code.

For the MachO executables built with -hideARM64 flag, I filed a bug for MachOUniversalBinary: https://bugs.llvm.org/show_bug.cgi?id=42343.

Jun 21 2019, 12:19 AM · Restricted Project
mtrent added a comment to D63606: [docs][llvm-objdump] Improve llvm-objdump documentation.

BTW, there is a manpage: llvm/docs/llvm-objdump.1. It'd be nice to check if it needs updates as well.

Jun 21 2019, 12:16 AM · Restricted Project
mtrent accepted D63606: [docs][llvm-objdump] Improve llvm-objdump documentation.
Jun 21 2019, 12:16 AM · Restricted Project

Jun 20 2019

mtrent accepted D63327: [docs][llvm-nm] Improve symbol code documentation.
Jun 20 2019, 10:26 AM · Restricted Project

Jun 19 2019

mtrent added a comment to D63341: [llvm-lipo] Implement -thin.

i think that we should not "replicate cctools lipo error messages exactly", ours could be better / more convenient or informative where it makes sense.
But in this particular case (see the comments above) I agree, including the names into the error message would be good!
Regarding exit codes - yes, it's important (for many reasons) to make sure that our exit codes are correct.

Jun 19 2019, 8:38 AM · Restricted Project

Jun 18 2019

mtrent requested changes to D63341: [llvm-lipo] Implement -thin.

Would be nice if "llvm-lipo -thin" printed a reasonable error message before dumping usage. Apple lipo will print "missing argument to -thin option"

Jun 18 2019, 9:13 PM · Restricted Project
mtrent committed rGc2885ded2b1e: Print dylib load kind (weak, reexport, etc) in llvm-objdump -m -dylibs-used (authored by mtrent).
Print dylib load kind (weak, reexport, etc) in llvm-objdump -m -dylibs-used
Jun 18 2019, 3:18 PM
mtrent committed rL363746: Print dylib load kind (weak, reexport, etc) in llvm-objdump -m -dylibs-used.
Print dylib load kind (weak, reexport, etc) in llvm-objdump -m -dylibs-used
Jun 18 2019, 3:16 PM
mtrent closed D62866: Print dylib load kind (weak, reexport, etc) in llvm-objdump -m -dylibs-used.
Jun 18 2019, 3:16 PM · Restricted Project

Jun 15 2019

mtrent added a comment to D63341: [llvm-lipo] Implement -thin.

I'll have a look Monday / early next week. Meanwhile, here are some quick thoughts.

Jun 15 2019, 12:47 AM · Restricted Project
mtrent accepted D63340: [llvm-nm] Fix for BZ41711 - Class character for a symbol with undefined binding does not match class assigned by GNU nm.

Respectfully, I am not a good reviewer for ELF-specific file format changes. I assume you added me as a proxy for 'enderby', who touched some of the lines of this routine. Looking at the SVN history I believe Kevin Enderby's involvement was limited to promulgating Lang Hames' "Expected<>" as the preferred error handling idiom in libObject and friends. So, again, respectfully, neither Kevin nor I are what I would consider good, authoritative reviewers for ELF.

Jun 15 2019, 12:30 AM
mtrent added a comment to D63327: [docs][llvm-nm] Improve symbol code documentation.

All this looks reasonable, but my grasp of Mach-O is not as complete as I would like, and I have some questions for you.

Jun 15 2019, 12:12 AM · Restricted Project

Jun 11 2019

mtrent accepted D63142: [llvm-nm] Fix docs and help text for --print-size.
Jun 11 2019, 10:35 AM · Restricted Project

Jun 10 2019

mtrent accepted D63100: [llvm-lipo] Update llvm-lipo docs for -archs flag.

approving this revision in light of my notes inline. I still believe this command guide is going to need an editorial pass once all of the options are in. my main concern for the moment is that the information is accurate and complete.

Jun 10 2019, 10:18 PM · Restricted Project

Jun 7 2019

mtrent accepted D62753: [llvm-lipo] Implement -archs.
Jun 7 2019, 11:46 AM · Restricted Project
mtrent accepted D62706: [llvm-lipo] Add docs for llvm-lipo.

Thanks for making this!

Jun 7 2019, 7:55 AM · Restricted Project

Jun 6 2019

mtrent added a comment to D62706: [llvm-lipo] Add docs for llvm-lipo.

I had trouble getting recommonmark.parser to install on my system, so I hacked at the patch to get the html and groff formatters to run. Should not be relevant to this review.

Jun 6 2019, 3:31 PM · Restricted Project
mtrent added a reviewer for D62812: [llvm] [CodeView] Move Triple::ArchType → CPUType mapping from LLDB: friss.

I am not familiar with lldb or with the DebugView library, so I am pulling in Fred Riss for this review. Thanks!

Jun 6 2019, 2:48 PM · Restricted Project
mtrent resigned from D62812: [llvm] [CodeView] Move Triple::ArchType → CPUType mapping from LLDB.
Jun 6 2019, 2:48 PM · Restricted Project
mtrent requested changes to D62753: [llvm-lipo] Implement -archs.

I did not download or run this code, but I believe it does not correctly divine the Arch flag from a given Mach-O binary. This is straight-forward to fix.

Jun 6 2019, 2:42 PM · Restricted Project
mtrent accepted D62955: [llvm-nm] Additional lit tests for command line options.
Jun 6 2019, 8:14 AM

Jun 4 2019

mtrent updated the diff for D62866: Print dylib load kind (weak, reexport, etc) in llvm-objdump -m -dylibs-used.

Trim unused space from the macho-dylib.test file.

Jun 4 2019, 10:20 AM · Restricted Project
mtrent created D62866: Print dylib load kind (weak, reexport, etc) in llvm-objdump -m -dylibs-used.
Jun 4 2019, 10:15 AM · Restricted Project

Jun 3 2019

mtrent accepted D62773: [llvm] [test] Remove non-portable EISDIR test from macho-disassemble-g-dsym.test.

Given the problems we've seen with windows and netbsd, I think it makes sense for llvm-obdump to have a better, more bespoke error case, one that is stable on all platforms. so let's pull this test.

Jun 3 2019, 7:20 AM · Restricted Project

Jun 1 2019

mtrent added a comment to D62773: [llvm] [test] Remove non-portable EISDIR test from macho-disassemble-g-dsym.test.

"It does not seem to serve any real purpose..."

Jun 1 2019, 9:11 AM · Restricted Project

May 30 2019

mtrent committed rG5e1881f9b234: Update the tests in r362121 / r362141 to allow for Windows-specific error… (authored by mtrent).
Update the tests in r362121 / r362141 to allow for Windows-specific error…
May 30 2019, 3:09 PM
mtrent committed rL362167: Update the tests in r362121 / r362141 to allow for Windows-specific error.
Update the tests in r362121 / r362141 to allow for Windows-specific error
May 30 2019, 3:08 PM
mtrent committed rGc58130bc8445: Write new tests for r362121 (authored by mtrent).
Write new tests for r362121
May 30 2019, 1:07 PM
mtrent committed rL362141: Write new tests for r362121.
Write new tests for r362121
May 30 2019, 1:06 PM
mtrent closed D62694: Write new tests for r362121.
May 30 2019, 1:06 PM · Restricted Project
mtrent created D62694: Write new tests for r362121.
May 30 2019, 11:56 AM · Restricted Project
mtrent committed rG5d5f62992296: Reverting change r362121 due to lld-x86_64-ubuntu-fast test failures (authored by mtrent).
Reverting change r362121 due to lld-x86_64-ubuntu-fast test failures
May 30 2019, 11:15 AM
mtrent committed rG50daaa5f6b26: Support Universal dSYM files in llvm-objdump (authored by mtrent).
Support Universal dSYM files in llvm-objdump
May 30 2019, 11:14 AM
mtrent committed rL362123: Reverting change r362121 due to lld-x86_64-ubuntu-fast test failures.
Reverting change r362121 due to lld-x86_64-ubuntu-fast test failures
May 30 2019, 11:14 AM
mtrent committed rL362121: Support Universal dSYM files in llvm-objdump.
Support Universal dSYM files in llvm-objdump
May 30 2019, 11:14 AM
mtrent closed D62642: Support Universal dSYM files in llvm-objdump.
May 30 2019, 11:14 AM · Restricted Project
mtrent added inline comments to D62642: Support Universal dSYM files in llvm-objdump.
May 30 2019, 10:52 AM · Restricted Project
mtrent updated the diff for D62642: Support Universal dSYM files in llvm-objdump.

Remove tabs inserted by emacs (grr)

May 30 2019, 10:51 AM · Restricted Project
mtrent updated the diff for D62642: Support Universal dSYM files in llvm-objdump.

Increasing error checking to catch symbolic files that are neither
Mach-O nor Universal object files.

May 30 2019, 8:12 AM · Restricted Project

May 29 2019

mtrent created D62642: Support Universal dSYM files in llvm-objdump.
May 29 2019, 8:45 PM · Restricted Project

May 23 2019

mtrent accepted D61927: [tools]Introduce llvm-lipo.

That's a pretty big hammer. Let's give it a try!

May 23 2019, 5:49 PM · Restricted Project
mtrent accepted D62296: [Object] object::ELFObjectFile::symbol_begin(): skip symbol index 0.
May 23 2019, 8:08 AM · Restricted Project

May 22 2019

mtrent accepted D62148: [llvm-nm] Omit the symbol table entry at index 0 when --debug-syms is enabled for ELF files.

I'm not sure. I think there are limited use cases for being able to use that symbol, and it's possible that other clients actively want to dump the value. However, if there aren't any existing uses within LLVM, and we provide an alternative interface to get that symbol, I could get behind this.

May 22 2019, 7:54 AM

May 21 2019

mtrent added a comment to D62148: [llvm-nm] Omit the symbol table entry at index 0 when --debug-syms is enabled for ELF files.

While this seems to be a direct way to address this, should the ELF object file instead begin the symbol range at 1 instead of 0? That way all clients of libObject know to skip the undefined range and you don't need to modify every call site.

May 21 2019, 9:27 AM

May 17 2019

mtrent committed rG07c96ebd9442: Update llvm-nm -s to use a multi-var option (authored by mtrent).
Update llvm-nm -s to use a multi-var option
May 17 2019, 8:16 PM
mtrent committed rL361091: Update llvm-nm -s to use a multi-var option.
Update llvm-nm -s to use a multi-var option
May 17 2019, 8:14 PM
mtrent closed D62070: Update llvm-nm -s to use a multi-var option.
May 17 2019, 8:14 PM · Restricted Project
mtrent created D62070: Update llvm-nm -s to use a multi-var option.
May 17 2019, 11:07 AM · Restricted Project

May 15 2019

mtrent added a comment to D61927: [tools]Introduce llvm-lipo.

regarding -verify_arch X Y Z - yeah, I can try to make it work with LLVM's command line options parser, not sure if this interface is ideal / better than -verify_arch X -verify_arch Y -verify_arch Z, but yeah, on the other hand, this would be an incompatibility / would require customers of the old tool to update their scripts/code. The downside of the old interface - the positional argument should go before -verify_arch. To be honest at the moment I don't see how to express the old behavior of -verify_arch using libCommandLine, any suggestions would be helpful, alternatively we can try to live with this incompatibility.

May 15 2019, 9:08 PM · Restricted Project
mtrent added inline comments to D61927: [tools]Introduce llvm-lipo.
May 15 2019, 4:04 PM · Restricted Project
mtrent added a comment to D61927: [tools]Introduce llvm-lipo.

A second thought on the topic of lipo compatibility. libObject is probably reasonable if your primary interest is MH_OBJECT files. There exist a number of final-linked-images that libObject's fat parser will not currently understand; these are formats that cannot be produced by llvm tools today. I wonder if choosing a different name for the tool might give you some flexibility to "do things differently" than lipo. That said, I don't have a better name in mind. :)

May 15 2019, 4:04 PM · Restricted Project

May 14 2019

mtrent added a comment to D61927: [tools]Introduce llvm-lipo.

I hate to be "That Guy" but this really needs a docs/CommandGuide file.

May 14 2019, 7:11 PM · Restricted Project

Apr 18 2019

mtrent added a comment to D60285: Make calls into the pthread library use weak symbols..

@kledzik

Nick, what do you think about adding weak symbols just for achieving this?

Nick any thoughts? I'd like to move forward, for whatever definition of "forward" we may settle on.

Apr 18 2019, 1:23 PM · Restricted Project

Mar 20 2019

mtrent committed rG02a2ce9a4b55: Fix Mach-O bind and rebase validation errors in libObject (authored by mtrent).
Fix Mach-O bind and rebase validation errors in libObject
Mar 20 2019, 4:21 PM