dropbear fails on uClinux ARM NOMMU target with gcc-3.4.5 but not gcc-2.95.3

George McCollister georgem at novatech-llc.com
Sat Jan 7 00:46:47 WST 2006


Jamie Lokier wrote:

>Jamie Lokier wrote:
>  
>
>>I've also seen problems with dropbear-0.48 and gcc-3.4.3, but the
>>problems I see are different: spurious memory accesses to addresses
>>that shouldn't be accessed.
>>
>>I switched from gcc-2.95 at the same time as moving from
>>dropbear-0.47, so haven't narrowed down whether it's a compiler
>>problem, or a dropbear problem.
>>    
>>
>
>Ah, in case it wasn't clear, I'm also using ARM NOMMU uCLinux.
>
>Evidently not the same toolchain though (different GCC version).  Is
>there an authoritative "good" toolchain?  I am quite confused about
>the different toolchains around for these systems - no version in
>particular seems to stand out as particularly recommended.
>
>-- Jamie
>  
>
Jamie and Matt,
I'm going to try O1 and O0. I'll post my results in a few hours.

Jamie,

<rant>
You should be confused because it very confusing!

This is what I see (maybe I'm confused too).

The official uclinux-elf-tools can be found here:
http://www.uclinux.org/pub/uClinux/m68k-elf-tools/

The problem is that this toolchain hasn't been updated since 20030314. 
Infact uClinux doesn't support ARM NOMMU as a target for 2.6.x kernels! 
Even if you get the patches to fix ARM NOMMU in 2.6.x this toolchain 
won't build a working kernel.

There is an official experimental gcc 3.x toolchain which can be found here:
http://www.uclinux.org/pub/uClinux/m68k-elf-tools/gcc-3/

I don't trust this toolchain for a couple of reasons. Mainly it seems 
this is a m68k toolchain with ARM added as an after thought. Secondly it 
seems like a bad idea to use this tool chain to compile 2.6.x arm nommu 
kernels when they don't even offer it as a target in their distribution.

Which brings me to:
http://opensrc.sec.samsung.com/
The place to get 2.6.x patches to re-add for MMU less ARM.

As far as I can tell this is the best place to go for all of your 2.6.x 
ARM MMU less needs.
They provide a 2.95.3 tool chain (this is the one I'm using. Its the 
only one I've found that actually compiles 2.6.x)
They also provide a GCC 3.4.0 tool chain. I wasn't able to get this one 
to work. (I'll try again now that I've learned a lot).
http://opensrc.sec.samsung.com/download.html

One thing that has me confused is that between 2.95.x and 3.4.x they 
switch from target arm-elf to arm-uclinux. I also do not like the 3.4.x 
version at this site because they try to install themselves under /root. 
I firmly believe that when you are working with cross compilers and 
cross compiled kernels you don't want to be root on your host. The last 
thing I need is to accidently break my linux install by getting arm 
libraries and binaries mixed up with valid files.

One very odd problem seems to be that on the 3.4.x tools chains 
(including the one I built) you need to modify elf2flt.ld otherwise your 
user mode applications using the binflt executable format have trouble 
finding the relocation data.
http://mailman.uclinux.org/pipermail/uclinux-dev/2005-June/033243.html

With all of the old toolchains, most of which I can't find 
source/patches/configuration to reproduce I decided enough was enough. 
By building my own tool chain at least I'll begin to learn whats going 
on and have the freedom to try different combinations of binutils and 
gcc and different configuration parameters. Maybe at some point this 
could even help other people that are having similar issues.

Unfortunately this plan isn't perfect as we can see by the fact that 
dropbear isn't working with my toolchain.
</rant>


This message is for the designated recipient only and may contain
privileged, proprietary, or otherwise private information.  If you have
received it in error, please notify the sender immediately and delete
the original.  Any other use of the email by you is prohibited.


This message is for the designated recipient only and may contain
privileged, proprietary, or otherwise private information.  If you have
received it in error, please notify the sender immediately and delete
the original.  Any other use of the email by you is prohibited.



More information about the Dropbear mailing list