ardi via llvm-dev
2017-Feb-22 21:45 UTC
[llvm-dev] Users of MIPS and PowerPC backends in production-class projects?
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>
Joerg Sonnenberger via llvm-dev
2017-Feb-22 22:36 UTC
[llvm-dev] Users of MIPS and PowerPC backends in production-class projects?
On Wed, Feb 22, 2017 at 10:45:03PM +0100, ardi via llvm-dev wrote:> 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.For MIPS, NetBSD certainly does not support Clang at the moment as system compiler. I don't think the FreeBSD situation is not that much different. For 32bit PowerPC, testing is somewhat limited, but it was a usable base system in the past. I need to restart testing this more aggressively. Joerg
Brooks Davis via llvm-dev
2017-Feb-24 00:28 UTC
[llvm-dev] Users of MIPS and PowerPC backends in production-class projects?
On Wed, Feb 22, 2017 at 11:36:58PM +0100, Joerg Sonnenberger via llvm-dev wrote:> On Wed, Feb 22, 2017 at 10:45:03PM +0100, ardi via llvm-dev wrote: > > 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. > > For MIPS, NetBSD certainly does not support Clang at the moment as > system compiler. I don't think the FreeBSD situation is not that much > different.We're getting close on mips64, big endian. Userspace support is ok and quite a bit works with clang/lld. The kernel links, but does not work. -- Brooks