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