Add support for powerpc64, along with an EXPERIMENTAL sample.

/trunk/scripts/build/arch/powerpc64.sh                      |   21     1    20     0 -
 /trunk/scripts/build/arch/powerpc.sh                        |   21     1    20     0 -
 /trunk/samples/powerpc64-unknown-linux-gnu/crosstool.config |  388   388     0     0 +++++++++++++++++++
 /trunk/samples/powerpc64-unknown-linux-gnu/reported.by      |    3     3     0     0 +
 /trunk/config/arch/powerpc-powerpc64.in-common              |   12     4     8     0 -
 /trunk/config/arch/powerpc.in                               |   15     0    15     0 -
 /trunk/config/arch/powerpc64.in                             |   19     3    16     0 -
 7 files changed, 400 insertions(+), 79 deletions(-)
This commit is contained in:
Yann E. MORIN" 2009-01-31 17:39:35 +00:00
parent 04fa7e0569
commit 94e376af77
8 changed files with 450 additions and 35 deletions

View File

@ -0,0 +1,21 @@
# powerpc and powerpc64 common options
if ARCH_powerpc || ARCH_powerpc64
config ARCH_POWERPC_SPE
bool
prompt "Enable SPE support"
default n
help
Add support for the Signal Processing Engine. This will set up
the toolchain so that it supports the SPE ABI extensions. This
mainly targets Freescale e500 processors.
Setting this option will append "spe" to the end of your target
tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc
configure/build system will know to include SPE ABI support.
It will also automatically add "-mabi=spe -mspe" to your
TARGET_CFLAGS, and "--enable-e500_double" to your CC_EXTRA_CONFIG,
so you do not need to explicitly add them.
endif # ARCH_powerpc || ARCH_powerpc64

View File

@ -8,18 +8,3 @@ config ARCH_powerpc
The PowerPC architecture, as defined by:
http://www.ibm.com/developerworks/eserver/articles/archguide.html
config ARCH_POWERPC_SPE
bool
prompt "Enable SPE support"
default n
help
Add support for the Signal Processing Engine. This will set up
the toolchain so that it supports the SPE ABI extensions. This
mainly targets Freescale e500 processors.
Setting this option will append "spe" to the end of your target
tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc
configure/build system will know to include SPE ABI support.
It will also automatically add "-mabi=spe -mspe" to your
TARGET_CFLAGS, and "--enable-e500_double" to your CC_EXTRA_CONFIG,
so you do not need to explicitly add them.

12
config/arch/powerpc64.in Normal file
View File

@ -0,0 +1,12 @@
# powerpc specific configuration file
# EXPERIMENTAL
config ARCH_powerpc64
select ARCH_64
select ARCH_SUPPORT_ABI
select ARCH_SUPPORT_CPU
select ARCH_SUPPORT_TUNE
help
The PowerPC architecture, as defined by:
http://www.ibm.com/developerworks/eserver/articles/archguide.html

View File

