[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: emdebian cross-tools



On Thu 27 Feb, Hakan Ardo wrote:
> On Wed, Feb 26, 2003 at 06:04:28PM +0000, Wookey wrote:

<snip>
 
> The idea is that maintainer by hand do:
> 
> apt-get install toolchain-source
> cd gcc-avr-linux
> tpkg-update
> # Reslov all problems if any
> debrelease
> 
> this because there will always be problems, and thus an automatic update
> wont work.
> 
> > 
> > right - this is excellent - I'm really beginning to like this
> > toolchain-source concept :-) If we can just agree on ways of decoupling it
> > all a little to deal with the versionning problems I think we can have
> > something really neat.
> 
> OK, I'm leaving for a weeks vaction soon, so if you don't find any better
> solution here is what I sugests:
> 
> I will releas a gcc 3.2.3 toolchain-source any second now. Try to build with
> thatone and then I'll split it into one -gcc and one -binutils
> toolchain-source package, and then we discuss the update procedures of
> testing and find a good solution with the people maintaining it. And if we
> realise that it won't do with the same version, and thus know which versions
> we need, we split on version as well.

<time passes>

OK - I built an arm toolchain with this a while back and finally got round
to testing it (well, Nick Bane did mostly). It seems to work fine for all
user space stuff, including a lot of C++ which is very good, but it won't
compile the 2.4.19-rmk4 arm kernel. We've tried it on a couple of
architectures both as a cross compiler and as _native_ compiler, and it
always stalls at "Posix conformance testing by UNIFIX" during the boot
messages.

Some more peerig through the entrails shows that it actually stops round 
rest_init in linux/init/main.c/
/*
 * We need to finalize in a non-__init function or else race conditions
 * between the root thread and the init thread may cause start_kernel to
 * be reaped by free_initmem before the root thread has proceeded to
 * cpu_idle.
 */

static void rest_init(void)
{
	kernel_thread(init, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGNAL);
	unlock_kernel();
	current->need_resched = 1;
 	cpu_idle();
} 
(prinks before 'cpu_idle' appear, but nothing after) 

Rather than trying to debug this just yet it seemed sensible to try the
released version of 3.2.3 first, which is a couple of months after the
toolchain-source release you did above.

So to my question - finally. What's the proceedure for making a new
toolchain source package (I'm taking this route because it makes building
the cross-toolchain simpler, I think!). I've sucked the 3.2.3 tarball down.
How much fiddling and checking do I need to do to make a package that
should work? Or am I likely to mess things up?

Whilst I'm here - does anyone know what might cause this prob, or otherwise
have experience of 3.2.3 on arm?

If anyone else want to try these packages they are here at the moment:
http://www.aleph1.co.uk/armlinux/toolchain/

Once we have a set that are shown to work I'll put them in debian and in
emdebian.

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/     play: http://www.chaos.org.uk/~wookey/



Reply to: