[PATCH] [PATCH][lld][mach-o] normalized mach-o yaml

Shankar Easwaran shankare at codeaurora.org
Fri Oct 4 20:13:47 PDT 2013


LGTM. Had only few minor comments that I have made in the review page.

On 10/4/2013 7:18 PM, Nick Kledzik wrote:
> Just realized this did not get CC'd to llvm-commits
>
> -Nick
>
> Begin forwarded message:
>> From: "kledzik at apple.com" <kledzik at apple.com>
>> Subject: [PATCH] [PATCH][lld][mach-o] normalized mach-o yaml
>> Date: October 3, 2013 at 6:39:34 PM PDT
>> To: bigcheesegs at gmail.com, shankarke at gmail.com, kledzik at apple.com
>> Reply-To: reviews+D1829+public+e688e59ffde578e7 at llvm-reviews.chandlerc.com
>>
>> Hi Bigcheese, shankarke,
>>
>> This is the first step in how I plan to get mach-o object files support into
>> lld. We need to be able to test the mach-o Reader and Write on systems without
>> a mach-o tools. Therefore, we want to support a textual way (YAML) to represent
>> mach-o files.
>>
>> MachONormalizedFile.h defines an in-memory abstraction of the content of mach-o
>> files. The in-memory data structures are always native endianess and always
>> use 64-bit sizes. This means there are no C++ templates for handling mach-o
>> pointer size and endianness. This internal data structure can then be converted to or
>> from three different formats: 1) yaml (text) encoded mach-o, 2) binary mach-o
>> files, 3) lld Atoms.
>>
>> This patch defines the internal model and uses YAML I/O to implement the
>> conversion to and from the model to yaml. The next patch will implement
>> the conversion from normalized to binary mach-o.
>>
>> This patch includes unit tests to validate the yaml conversion APIs.
>>
>> This is an update to D1276. Since that time, I have:
>> * switched to using Support/MachO.h
>> * extended the normalized mach-o data structure to support final linked
>>   image (not just object files)
>> * I've implemented the normalized->binary code (patch coming soon) to
>>   validate the normalized mach-o data structure.
>>
>> http://llvm-reviews.chandlerc.com/D1829
>>
>> Files:
>>   include/lld/ReaderWriter/MachOLinkingContext.h
>>   unittests/MachOTests
>>   unittests/MachOTests/MachONormalizedFileYAMLTests.cpp
>>   unittests/MachOTests/CMakeLists.txt
>>   unittests/CMakeLists.txt
>>   lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp
>>   lib/ReaderWriter/MachO/MachONormalizedFile.h
>>   lib/ReaderWriter/MachO/MachOLinkingContext.cpp
>>   lib/ReaderWriter/MachO/CMakeLists.txt
>>
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131004/c91dc190/attachment.html>


More information about the llvm-commits mailing list