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

James Henderson via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 2 02:19:15 PDT 2018


This sounds reasonable to me. I have no objection on this being
pursued currently. I may have some comments about the design once we
have a first version of a patch up for review, though, as it'll be
easier to visualise.

James
On Tue, 2 Oct 2018 at 00:27, Jake Ehrlich <jakehehrlich at google.com> wrote:
>
> This organization is what I've had in mind for a while. I'd like to see a good proposal for how to reorganize HandleArgs to work for different architectures so that CopyConfig and friends can be shared across different fipe formats. That can be worked out in review though.
>
> I'm in full support.
>
> On Mon, Oct 1, 2018, 4:11 PM Alexander Shaposhnikov <alexander.v.shaposhnikov at gmail.com> 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


More information about the llvm-dev mailing list