Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 407275 - sys-devel/crossdev disables multilib for arm toolchains
Summary: sys-devel/crossdev disables multilib for arm toolchains
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Embedded Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-07 12:45 UTC by Sven
Modified: 2022-09-06 05:50 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sven 2012-03-07 12:45:03 UTC
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
Comment 1 Sven 2012-03-08 15:22:58 UTC
Found a workaround:
crossdev -t arm-softfloat-elf --benv 'EXTRA_ECONF="--enable-multilib"' --genv 'EXTRA_ECONF="--enable-multilib"' --lenv 'EXTRA_ECONF="--enable-multilib"'
Comment 2 Christian Ruppert (idl0r) gentoo-dev 2012-04-24 01:19:36 UTC
Mike, it looks related to bug 377039, what do you think?
Comment 3 Siarhei Siamashka 2012-05-14 12:05:07 UTC
Is multilib really needed thumb? Because it is possible to mix arm and thumb code freely within the same binaries.
Comment 4 Sven 2012-05-14 12:23:20 UTC
(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.
Comment 5 Siarhei Siamashka 2012-05-14 13:10:06 UTC
(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 :)
Comment 7 Sven 2012-08-30 23:33:44 UTC
(In reply to comment #6)
> should be fixed by:
> 
> http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commitdiff;
> h=a91d41e49cbf4a87e74a878969cabbeb751929da

Thanks!