@ -0,0 +1,388 @@
#
# Automatically generated make config: don't edit
# crosstool-NG version: svn_trunk@1347M
# Sat Jan 31 18:29:59 2009
#
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
# CT_OBSOLETE is not set
CT_EXPERIMENTAL=y
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
CT_WORK_DIR="${CT_TOP_DIR}/targets"
CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}"
CT_INSTALL_DIR="${CT_PREFIX_DIR}"
# CT_CUSTOM_PATCH is not set
CT_REMOVE_DOCS=y
CT_INSTALL_DIR_RO=y
#
# Downloading
#
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
# CT_USE_PROXY is not set
CT_PROXY_TYPE="none"
CT_USE_MIRROR=y
# CT_PREFER_MIRROR is not set
CT_MIRROR_HTTP=y
# CT_MIRROR_FTP is not set
CT_MIRROR_SCHEME="http"
CT_MIRROR_HOSTNAME="ymorin.is-a-geek.org"
CT_MIRROR_BASE="/mirrors"
# CT_MIRROR_LS_R is not set
CT_CONNECT_TIMEOUT=10
# CT_ONLY_DOWNLOAD is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
#
# Build behavior
#
CT_PARALLEL_JOBS=1
CT_LOAD=0
CT_NICE=0
CT_USE_PIPES=y
# CT_CONFIG_SHELL_ASH is not set
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set
# CT_LOG_ALL is not set
CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y
#
# Target options
#
CT_ARCH="powerpc64"
CT_ARCH_64=y
# CT_ARCH_SUPPORT_ARCH is not set
CT_ARCH_SUPPORT_ABI=y
CT_ARCH_SUPPORT_CPU=y
CT_ARCH_SUPPORT_TUNE=y
# CT_ARCH_SUPPORT_FPU is not set
# CT_ARCH_SUPPORTS_BOTH_ENDIAN is not set
# CT_ARCH_DEFAULT_BE is not set
# CT_ARCH_DEFAULT_LE is not set
CT_ARCH_ABI=""
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_FLOAT_HW=y
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
#
# General target options
#
# CT_ARCH_alpha is not set
# CT_ARCH_arm is not set
# CT_ARCH_ia64 is not set
# CT_ARCH_mips is not set
# CT_ARCH_powerpc is not set
CT_ARCH_powerpc64=y
# CT_ARCH_sh is not set
# CT_ARCH_x86 is not set
# CT_ARCH_x86_64 is not set
# CT_ARCH_POWERPC_SPE is not set
#
# Target optimisations
#
#
# Toolchain options
#
#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SHARED_LIBS=y
CT_TARGET_VENDOR=""
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Operating System
#
# CT_BARE_METAL is not set
CT_KERNEL="linux"
CT_KERNEL_VERSION="2.6.26.8"
# CT_KERNEL_bare_metal is not set
CT_KERNEL_linux=y
CT_KERNEL_LINUX_INSTALL=y
CT_KERNEL_LINUX_INSTALL_CHECK=y
# CT_KERNEL_V_2_6_18_8 is not set
# CT_KERNEL_V_2_6_19_7 is not set
# CT_KERNEL_V_2_6_20_21 is not set
# CT_KERNEL_V_2_6_21_7 is not set
# CT_KERNEL_V_2_6_22_19 is not set
# CT_KERNEL_V_2_6_23_17 is not set
# CT_KERNEL_V_2_6_24_7 is not set
# CT_KERNEL_V_2_6_25_20 is not set
# CT_KERNEL_V_2_6_26 is not set
# CT_KERNEL_V_2_6_26_1 is not set
# CT_KERNEL_V_2_6_26_2 is not set
# CT_KERNEL_V_2_6_26_3 is not set
# CT_KERNEL_V_2_6_26_4 is not set
# CT_KERNEL_V_2_6_26_5 is not set
# CT_KERNEL_V_2_6_26_6 is not set
# CT_KERNEL_V_2_6_26_7 is not set
CT_KERNEL_V_2_6_26_8=y
# CT_KERNEL_V_2_6_27 is not set
# CT_KERNEL_V_2_6_27_1 is not set
# CT_KERNEL_V_2_6_27_2 is not set
# CT_KERNEL_V_2_6_27_3 is not set
# CT_KERNEL_V_2_6_27_4 is not set
# CT_KERNEL_V_2_6_27_5 is not set
# CT_KERNEL_V_2_6_27_6 is not set
# CT_KERNEL_V_2_6_27_7 is not set
# CT_KERNEL_V_2_6_27_8 is not set
# CT_KERNEL_V_2_6_27_9 is not set
# CT_KERNEL_V_2_6_27_10 is not set
# CT_KERNEL_V_2_6_27_11 is not set
# CT_KERNEL_V_2_6_27_12 is not set
# CT_KERNEL_V_2_6_27_13 is not set
# CT_KERNEL_V_2_6_28 is not set
# CT_KERNEL_V_2_6_28_1 is not set
# CT_KERNEL_V_2_6_28_2 is not set
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_USE_CUSTOM_DIR is not set
#
# GMP and MPFR
#
CT_GMP_MPFR=y
CT_GMP_MPFR_TARGET=y
# CT_GMP_V_4_2_2 is not set
CT_GMP_V_4_2_4=y
CT_GMP_VERSION="4.2.4"
CT_GMP_CHECK=y
# CT_MPFR_V_2_3_1 is not set
CT_MPFR_V_2_3_2=y
CT_MPFR_VERSION="2.3.2"
CT_MPFR_CHECK=y
#
# binutils
#
CT_BINUTILS_VERSION="2.19"
# CT_BINUTILS_V_2_14 is not set
# CT_BINUTILS_V_2_15 is not set
# CT_BINUTILS_V_2_16_1 is not set
# CT_BINUTILS_V_2_17 is not set
# CT_BINUTILS_V_2_18 is not set
# CT_BINUTILS_V_2_18_50_0_4 is not set
# CT_BINUTILS_V_2_18_50_0_6 is not set
# CT_BINUTILS_V_2_18_50_0_7 is not set
# CT_BINUTILS_V_2_18_50_0_8 is not set
# CT_BINUTILS_V_2_18_50_0_9 is not set
# CT_BINUTILS_V_2_18_90 is not set
# CT_BINUTILS_V_2_18_91 is not set
# CT_BINUTILS_V_2_18_92 is not set
# CT_BINUTILS_V_2_18_93 is not set
CT_BINUTILS_V_2_19=y
# CT_BINUTILS_V_2_19_50_0_1 is not set
CT_BINUTILS_EXTRA_CONFIG=""
CT_BINUTILS_FOR_TARGET=y
CT_BINUTILS_FOR_TARGET_IBERTY=y
CT_BINUTILS_FOR_TARGET_BFD=y
#
# C compiler
#
CT_CC="gcc"
CT_CC_VERSION="4.3.2"
CT_CC_gcc=y
# CT_CC_V_3_2_3 is not set
# CT_CC_V_3_3_6 is not set
# CT_CC_V_3_4_6 is not set
# CT_CC_V_4_0_0 is not set
# CT_CC_V_4_0_1 is not set
# CT_CC_V_4_0_2 is not set
# CT_CC_V_4_0_3 is not set
# CT_CC_V_4_0_4 is not set
# CT_CC_V_4_1_0 is not set
# CT_CC_V_4_1_1 is not set
# CT_CC_V_4_1_2 is not set
# CT_CC_V_4_2_0 is not set
# CT_CC_V_4_2_1 is not set
# CT_CC_V_4_2_2 is not set
# CT_CC_V_4_2_3 is not set
# CT_CC_V_4_2_4 is not set
# CT_CC_V_4_3_0 is not set
# CT_CC_V_4_3_1 is not set
CT_CC_V_4_3_2=y
# CT_CC_V_4_3_3 is not set
CT_CC_GCC_4_3_or_later=y
CT_CC_CXA_ATEXIT=y
CT_CC_SJLJ_EXCEPTIONS_CONFIGURE=y
# CT_CC_SJLJ_EXCEPTIONS_USE is not set
# CT_CC_SJLJ_EXCEPTIONS_DONT_USE is not set
CT_CC_CORE_EXTRA_CONFIG=""
CT_CC_EXTRA_CONFIG=""
CT_CC_PKGVERSION="crosstool-NG-${CT_VERSION}"
CT_CC_BUGURL=""
CT_CC_LANG_JAVA_USE_ECJ=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_JAVA=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
CT_CC_LANG_FORTRAN=y
CT_CC_LANG_JAVA=y
# CT_CC_LANG_ADA is not set
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
CT_CC_LANG_OTHERS=""
CT_LIBC="glibc"
#
# C-library
#
CT_LIBC_VERSION="2.7"
# CT_LIBC_eglibc is not set
CT_LIBC_glibc=y
# CT_LIBC_uClibc is not set
# CT_LIBC_V_2_3_6 is not set
# CT_LIBC_V_2_5 is not set
# CT_LIBC_V_2_5_1 is not set
# CT_LIBC_V_2_6 is not set
# CT_LIBC_V_2_6_1 is not set
CT_LIBC_V_2_7=y
# CT_LIBC_V_2_8 is not set
# CT_LIBC_V_2_9 is not set
# CT_LIBC_V_LATEST is not set
# CT_LIBC_V_date is not set
# CT_LIBC_GLIBC_2_8_or_later is not set
#
# glibc/eglibc common options
#
CT_LIBC_GLIBC_EXTRA_CONFIG=""
CT_LIBC_GLIBC_EXTRA_CFLAGS=""
CT_LIBC_EXTRA_CC_ARGS=""
# CT_LIBC_GLIBC_USE_PORTS is not set
CT_LIBC_ADDONS_LIST=""
# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_LIBC_GLIBC_MIN_KERNEL="2.6.26.8"
#
# Common C library options
#
CT_LIBC_SUPPORT_NPTL=y
CT_LIBC_SUPPORT_LINUXTHREADS=y
CT_THREADS="nptl"
CT_THREADS_NPTL=y
# CT_THREADS_LINUXTHREADS is not set
# CT_THREADS_NONE is not set
#
# Tools facilities
#
# CT_TOOL_libelf is not set
CT_TOOL_sstrip=y
# CT_SSTRIP_ELFKICKERS is not set
CT_SSTRIP_BUILDROOT=y
CT_SSTRIP_FROM="buildroot"
#
# Debug facilities
#
CT_DEBUG_dmalloc=y
# CT_DMALLOC_V_5_4_3 is not set
CT_DMALLOC_V_5_5_2=y
CT_DMALLOC_VERSION="5.5.2"
CT_DEBUG_duma=y
CT_DUMA_A=y
CT_DUMA_SO=y
# CT_DUMA_V_2_5_1 is not set
# CT_DUMA_V_2_5_8 is not set
# CT_DUMA_V_2_5_12 is not set
CT_DUMA_V_2_5_14=y
CT_DUMA_VERSION="2_5_14"
CT_DEBUG_gdb=y
CT_GDB_CROSS=y
# CT_GDB_CROSS_STATIC is not set
# CT_GDB_CROSS_INSIGHT is not set
CT_GDB_NATIVE=y
# CT_GDB_NATIVE_STATIC is not set
CT_GDB_NATIVE_USE_GMP_MPFR=y
CT_GDB_GDBSERVER=y
CT_GDB_GDBSERVER_STATIC=y
# CT_GDB_V_6_4 is not set
# CT_GDB_V_6_5 is not set
# CT_GDB_V_6_6 is not set
# CT_GDB_V_6_7 is not set
# CT_GDB_V_6_7_1 is not set
CT_GDB_V_6_8=y
# CT_GDB_V_snapshot is not set
CT_GDB_VERSION="6.8"
#
# Native gdb needs the ncurses library on the target
#
CT_NCURSES_V_5_6=y
CT_NCURSES_VERSION="5.6"
# CT_DEBUG_ltrace is not set
CT_DEBUG_strace=y
# CT_STRACE_V_4_5 is not set
# CT_STRACE_V_4_5_14 is not set
# CT_STRACE_V_4_5_15 is not set
# CT_STRACE_V_4_5_16 is not set
CT_STRACE_V_4_5_17=y
# CT_STRACE_V_4_5_18 is not set
CT_STRACE_VERSION="4.5.17"

