[llvm-dev] Extending llvm-objcopy to support Mach-O

Eric Christopher via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 2 11:59:29 PDT 2018


It both is and isn't. Looking at expanding and reorganizing the tool is a
good time to move things out to make the overall effort smaller in the
future.

On Tue, Oct 2, 2018, 10:24 AM Jake Ehrlich <jakehehrlich at google.com> wrote:

> That's something I want to do as well for several reasons. That's an
> orthogonal issue however.
>
> On Tue, Oct 2, 2018, 10:21 AM Eric Christopher <echristo at gmail.com> wrote:
>
>> I'd give some consideration to moving the objcopy support itself into a
>> library inside llvm (possibly lib/Object as that makes the most sense) and
>> then the tool is just a thin wrapper on top of it.
>>
>> -eric
>>
>> On Mon, Oct 1, 2018 at 4:12 PM Alexander Shaposhnikov via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>>> Hey everyone! Objcopy is a powerful tool that allows one to modify
>>> object files in various manners, for example, modify symbols / symbol
>>> tables or copy / remove particular parts of a binary. It also serves as a
>>> basis for the strip tool.
>>> Currently, llvm-objcopy only supports ELF files while binutils' objcopy
>>> can handle Mach-O files as well. Besides extending the existing tool to
>>> support Mach-O binaries this would enable us to build LLVM-based
>>> replacements for cctools' install_name_tool (for changing rpath(s),
>>> identification name etc) and lipo / libtool (for manipulating "fat"
>>> binaries) similarly to how llvm-strip was implemented on top of
>>> llvm-objcopy. Regarding the code organization, probably, in this case we
>>> will have separate folders: ELF, MachO and maybe a few top-level files
>>> (ObjcopyOpts.td, StripOpts.td). Any thoughts, concerns, or strong
>>> preferences ? Kind regards, Alex
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> llvm-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181002/a02e6019/attachment.html>


More information about the llvm-dev mailing list