<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">LGTM. Had only few minor comments that
      I have made in the review page.<br>
      <br>
      On 10/4/2013 7:18 PM, Nick Kledzik wrote:<br>
    </div>
    <blockquote
      cite="mid:8750161F-88C0-4E53-A150-07FA4AFDE1DF@apple.com"
      type="cite">
      <pre wrap="">Just realized this did not get CC’d to llvm-commits

-Nick

Begin forwarded message:
</pre>
      <blockquote type="cite">
        <pre wrap="">From: <a class="moz-txt-link-rfc2396E" href="mailto:kledzik@apple.com">"kledzik@apple.com"</a> <a class="moz-txt-link-rfc2396E" href="mailto:kledzik@apple.com"><kledzik@apple.com></a>
Subject: [PATCH] [PATCH][lld][mach-o] normalized mach-o yaml
Date: October 3, 2013 at 6:39:34 PM PDT
To: <a class="moz-txt-link-abbreviated" href="mailto:bigcheesegs@gmail.com">bigcheesegs@gmail.com</a>, <a class="moz-txt-link-abbreviated" href="mailto:shankarke@gmail.com">shankarke@gmail.com</a>, <a class="moz-txt-link-abbreviated" href="mailto:kledzik@apple.com">kledzik@apple.com</a>
Reply-To: <a class="moz-txt-link-abbreviated" href="mailto:reviews+D1829+public+e688e59ffde578e7@llvm-reviews.chandlerc.com">reviews+D1829+public+e688e59ffde578e7@llvm-reviews.chandlerc.com</a>

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.

<a class="moz-txt-link-freetext" href="http://llvm-reviews.chandlerc.com/D1829">http://llvm-reviews.chandlerc.com/D1829</a>

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
</pre>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <blockquote type="cite">
          <pre wrap="">
</pre>
        </blockquote>
        <pre wrap="">
</pre>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
      </blockquote>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation</pre>
  </body>
</html>