Do not autodetect 64-bit archs, have them tell be 'select'-ing ARCH_64 in the configuration.

/trunk/scripts/crosstool.sh  |   12     5     7     0 +++++-------
 /trunk/docs/overview.txt     |    6     6     0     0 ++++++
 /trunk/config/target.in      |    4     4     0     0 ++++
 /trunk/config/arch/x86_64.in |    1     1     0     0 +
 /trunk/config/arch/ia64.in   |    1     1     0     0 +
 5 files changed, 17 insertions(+), 7 deletions(-)
This commit is contained in:
Yann E. MORIN" 2008-11-07 08:09:42 +00:00
parent 15d657ce4e
commit f9f70c5ad6
5 changed files with 17 additions and 7 deletions

View File

@ -2,6 +2,7 @@
# EXPERIMENTAL
config ARCH_ia64
select ARCH_64
select ARCH_SUPPORTS_BOTH_ENDIAN
help
The ia64 architecture, as defined by:

View File

@ -1,6 +1,7 @@
# x86_64 specific options
config ARCH_x86_64
select ARCH_64
select ARCH_SUPPORT_ARCH
select ARCH_SUPPORT_CPU
select ARCH_SUPPORT_TUNE

View File

@ -5,6 +5,10 @@ menu "Target options"
config ARCH
string
config ARCH_64
bool
default n
# Pre-declare target optimisation variables
config ARCH_SUPPORT_ARCH
config ARCH_SUPPORT_ABI

View File

@ -565,12 +565,18 @@ The architecture's ".in" file API:
The ARM architecture.
+ optional:
selects adequate associated config options.
Note: 64-bit architectures *shall* select ARCH_64
Eg.:
config ARCH_arm
select ARCH_SUPPORTS_BOTH_ENDIAN
select ARCH_DEFAULT_LE
help
The ARM architecture.
Eg.:
config ARCH_x86_64
select ARCH_64
help
The x86_64 architecture.
> other target-specific options, at your discretion. Note however that to
avoid name-clashing, such options shall be prefixed with "ARCH_%arch%",

View File

@ -267,13 +267,11 @@ if [ -z "${CT_RESTART}" ]; then
# Now, in case we're 64 bits, just have lib64/ be a symlink to lib/
# so as to have all libraries in the same directory (we can do that
# because we are *not* multilib).
case "${CT_TARGET}" in
powerpc64*|ppc64*|x86_64*)
ln -sf "lib" "${CT_SYSROOT_DIR}/lib64"
ln -sf "lib" "${CT_SYSROOT_DIR}/usr/lib64"
ln -sf "sys-root/lib" "${CT_PREFIX_DIR}/${CT_TARGET}/lib64"
;;
esac
if [ "${CT_ARCH_64}" = "y" ]; then
ln -sf "lib" "${CT_SYSROOT_DIR}/lib64"
ln -sf "lib" "${CT_SYSROOT_DIR}/usr/lib64"
ln -sf "sys-root/lib" "${CT_PREFIX_DIR}/${CT_TARGET}/lib64"
fi
# Canadian-cross are really picky on the way they are built. Tweak the values.
CT_UNIQ_BUILD=$(echo "${CT_BUILD}" |sed -r -e 's/-/-build_/')