tech-toolchain archive

[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 
<lloyd%must-have-coffee.gen.nz@localhost> wrote:
> 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 
solid combination. 

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.

Cheers,
Lloyd


Home | Main Index | Thread Index | Old Index