Hi, crossdev disables multilib for arm-elf/arm-eabi toolchains. However, arm toolchains should be multilib by default, since they have to support both thumb and non-thumb code. gcc's configure is invoked with "--disable-multilib". I believe, you should add switches to crossdev in order to enable multilib. As far as I can see, crossdev-20120305 does not have such a switch, but instead diables multilib via /etc/portage/package.use.mask and /etc/portage/package.use.force Reproducible: Always
Found a workaround: crossdev -t arm-softfloat-elf --benv 'EXTRA_ECONF="--enable-multilib"' --genv 'EXTRA_ECONF="--enable-multilib"' --lenv 'EXTRA_ECONF="--enable-multilib"'
Mike, it looks related to bug 377039, what do you think?
Is multilib really needed thumb? Because it is possible to mix arm and thumb code freely within the same binaries.
(In reply to comment #3) > Is multilib really needed thumb? Because it is possible to mix arm and thumb > code freely within the same binaries. If multilib is disabled, your toolchain is arm only. No thumb libc, libgcc, etc. In order to mix thumb and arm code, you need interworking. That's a totally different topic.
(In reply to comment #4) > If multilib is disabled, your toolchain is arm only. No thumb libc, libgcc, > etc. OK, you might have your own reasons for having two copies of libc, but your "arm only" statement is just clearly misleading. > In order to mix thumb and arm code, you need interworking. That's a totally > different topic. Yes, and I do have thumb interworking without multilib. Thumb interworking is mandatory for ARM EABI after all. PS. I myself would be more interested in having "--disable-multilib --with-mode=thumb" configuration :)
should be fixed by: http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commitdiff;h=a91d41e49cbf4a87e74a878969cabbeb751929da
(In reply to comment #6) > should be fixed by: > > http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commitdiff; > h=a91d41e49cbf4a87e74a878969cabbeb751929da Thanks!