[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Successful compilation of toolchain on ubuntu, but failed compilation of netbsd on ubuntu using that toolchain
On 23/08/2012, at 9:36 AM, Lloyd Parkes
> That looks like a problem alright. I'm copying my source tree into an Ubuntu
> 12.04 VM now to see if I can see anything, but there are many people on this
> list how know a lot more about the toolchain than me.
So that didn't work. I couldn't even build the toolchain on Ubuntu 12.04. I
also couldn't build the NetBSD 5 toolchain on OS X 10.8. I can build the NetBSD
5 toolchain on OS X 10.5.8 though, and I've done quite a bit of NetBSD
development on OS X 10.5.8 in the past, so I'm quite confident that it's a
Googling tells me that the GCC used in the NetBSD 5 toolchain has some issues.
I've had much more luck building NetBSD 6 on Linux and OS X. I had no trouble
building NetBSD 6 on Ubunutu 10 (Lucid), Ubuntu 12 (Precise) and OS X 10.8
(Mountain Lion). NetBSD 6 would not build on OS X Tiger.
All the build problems centred around the use of GCC inline functions and what
happens when the compiler can't inline them. In the NetBSD 5 toolchain, gperf
was using a feature that ensured that if a function marked as inline, then no
non-inline code was generated. If the compiler couldn't inline the code, then
no implementation of the function was emitted, which is as successful as you
think it might be. With the NetBSD 6 toolchain, it appears that if inline code
can't be generated then functions are generated, but they aren't marked static,
so the linker complains that it as 12 copies of the same symbol.
I recommend switching to NetBSD 6. It's got a release candidate now, so the
code is about as stable as it's going to get.
Main Index |
Thread Index |