Is the MIPS backend production-ready for any (or all) of the OSs you mention? As I said, I'd like to start using the MIPS and PowerPC backends with an OS/linker where they are most reliable.<div><br></div><div>In the case of PowerPC, from the comments I conclude there's people successfully¬†using the backend in Linux. OTOH, FreeBSD is "almost there", and not sure about NetBSD and OpenBSD.</div><div><br></div><div>In the case of MIPS, would Linux be the most reliable choice, or is any BSD flavour already using the backend successfully?</div><div><br></div><div>Thanks!</div><div><br></div><div>ardi</div><div><br></div><div><br><br>On Wednesday, February 22, 2017, Simon Dardis <<a href="mailto:Simon.Dardis@imgtec.com">Simon.Dardis@imgtec.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For MIPS, the common OSes would be Linux/FreeBSD/NetBSD/OpenBSD.<br>
<br>
Endianness is somewhat variable as many MIPS designs have big endian and<br>
little endian variants. Typically you can assume big endian but little endian is<br>
fairly common as well.<br>
<br>
For the ABI would be O32 for 32 bit MIPS and N64 for 64 bit MIPS. There is<br>
another ABI, N32 which fulfils a similar role as X32 for x86_64 i.e. 32bit pointers<br>
with 64 integers. This is what stock GCC targets by default for mips64. LLVM for<br>
mips64 targets N64 by default for historical reasons.<br>
<br>
Historically, MIPS has had other ABIs defined for it, such as GNU's EABI and it's<br>
64 bit variant and O64. You can stick with O32/N64/N32 as most of the OS<br>
distributions will only use those ABIs.<br>
<br>
The usual linker would be the GNU linker and GOLD. LLD is in a good shape for<br>
MIPS.<br>
<br>
For baremetal / embedded / kernel environments, the tools and ABIS are the<br>
same but you compile code as non-pic and use custom linker scripts and<br>
startup code tailored to the environment.<br>
<br>
Thanks,<br>
Simon<br>
<br>
> -----Original Message-----<br>
> From: llvm-dev [mailto:<a href="javascript:;" onclick="_e(event, 'cvml', 'llvm-dev-bounces@lists.llvm.org')">llvm-dev-bounces@lists.llvm.org</a>] On Behalf Of ardi<br>
> via llvm-dev<br>
> Sent: 22 February 2017 09:48<br>
> To: llvm-dev<br>
> Subject: [llvm-dev] Users of MIPS and PowerPC backends in production-class<br>
> projects?<br>
><br>
> Hi,<br>
><br>
> I'd like to experiment with the MIPS and PowerPC backends, but, considering<br>
> that they aren't widely used processors, I'd like to start with the same<br>
> environment (OS/ABI/linker) used by the people who work with these<br>
> backends.<br>
><br>
> So, what OS/ABI/linker use the people who use these backends for<br>
> production work?<br>
><br>
> Thanks!!<br>
> ______________________________<wbr>_________________<br>
> LLVM Developers mailing list<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', 'llvm-dev@lists.llvm.org')">llvm-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</blockquote></div>