[llvm-dev] Users of MIPS and PowerPC backends in production-class projects?

ardi via llvm-dev llvm-dev at lists.llvm.org
Wed Feb 22 13:45:03 PST 2017


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.

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.

In the case of MIPS, would Linux be the most reliable choice, or is any BSD
flavour already using the backend successfully?

Thanks!

ardi



On Wednesday, February 22, 2017, Simon Dardis <Simon.Dardis at imgtec.com>
wrote:

> For MIPS, the common OSes would be Linux/FreeBSD/NetBSD/OpenBSD.
>
> Endianness is somewhat variable as many MIPS designs have big endian and
> little endian variants. Typically you can assume big endian but little
> endian is
> fairly common as well.
>
> For the ABI would be O32 for 32 bit MIPS and N64 for 64 bit MIPS. There is
> another ABI, N32 which fulfils a similar role as X32 for x86_64 i.e. 32bit
> pointers
> with 64 integers. This is what stock GCC targets by default for mips64.
> LLVM for
> mips64 targets N64 by default for historical reasons.
>
> Historically, MIPS has had other ABIs defined for it, such as GNU's EABI
> and it's
> 64 bit variant and O64. You can stick with O32/N64/N32 as most of the OS
> distributions will only use those ABIs.
>
> The usual linker would be the GNU linker and GOLD. LLD is in a good shape
> for
> MIPS.
>
> For baremetal / embedded / kernel environments, the tools and ABIS are the
> same but you compile code as non-pic and use custom linker scripts and
> startup code tailored to the environment.
>
> Thanks,
> Simon
>
> > -----Original Message-----
> > From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org <javascript:;>]
> On Behalf Of ardi
> > via llvm-dev
> > Sent: 22 February 2017 09:48
> > To: llvm-dev
> > Subject: [llvm-dev] Users of MIPS and PowerPC backends in
> production-class
> > projects?
> >
> > Hi,
> >
> > I'd like to experiment with the MIPS and PowerPC backends, but,
> considering
> > that they aren't widely used processors, I'd like to start with the same
> > environment (OS/ABI/linker) used by the people who work with these
> > backends.
> >
> > So, what OS/ABI/linker use the people who use these backends for
> > production work?
> >
> > Thanks!!
> > _______________________________________________
> > LLVM Developers mailing list
> > llvm-dev at lists.llvm.org <javascript:;>
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170222/9d196c0b/attachment.html>


More information about the llvm-dev mailing list