Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 414395 - toolchain.eclass: armv7{a,r,m} should be convert after (l|be) strip
Summary: toolchain.eclass: armv7{a,r,m} should be convert after (l|be) strip
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: ARM Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-02 17:15 UTC by Bertrand Jacquin
Modified: 2012-05-10 05:05 UTC (History)
0 users

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 Bertrand Jacquin 2012-05-02 17:15:43 UTC
When you want to build a toolchain that contain endianess in name for exemple :

armv5tel-softfloat-linux-uclibc

give --with-arch=armv5te passed to configure. But for

armv7al-hardfloat-linux-uclibc

give --with-arch=armv7al passed to configure, which is bad (see gcc/config.gcc in buildtree). This is done by :

  # Convert armv7{a,r,m} to armv7-{a,r,m}
  [[ ${arm_arch} == armv7? ]] && arm_arch=${arm_arch/7/7-}
  # Remove endian ('l' / 'eb')
  [[ ${arm_arch} == *l  ]] && arm_arch=${arm_arch%l}
  [[ ${arm_arch} == *eb ]] && arm_arch=${arm_arch%eb}
  confgcc+=" --with-arch=${arm_arch}"

Inverting convert and endian strip would give --with-arch=armv7-a


Reproducible: Always

Steps to Reproduce:
1. crossdev -t armv7al-hardfloat-linux-uclibc
2.
3.
Comment 1 SpanKY gentoo-dev 2012-05-10 05:05:06 UTC
thanks, i've moved the endian fixups first, and extended them to be tolerant of the stupid variations that exist in real life (i'd point out that "armvtel" is invalid -- there isn't supposed to be an "e" there).

http://sources.gentoo.org/eclass/toolchain.eclass?r1=1.533&r2=1.534