<div dir="auto">Hello,<div dir="auto">Silly question but is xml the best format to be used? If so if it is fairly eparate lib, i could try to help with rewriting it.</div><div dir="auto"><br></div><div dir="auto">Best regards,</div><div dir="auto">Pawel Kunio</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">pt., 30.04.2021, 15:23 użytkownik Jez via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> napisał:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">+Davide -- do you know who (if anyone) at Apple maintains this?<br>
<br>
Jez<br>
<br>
On Fri, Apr 30, 2021 at 12:09 AM David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank" rel="noreferrer">dblaikie@gmail.com</a>> wrote:<br>
><br>
> Might want to CC any of the original authors from Apple - I expect<br>
> they'd have some thoughts on this, maybe know something about the<br>
> maintained-ness status of libxar, etc.<br>
><br>
> If we do end up writing something of our own, I wonder if it has to be<br>
> xar or whether there's something else we should entertain? (maybe the<br>
> bitcode format could be reused/broadened/or the like)<br>
><br>
> On Thu, Apr 29, 2021 at 7:51 PM Jez via llvm-dev<br>
> <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a>> wrote:<br>
> ><br>
> > Hi,<br>
> ><br>
> > I want to float the idea of rewriting this external dependency as part<br>
> > of LLVM. For context, Apple's `-bitcode_bundle` flag packages bitcode<br>
> > within the `__LLVM` segment of the larger executable. The bitcode<br>
> > files are packaged by serializing them into a XAR (XML Archive) file,<br>
> > which then gets copied into `__LLVM`. llvm-objdump and LLD use libxar<br>
> > to read and write these XARs.<br>
> ><br>
> > I think there are several good reasons for writing our own libxar:<br>
> > 1. libxar's interface doesn't allow for *not* writing to disk (i.e. we<br>
> > cannot write to an mmap'ed region), so it incurs unnecessary I/O<br>
> > overhead<br>
> > 2. It doesn't support Windows<br>
> > 3. It exposes a rather primitive C interface (using raw ints to<br>
> > indicate error status) that is out of place in LLVM's C++<br>
> ><br>
> > The goal would be to have both LLD and llvm-objdump use this<br>
> > home-grown implementation of libxar, instead of the system one.<br>
> ><br>
> > One possibility is to contribute to the existing libxar, but I don't<br>
> > know if it is really maintained; Apple releases open source tarball<br>
> > drops every so often, and there's <a href="https://mackyle.github.io/xar/" rel="noreferrer noreferrer" target="_blank">https://mackyle.github.io/xar/</a> which<br>
> > appears to be a fork of the now-defunct <a href="http://xar.googlecode.com/" rel="noreferrer noreferrer" target="_blank">http://xar.googlecode.com/</a>,<br>
> > but even that hasn't seen a commit since 2014.<br>
> ><br>
> > I may have an undergrad who's eager to take this work on, but before<br>
> > they embark down that path I wanted to run it by y'all. Let me know if<br>
> > you have thoughts.<br>
> ><br>
> > Cheers,<br>
> > Jez<br>
> > _______________________________________________<br>
> > LLVM Developers mailing list<br>
> > <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
> > <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>