[PATCH] llvm-objdump macho section extractor.

Puyan Lotfi via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 8 11:27:38 PDT 2016


Kevin

I have a new patch attached.

I am fine with only supporting LC_SEGMENT_64 or LC_SEGMENT_64  for the time
being but I adding a message in case the extract code encounters a segment
other than those types.

I have added some additional flags to narrow down which segment to dump.

Also, I added a flag and some code to print the section to stderr in a hex
format for testing and I've added a test case as well.

Let me known how this looks to you.

Thanks

PL

On Fri, Aug 5, 2016 at 4:22 PM, Kevin Enderby <enderby at apple.com> wrote:

> Hi Puyan,
>
> Seems like the functionality would be easier to test if it didn’t write
> the output files to the same directory as the input file.  And of course
> you’ll want to add a test case as the llvm tradition with any changes.
>
> Also I’m not an llvm style expert but you can likely shorten the logic and
> not use the a switch statement for your return value from
> ExtractLoadCommand().  Also it looks like it should get an error with any
> Mach-O file that has non LC_SEGMENT_64 or LC_SEGMENT_64 commands?  Is that
> correct and what you want.
>
> You also might just want to return a bool for success of failure from
> ExtractSectionData() and your other routines.
>
> Also it llvm seems to like the shortest bit if code so I don’t think you
> need the “int Res” and could just use an if statement.
>
> Kev
>
> > On Aug 5, 2016, at 4:06 PM, Puyan Lotfi <puyan.lotfi.llvm at gmail.com>
> wrote:
> >
> > Hi Kevin, All:
> >
> > I have a macho-extract tool kicking around locally that I threw together
> a while back that simply dumps each section in a MachO to disk, and I've
> decided it's probably high-time to upstream the functionality into
> llvm-objdump.
> >
> > Let me know if this looks good enough to check in, or otherwise feedback
> would be nice too.
> >
> > Thanks
> >
> > PL
> >
> >
> > <llvm-objdump-macho-extract.patch>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160808/993ec708/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: llvm-objdump-macho-extract2.patch
Type: application/octet-stream
Size: 12477 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160808/993ec708/attachment.obj>


More information about the llvm-commits mailing list