View File

@ -0,0 +1,3 @@
reporter_name="Yann E. MORIN"
reporter_url="http://ymorin.is-a-geek.org/dokuwiki/projects/crosstool"
reporter_comment=""

View File

@ -0,0 +1,22 @@
# Compute powerpc-specific values
CT_DoArchTupleValues () {
# The architecture part of the tuple:
CT_TARGET_ARCH="${CT_ARCH}"
# The kernel ARCH:
CT_KERNEL_ARCH=powerpc
# Add spe in the tuplet if needed
case "${CT_LIBC},${CT_ARCH_POWERPC_SPE}" in
glibc,|eglibc,) CT_TARGET_SYS=gnu;;
glibc,y|eglibc,y) CT_TARGET_SYS=gnuspe;;
esac
# Add extra flags for SPE if needed
if [ "${CT_ARCH_POWERPC_SPE}" = "y" ]; then
CT_ARCH_TARGET_CFLAGS="-mabi=spe -mspe"
CT_ARCH_CC_CORE_EXTRA_CONFIG="--enable-e500_double"
CT_ARCH_CC_EXTRA_CONFIG="--enable-e500_double"
fi
}

View File

@ -1,22 +1,3 @@
# Compute powerpc-specific values
CT_DoArchTupleValues () {
# The architecture part of the tuple:
CT_TARGET_ARCH="${CT_ARCH}"
# The kernel ARCH:
CT_KERNEL_ARCH=powerpc
# Add spe in the tuplet if needed
case "${CT_LIBC},${CT_ARCH_POWERPC_SPE}" in
glibc,|eglibc,) CT_TARGET_SYS=gnu;;
glibc,y|eglibc,y) CT_TARGET_SYS=gnuspe;;
esac
# Add extra flags for SPE if needed
if [ "${CT_ARCH_POWERPC_SPE}" = "y" ]; then
CT_ARCH_TARGET_CFLAGS="-mabi=spe -mspe"
CT_ARCH_CC_CORE_EXTRA_CONFIG="--enable-e500_double"
CT_ARCH_CC_EXTRA_CONFIG="--enable-e500_double"
fi
}
. "${CT_LIB_DIR}/scripts/build/arch/powerpc-powerpc64.sh-common"

View File

@ -0,0 +1,3 @@
# Compute powerpc-specific values
. "${CT_LIB_DIR}/scripts/build/arch/powerpc-powerpc64.sh-common"