"arm-linux-gnueabi-gcc-4.4 -march=armv4t" silently produces "armv7" (pkgversion=Ubuntu/Linaro 4.4.5-15ubuntu1)

Matthias Klose doko at ubuntu.com
Mon Nov 14 22:41:38 UTC 2011


On 11/08/2011 10:41 AM, Steffen Dettmer wrote:
> Hi,
> 
> I hope I ask on the right place, otherwise a redirection is appreciated.
> I write here because "dpkg-query -p gcc-4.4-arm-linux-gnueabi" tells:
> Maintainer: Ubuntu Core developers <ubuntu-devel-discuss at lists.ubuntu.com>.
> On debian-arm mailinglist I learnt it could be a ubuntu-specific
> problem with the compiler package, because arm-linux-gnueabi-gcc-4.4
> (gcc-4.4 4.4.6-11) seems to work correctly.
> 
> I have to put two excuses at the begin: first, I'm not a Debian
> or Ubuntu user and not familiar with the dpkg and apt-get
> details; second, I also don't have much knowledge about
> ARM-linux. But I'm learning.
> 
> I installed 6.0.1 (according to /etc/debian_version) on an ARM board
> with v5TE architecture which is not able to execute armv7 code.
> Precompiled binaries are v4T. Now I tried to install gcc toolchain to
> build my application. On a "squeeze/sid" (according to
> /etc/debian_version) intel machine I used synaptic to install packages
> with "arm", "gnueabi" and "armel" based on guessing inspired by
> reading http://wiki.debian.org/ArmEabiPort. That documentation for me
> unfortunately is insufficient.
> 
> I tried to compile with "arm-linux-gnueabi-gcc-4.4 -march=armv4t", but
> I do not get "Tag_CPU_arch: v4T" (readelf -A) but "Tag_CPU_arch: v7".
> It seems that the tool chain was built incorrectly and specific to
> armv7; I don't find the multi-libs -- there seems to be only one
> single set of libs (libgcc.a etc)! I had expected one set for each
> combination of compiler flags (hardfloat/softfloat, arm/thumb, ....),
> so heaps of libs. I need something in between v4T, thumb, soft-float
> to maybe v5T, armmode, soft-float, interwork.
> 
> I considered to rebuilt the packages
> (gcc-4.4-arm-linux-gnueabi_4.4.5-15ubuntu1_i386.deb, others) but I
> have no clue how to do so. The build system seems to be sophisticated.

it is.

the target currently is set in debian/rules2 according to the value of the
`distribution' macro.  I assume you derive from Ubuntu and you get the default
armv7 configuration.

  Matthias




More information about the Ubuntu-devel-discuss mailing list