<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jul 5, 2013, at 10:17 AM, Ahmed Bougacha wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">On Thu, Jul 4, 2013 at 10:21 PM, Charles Davis <span dir="ltr"><<a href="mailto:cdavis5x@gmail.com" target="_blank">cdavis5x@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div><div class="h5">

<div>On Jul 4, 2013, at 10:22 PM, ÂÞÓ¸Õ(Yonggang Luo) wrote:</div><br><blockquote type="cite"><p dir="ltr"><br>
ÔÚ 2013-7-4 ÏÂÎç8:53£¬"Charles Davis" <<a href="mailto:cdavis5x@gmail.com" target="_blank">cdavis5x@gmail.com</a>>дµÀ£º<br>
><br>
><br>
> On Jul 4, 2013, at 1:43 AM, ÂÞÓ¸Õ(Yonggang Luo) wrote:<br>
><br>
> > LLVM is a modularized software system, so I hope it's was modularized,<br>
> > And ELF.h is definitely belongs to Object by classification,<br>
> > The things that confused me is the ELF.h was placed under Support and<br>
> > don't know why.<br>
> Because it's also used by the MC layer's direct object emission support.<br>
thanks for your response, did MC layer's direct object emission depends on Object library?<br></p></blockquote></div></div>Nope. The Object library only reads object files. MC, on the other hand, only writes object files.</div>

</div></blockquote><div><br></div><div>That¡¯s true for object emission, but MC already depends on libObject,</div></div></div></div></blockquote>Huh. You're right, looking at MC's LLVMBuild.txt file.<br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> and at least some of the more experimental parts of MC actually use it to read files.</div></div></div></div></blockquote>That's right, the new object disassembler stuff (that you are working on, if I'm not mistaken!) that was just added needs libObject.</div><div><br></div><div>But as for debug info, it is true that DebugInfo only knows how to read it, and CodeGen knows how to write it (but not read it). So for now, the DWARF stuff at least definitely needs to stay in Support.<br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>
However, - I believe nobody mentioned this - I think the point of having ELF.h and friends in Support is that they¡¯re intended to (more or less exactly) match the headers provided by the system.</div></div></div></div></blockquote>Agreed, though I'm not sure if that justifies them being in Support instead of Object.<br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> Most of what¡¯s there is duplicated in a friendlier form (for ObjectFile-related stuff), or just to match the LLVM style (notably Object/MachOFormat.h) in Object.</div></div></div></div></blockquote>I have to say, I believe that this duplication is an (admittedly minor) problem, because now at least <llvm/Support/MachO.h> and <llvm/Object/MachOFormat.h> are out of sync. I think we should get rid of one in favor of the other. Personally, I want to keep the former and dump the latter, but LLVM uses mostly the latter when it needs to work with Mach-O files, so I'm not sure how the rest of the community feels--which header stays and which one goes, where the header should go, or if this is even a bike shed they'd want to repaint.</div><div><br></div><div>Chip</div><div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">

<div><br></div><div><div>-- Ahmed Bougacha</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div style="word-wrap:break-word"><div>Chip<br></div><br></div><br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu/" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div></div>
</blockquote></div><br></body></html>