<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I will say XAR is a very specific format for AppStore submission. Is there any reason you want to replicate the same format on other platforms? Is your goal to build and create AppStore submission from a Windows machine? That is the only reason I think of why you want to port libxar implementation. <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">Otherwise, XAR is in the system for macOS and can probably be an optional configuration for other platforms. </span><div class=""><br class=""></div><div class="">If you just want a general way to package up a bitcode bundle, there are probably better options now and may want to design something that is cross platform and can be easily used for different goals. </div><div class=""><br class=""></div><div class="">Steven</div><div class=""><br class=""></div><div class=""><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Apr 30, 2021, at 8:56 AM, Davide Italiano <<a href="mailto:ditaliano@apple.com" class="">ditaliano@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">+ Wu<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Apr 30, 2021, at 8:10 AM, pawel k. <<a href="mailto:pawel.kunio@gmail.com" class="">pawel.kunio@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="auto" class="">Hello,<div dir="auto" class="">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" class=""><br class=""></div><div dir="auto" class="">Best regards,</div><div dir="auto" class="">Pawel Kunio</div></div><br class=""><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" class="">llvm-dev@lists.llvm.org</a>> napisał:<br class=""></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 class="">
<br class="">
Jez<br class="">
<br class="">
On Fri, Apr 30, 2021 at 12:09 AM David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank" rel="noreferrer" class="">dblaikie@gmail.com</a>> wrote:<br class="">
><br class="">
> Might want to CC any of the original authors from Apple - I expect<br class="">
> they'd have some thoughts on this, maybe know something about the<br class="">
> maintained-ness status of libxar, etc.<br class="">
><br class="">
> If we do end up writing something of our own, I wonder if it has to be<br class="">
> xar or whether there's something else we should entertain? (maybe the<br class="">
> bitcode format could be reused/broadened/or the like)<br class="">
><br class="">
> On Thu, Apr 29, 2021 at 7:51 PM Jez via llvm-dev<br class="">
> <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class="">
> ><br class="">
> > Hi,<br class="">
> ><br class="">
> > I want to float the idea of rewriting this external dependency as part<br class="">
> > of LLVM. For context, Apple's `-bitcode_bundle` flag packages bitcode<br class="">
> > within the `__LLVM` segment of the larger executable. The bitcode<br class="">
> > files are packaged by serializing them into a XAR (XML Archive) file,<br class="">
> > which then gets copied into `__LLVM`. llvm-objdump and LLD use libxar<br class="">
> > to read and write these XARs.<br class="">
> ><br class="">
> > I think there are several good reasons for writing our own libxar:<br class="">
> > 1. libxar's interface doesn't allow for *not* writing to disk (i.e. we<br class="">
> > cannot write to an mmap'ed region), so it incurs unnecessary I/O<br class="">
> > overhead<br class="">
> > 2. It doesn't support Windows<br class="">
> > 3. It exposes a rather primitive C interface (using raw ints to<br class="">
> > indicate error status) that is out of place in LLVM's C++<br class="">
> ><br class="">
> > The goal would be to have both LLD and llvm-objdump use this<br class="">
> > home-grown implementation of libxar, instead of the system one.<br class="">
> ><br class="">
> > One possibility is to contribute to the existing libxar, but I don't<br class="">
> > know if it is really maintained; Apple releases open source tarball<br class="">
> > drops every so often, and there's <a href="https://mackyle.github.io/xar/" rel="noreferrer noreferrer" target="_blank" class="">https://mackyle.github.io/xar/</a> which<br class="">
> > appears to be a fork of the now-defunct <a href="http://xar.googlecode.com/" rel="noreferrer noreferrer" target="_blank" class="">http://xar.googlecode.com/</a>,<br class="">
> > but even that hasn't seen a commit since 2014.<br class="">
> ><br class="">
> > I may have an undergrad who's eager to take this work on, but before<br class="">
> > they embark down that path I wanted to run it by y'all. Let me know if<br class="">
> > you have thoughts.<br class="">
> ><br class="">
> > Cheers,<br class="">
> > Jez<br class="">
> > _______________________________________________<br class="">
> > LLVM Developers mailing list<br class="">
> > <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer" class="">llvm-dev@lists.llvm.org</a><br class="">
> > <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
_______________________________________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer" class="">llvm-dev@lists.llvm.org</a><br class="">
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
</blockquote></div>
</div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></div></div></body></html>