Ada ("Exotic"-language) code successfully built for ARM via CrossTool-NG 1.20.0

Colin Paul de Glocester de_Ghloucester@OpenMailBox.org
Fri Aug 21 16:17:00 GMT 2015


Dear all:

I built a cross compiler for Ada code hosted on a worktstaion running
Debian GNU/Linux 8.1 (jessie) on 8 x Intel(R) Xeon(R) E5410 2.33GHz
targeting a Raspberry Pi running Raspbian (Debian GNU/Linux).

However, CrossTool-NG did not install standard Ada libraries (which it
did build in
/home/gloucester/CrossTool-NG1.20.0_building__armv6-rpi-linux-gnueabi__with_CC_LANG_ADA/.build/armv6-rpi-linux-gnueabi/build/build-cc-final/gcc/ada/rts
) into  ~/x-tools/  therefore I needed to provide this GNAT
(GNU-Ada-Translator) toolchain with some more help for linking
Hello_RPi_World_from_Ada.adb  (reproduced below) but the simple
simple_operations.adb  (also reproduced below) did not have this
problem.

-- Hello_RPi_World_from_Ada.adb
with Text_IO;

procedure Hello_RPi_World_from_Ada is
begin
    Text_IO.Put("Dank u wel.");
end;

-- simple_operations.adb
procedure Simple_Operations is
    A,B,C : Natural;
begin
    A := 1;
    B := 2;
    C := A + B;
    C := C ** C;
    C := C - A;
end;

According to  armv6-rpi-linux-gnueabi-ct-ng.config  . . .
#
# Automatically generated make config: don't edit
# crosstool-NG 1.20.0 Configuration
# Fri Aug 21 13:41:36 2015
#
CT_CONFIGURE_has_xz=y
CT_CONFIGURE_has_cvs=y
CT_CONFIGURE_has_svn=y
CT_MODULES=y

#
# Paths and misc options
#

#
# crosstool-NG behavior
#
# CT_OBSOLETE is not set
CT_EXPERIMENTAL=y
# CT_EXPERIMENTAL_PATCHES is not set
# CT_ALLOW_BUILD_AS_ROOT is not set
# CT_DEBUG_CT is not set

#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
CT_CUSTOM_LOCATION_ROOT_DIR=""
CT_WORK_DIR="${CT_TOP_DIR}/.build"
CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}"
CT_INSTALL_DIR="${CT_PREFIX_DIR}"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
CT_INSTALL_DIR_RO=y
CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y

#
# Downloading
#
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
# CT_ONLY_DOWNLOAD is not set
CT_USE_MIRROR=y
# CT_FORCE_MIRROR is not set
CT_MIRROR_BASE_URL="http://crosstool-ng.org/mirrors/"

#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set
# CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"

#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"

#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
CT_LOG_DEBUG=y
CT_LOG_LEVEL_MAX="DEBUG"
CT_LOG_SEE_TOOLS_WARN=y
CT_LOG_TO_FILE=y
# CT_LOG_FILE_COMPRESS is not set

#
# Target options
#
CT_ARCH="arm"
CT_ARCH_SUPPORTS_BOTH_MMU=y
CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_SUPPORTS_WITH_FLOAT=y
CT_ARCH_SUPPORTS_WITH_FPU=y
CT_ARCH_SUPPORTS_SOFTFP=y
CT_ARCH_DEFAULT_HAS_MMU=y
CT_ARCH_DEFAULT_LE=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_ARCH="armv6zk"
CT_ARCH_CPU="arm1176jzf-s"
CT_ARCH_TUNE="arm1176jzf-s"
CT_ARCH_FPU="vfp"
# CT_ARCH_BE is not set
CT_ARCH_LE=y
CT_ARCH_32=y
# CT_ARCH_64 is not set
CT_ARCH_BITNESS=32
# CT_ARCH_FLOAT_HW is not set
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
# CT_ARCH_alpha is not set
CT_ARCH_arm=y
# CT_ARCH_avr32 is not set
# CT_ARCH_blackfin is not set
# CT_ARCH_m68k is not set
# CT_ARCH_microblaze is not set
# CT_ARCH_mips is not set
# CT_ARCH_powerpc is not set
# CT_ARCH_s390 is not set
# CT_ARCH_sh is not set
# CT_ARCH_sparc is not set
# CT_ARCH_x86 is not set
CT_ARCH_alpha_AVAILABLE=y
CT_ARCH_arm_AVAILABLE=y
CT_ARCH_avr32_AVAILABLE=y
CT_ARCH_blackfin_AVAILABLE=y
CT_ARCH_m68k_AVAILABLE=y
CT_ARCH_microblaze_AVAILABLE=y
CT_ARCH_mips_AVAILABLE=y
CT_ARCH_powerpc_AVAILABLE=y
CT_ARCH_s390_AVAILABLE=y
CT_ARCH_sh_AVAILABLE=y
CT_ARCH_sparc_AVAILABLE=y
CT_ARCH_x86_AVAILABLE=y
CT_ARCH_SUFFIX="v6"

#
# Generic target options
#
# CT_MULTILIB is not set
CT_ARCH_USE_MMU=y
CT_ARCH_ENDIAN="little"

#
# Target optimisations
#
CT_ARCH_FLOAT_AUTO=y
# CT_ARCH_FLOAT_SOFTFP is not set
CT_ARCH_FLOAT="auto"

#
# arm other options
#
CT_ARCH_ARM_MODE="arm"
CT_ARCH_ARM_MODE_ARM=y
# CT_ARCH_ARM_MODE_THUMB is not set
# CT_ARCH_ARM_INTERWORKING is not set
CT_ARCH_ARM_EABI_FORCE=y
CT_ARCH_ARM_EABI=y

#
# Toolchain options
#

#
# General toolchain options
#
CT_FORCE_SYSROOT=y
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
# CT_STATIC_TOOLCHAIN is not set
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""

#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="rpi"
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=""

#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set

#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
CT_KERNEL="linux"
CT_KERNEL_VERSION="3.12.24"
# CT_KERNEL_bare_metal is not set
CT_KERNEL_linux=y
CT_KERNEL_bare_metal_AVAILABLE=y
CT_KERNEL_linux_AVAILABLE=y
# CT_KERNEL_V_3_15 is not set
# CT_KERNEL_V_3_14 is not set
# CT_KERNEL_V_3_13 is not set
CT_KERNEL_V_3_12=y
# CT_KERNEL_V_3_11 is not set
# CT_KERNEL_V_3_10 is not set
# CT_KERNEL_V_3_9 is not set
# CT_KERNEL_V_3_8 is not set
# CT_KERNEL_V_3_7 is not set
# CT_KERNEL_V_3_6 is not set
# CT_KERNEL_V_3_5 is not set
# CT_KERNEL_V_3_4 is not set
# CT_KERNEL_V_3_3 is not set
# CT_KERNEL_V_3_2 is not set
# CT_KERNEL_V_3_1 is not set
# CT_KERNEL_V_3_0 is not set
# CT_KERNEL_V_2_6_39 is not set
# CT_KERNEL_V_2_6_38 is not set
# CT_KERNEL_V_2_6_37 is not set
# CT_KERNEL_V_2_6_36 is not set
# CT_KERNEL_V_2_6_33 is not set
# CT_KERNEL_V_2_6_32 is not set
# CT_KERNEL_V_2_6_31 is not set
# CT_KERNEL_V_2_6_27 is not set
# CT_KERNEL_LINUX_CUSTOM is not set
CT_KERNEL_windows_AVAILABLE=y

#
# Common kernel options
#
CT_SHARED_LIBS=y

#
# linux other options
#
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_INSTALL_CHECK=y

#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS="binutils"
CT_BINUTILS_binutils=y

#
# GNU binutils
#
# CT_BINUTILS_V_2_24 is not set
# CT_BINUTILS_V_2_23_2 is not set
# CT_BINUTILS_V_2_23_1 is not set
CT_BINUTILS_V_2_22=y
# CT_BINUTILS_V_2_21_53 is not set
# CT_BINUTILS_V_2_21_1a is not set
# CT_BINUTILS_V_2_20_1a is not set
# CT_BINUTILS_V_2_19_1a is not set
# CT_BINUTILS_V_2_18a is not set
# CT_BINUTILS_CUSTOM is not set
CT_BINUTILS_VERSION="2.22"
CT_BINUTILS_2_22_or_later=y
CT_BINUTILS_2_21_or_later=y
CT_BINUTILS_2_20_or_later=y
CT_BINUTILS_2_19_or_later=y
CT_BINUTILS_2_18_or_later=y
CT_BINUTILS_HAS_HASH_STYLE=y
CT_BINUTILS_HAS_GOLD=y
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_HAS_PLUGINS=y
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
CT_BINUTILS_FORCE_LD_BFD=y
# CT_BINUTILS_LINKER_LD is not set
CT_BINUTILS_LINKER_LD_GOLD=y
# CT_BINUTILS_LINKER_GOLD_LD is not set
CT_BINUTILS_GOLD_INSTALLED=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LINKER_BOTH=y
CT_BINUTILS_LINKERS_LIST="ld,gold"
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set

#
# binutils other options
#

#
# C-library
#
CT_LIBC="glibc"
CT_LIBC_VERSION="2.19"
# CT_LIBC_eglibc is not set
CT_LIBC_glibc=y
# CT_LIBC_musl is not set
# CT_LIBC_uClibc is not set
CT_LIBC_eglibc_AVAILABLE=y
CT_THREADS="nptl"
CT_LIBC_glibc_AVAILABLE=y
CT_LIBC_GLIBC_V_2_19=y
# CT_LIBC_GLIBC_V_2_18 is not set
# CT_LIBC_GLIBC_V_2_17 is not set
# CT_LIBC_GLIBC_V_2_16_0 is not set
# CT_LIBC_GLIBC_V_2_15 is not set
# CT_LIBC_GLIBC_V_2_14_1 is not set
# CT_LIBC_GLIBC_V_2_14 is not set
# CT_LIBC_GLIBC_V_2_13 is not set
# CT_LIBC_GLIBC_V_2_12_2 is not set
# CT_LIBC_GLIBC_V_2_12_1 is not set
# CT_LIBC_GLIBC_V_2_11_1 is not set
# CT_LIBC_GLIBC_V_2_11 is not set
# CT_LIBC_GLIBC_V_2_10_1 is not set
# CT_LIBC_GLIBC_V_2_9 is not set
# CT_LIBC_GLIBC_V_2_8 is not set
CT_LIBC_mingw_AVAILABLE=y
CT_LIBC_musl_AVAILABLE=y
CT_LIBC_newlib_AVAILABLE=y
CT_LIBC_none_AVAILABLE=y
CT_LIBC_uClibc_AVAILABLE=y
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y

#
# Common C library options
#
CT_THREADS_NATIVE=y
CT_LIBC_XLDD=y
# CT_LIBC_GLIBC_PORTS_EXTERNAL is not set
CT_LIBC_GLIBC_MAY_FORCE_PORTS=y
CT_LIBC_glibc_familly=y
CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY=""
CT_LIBC_GLIBC_CONFIGPARMS=""
CT_LIBC_GLIBC_EXTRA_CFLAGS=""
CT_LIBC_EXTRA_CC_ARGS=""
# CT_LIBC_ENABLE_FORTIFIED_BUILD is not set
# CT_LIBC_DISABLE_VERSIONING is not set
CT_LIBC_OLDEST_ABI=""
CT_LIBC_GLIBC_FORCE_UNWIND=y
CT_LIBC_GLIBC_USE_PORTS=y
CT_LIBC_ADDONS_LIST=""
CT_LIBC_LOCALES=y
# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
# CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS is not set
CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN=y
CT_LIBC_GLIBC_MIN_KERNEL_VERSION="3.2.27"
CT_LIBC_GLIBC_MIN_KERNEL="3.2.27"

#
# glibc other options
#

#
# WARNING !!!
#

#
#   For glibc >= 2.8, it can happen that the tarballs
#

#
#   for the addons are not available for download.
#

#
#   If that happens, bad luck... Try a previous version
#

#
#   or try again later... :-(
#

#
# WARNING!
#

#
#   The built locales will be usable if and only if the build
#

#
#   machine and the target:
#

#
#    - have the same endianness,
#

#
#    - and have the same alignment requirements for uint32_t.
#

#
#   You will have to check by yourself (for now).
#

#
# C compiler
#
CT_CC="gcc"
CT_CC_VERSION="4.9.1"
CT_CC_CORE_PASSES_NEEDED=y
CT_CC_CORE_PASS_1_NEEDED=y
CT_CC_CORE_PASS_2_NEEDED=y
CT_CC_gcc=y
CT_CC_GCC_SHOW_LINARO=y
CT_CC_V_4_9_1=y
# CT_CC_V_4_9_0 is not set
# CT_CC_V_linaro_4_8 is not set
# CT_CC_V_4_8_3 is not set
# CT_CC_V_4_8_2 is not set
# CT_CC_V_4_8_1 is not set
# CT_CC_V_4_8_0 is not set
# CT_CC_V_linaro_4_7 is not set
# CT_CC_V_4_7_4 is not set
# CT_CC_V_4_7_3 is not set
# CT_CC_V_4_7_2 is not set
# CT_CC_V_4_7_1 is not set
# CT_CC_V_4_7_0 is not set
# CT_CC_V_linaro_4_6 is not set
# CT_CC_V_4_6_4 is not set
# CT_CC_V_4_6_3 is not set
# CT_CC_V_4_6_2 is not set
# CT_CC_V_4_6_1 is not set
# CT_CC_V_4_6_0 is not set
# CT_CC_V_linaro_4_5 is not set
# CT_CC_V_4_5_3 is not set
# CT_CC_V_4_5_2 is not set
# CT_CC_V_4_5_1 is not set
# CT_CC_V_4_5_0 is not set
# CT_CC_V_linaro_4_4 is not set
# CT_CC_V_4_4_7 is not set
# CT_CC_V_4_4_6 is not set
# CT_CC_V_4_4_5 is not set
# CT_CC_V_4_4_4 is not set
# CT_CC_V_4_4_3 is not set
# CT_CC_V_4_4_2 is not set
# CT_CC_V_4_4_1 is not set
# CT_CC_V_4_4_0 is not set
# CT_CC_V_4_3_6 is not set
# CT_CC_V_4_3_5 is not set
# CT_CC_V_4_3_4 is not set
# CT_CC_V_4_3_3 is not set
# CT_CC_V_4_3_2 is not set
# CT_CC_V_4_3_1 is not set
# CT_CC_V_4_2_4 is not set
# CT_CC_V_4_2_2 is not set
# CT_CC_CUSTOM is not set
CT_CC_GCC_4_2_or_later=y
CT_CC_GCC_4_3_or_later=y
CT_CC_GCC_4_4_or_later=y
CT_CC_GCC_4_5_or_later=y
CT_CC_GCC_4_6_or_later=y
CT_CC_GCC_4_7_or_later=y
CT_CC_GCC_4_8_or_later=y
CT_CC_GCC_4_9=y
CT_CC_GCC_4_9_or_later=y
CT_CC_GCC_HAS_GRAPHITE=y
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_HAS_LTO=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_HAS_PKGVERSION_BUGURL=y
CT_CC_GCC_HAS_BUILD_ID=y
CT_CC_GCC_HAS_LNK_HASH_STYLE=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_GOLD=y
CT_CC_GCC_USE_GMP_MPFR=y
CT_CC_GCC_USE_MPC=y
CT_CC_GCC_HAS_LIBQUADMATH=y
CT_CC_GCC_HAS_LIBSANITIZER=y
# CT_CC_LANG_FORTRAN is not set
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
CT_CC_SUPPORT_GOLANG=y

#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_JAVA is not set
CT_CC_LANG_ADA=y
# CT_CC_LANG_OBJC is not set
# CT_CC_LANG_OBJCXX is not set
# CT_CC_LANG_GOLANG is not set
CT_CC_LANG_OTHERS=""

#
# gcc other options
#
CT_CC_ENABLE_CXX_FLAGS=""
CT_CC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_EXTRA_CONFIG_ARRAY=""
# CT_CC_STATIC_LIBSTDCXX is not set
# CT_CC_GCC_SYSTEM_ZLIB is not set

#
# Optimisation features
#

#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBGOMP is not set
# CT_CC_GCC_LIBSSP is not set
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set

#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_DISABLE_PCH=y
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
CT_CC_GCC_BUILD_ID=y
# CT_CC_GCC_LNK_HASH_STYLE_DEFAULT is not set
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
CT_CC_GCC_LNK_HASH_STYLE_BOTH=y
CT_CC_GCC_LNK_HASH_STYLE="both"
CT_CC_GCC_DEC_FLOAT_AUTO=y
# CT_CC_GCC_DEC_FLOAT_BID is not set
# CT_CC_GCC_DEC_FLOAT_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set

#
# Debug facilities
#
# CT_DEBUG_dmalloc is not set
# CT_DEBUG_duma is not set
CT_DEBUG_gdb=y
CT_GDB_CROSS=y
# CT_GDB_CROSS_STATIC is not set
# CT_GDB_CROSS_SIM is not set
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
# CT_GDB_NATIVE is not set
CT_GDB_GDBSERVER=y
CT_GDB_GDBSERVER_HAS_IPA_LIB=y
CT_GDB_GDBSERVER_STATIC=y

#
# gdb version
#
# CT_DEBUG_GDB_SHOW_LINARO is not set
CT_GDB_V_7_8=y
# CT_GDB_V_7_7_1 is not set
# CT_GDB_V_7_7 is not set
# CT_GDB_V_7_6_1 is not set
# CT_GDB_V_7_5_1 is not set
# CT_GDB_V_7_4_1 is not set
# CT_GDB_V_7_4 is not set
# CT_GDB_V_7_3_1 is not set
# CT_GDB_V_7_3a is not set
# CT_GDB_V_7_2a is not set
# CT_GDB_V_7_1a is not set
# CT_GDB_V_7_0_1a is not set
# CT_GDB_V_7_0a is not set
# CT_GDB_V_6_8a is not set
# CT_GDB_CUSTOM is not set
CT_GDB_7_2_or_later=y
CT_GDB_7_0_or_later=y
CT_GDB_HAS_PKGVERSION_BUGURL=y
CT_GDB_HAS_PYTHON=y
CT_GDB_INSTALL_GDBINIT=y
CT_GDB_VERSION="7.8"
# CT_DEBUG_ltrace is not set
# CT_DEBUG_strace is not set

#
# Companion libraries
#
CT_COMPLIBS_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_CLOOG_NEEDED=y
CT_MPC_NEEDED=y
CT_COMPLIBS=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_CLOOG=y
CT_MPC=y
CT_GMP_V_5_1_3=y
# CT_GMP_V_5_1_1 is not set
# CT_GMP_V_5_0_2 is not set
# CT_GMP_V_5_0_1 is not set
# CT_GMP_V_4_3_2 is not set
# CT_GMP_V_4_3_1 is not set
# CT_GMP_V_4_3_0 is not set
CT_GMP_VERSION="5.1.3"
CT_MPFR_V_3_1_2=y
# CT_MPFR_V_3_1_0 is not set
# CT_MPFR_V_3_0_1 is not set
# CT_MPFR_V_3_0_0 is not set
# CT_MPFR_V_2_4_2 is not set
# CT_MPFR_V_2_4_1 is not set
# CT_MPFR_V_2_4_0 is not set
CT_MPFR_VERSION="3.1.2"
CT_ISL_V_0_12_2=y
# CT_ISL_V_0_11_1 is not set
CT_ISL_VERSION="0.12.2"
CT_CLOOG_V_0_18_1=y
# CT_CLOOG_V_0_18_0 is not set
CT_CLOOG_VERSION="0.18.1"
CT_CLOOG_0_18_or_later=y
CT_MPC_V_1_0_2=y
# CT_MPC_V_1_0_1 is not set
# CT_MPC_V_1_0 is not set
# CT_MPC_V_0_9 is not set
# CT_MPC_V_0_8_2 is not set
# CT_MPC_V_0_8_1 is not set
# CT_MPC_V_0_7 is not set
CT_MPC_VERSION="1.0.2"

#
# Companion libraries common options
#
# CT_COMPLIBS_CHECK is not set

#
# Companion tools
#

#
# READ HELP before you say 'Y' below !!!
#
# CT_COMP_TOOLS is not set

#
# Test suite
#
# CT_TEST_SUITE_GCC is not set

According to  uname -a  on the target . . .
Linux [. . .] 3.12.33+ #722 PREEMPT Sat Nov 22 12:03:51 GMT 2014 armv6l GNU/Linux

According to  armv6-rpi-linux-gnueabi-gnatmake  (without arguments):
Usage: armv6-rpi-linux-gnueabi-gnatmake  opts  name  {[-cargs opts]
[-bargs opts] [-largs opts] [-margs opts]}

   name is one or more file name from which you can omit the .adb or
   .ads suffix

gnatmake switches:
   --version   Display version and exit
   --help      Display usage and exit

   -a       Consider all files, even readonly ali files
   -b       Bind only
   -B       Build, bind and link full project
   -c       Compile only
   -C       Cache source mappings: invoke compiler with temp mapping
   -file
   -C=mapp  Cache source mappings: invoke compiler with mapping file
   -mapp
   -D dir   Specify dir as the object directory
   -eI      Index of unit in multi-unit source file
   -eL      Follow symbolic links when processing project files
   -eS      Echo commands to stdout instead of stderr
   -f       Force recompilations of non predefined units
   -F       Full project path name in brief error messages
   -i       In place. Replace existing ali file, or put it with source
   -jnum    Use nnn processes to compile
   -k       Keep going after compilation errors
   -l       Link only
   -m       Minimal recompilation
   -M       List object file dependences for Makefile
   -n       Check objects up to date, output next file to compile if
   -not
   -o name  Choose an alternate executable name
   -p       Create missing obj, lib and exec dirs
   -Pproj   Use GNAT Project File proj
   -q       Be quiet/terse
   -R       Do not use a run_path_option when linking
   -s       Recompile if compiler switches have changed
   -u       Unique compilation, only compile the given files
   -U       Unique compilation for all sources of all projects
   -v       Display reasons for all (re)compilations
   -vl      Verbose output (low verbosity)
   -vm      Verbose output (medium verbosity)
   -vh      Equivalent to -v (high verbosity)
   -vPx     Specify verbosity when parsing GNAT Project Files
   -we      Treat all warnings as errors
   -wn      Normal warning mode (cancels -we/-ws)
   -ws      Suppress all warnings
   -x       Allow compilation of needed units external to the projects
   -Xnm=val Specify an external reference for GNAT Project Files
   -z       No main subprogram (zero main)

   --create-map-file   Create map file mainprog.map
   --create-map-file=mapfile
                       Create map file mapfile
   --GCC=command       Use this gcc command
   --GNATBIND=command  Use this gnatbind command
   --GNATLINK=command  Use this gnatlink command

Project, Source and Library search path switches:
   -aPdir    Add directory dir to project search path
   -aLdir    Skip missing library sources if ali in dir
   -Adir     like -aLdir -aIdir
   -aOdir    Specify library/object files search path
   -aIdir    Specify source files search path
   -Idir     Like -aIdir -aOdir
   -I-       Don't look for sources & library files in the default
   directory
   -Ldir     Look for program libraries also in dir
   -nostdinc Don't look for sources in the system default directory
   -nostdlib Don't look for library files in the system default
   directory
   --RTS=dir specify the default source and object search path
   --subdirs=dir real obj/lib/exec dirs are subdirs
   --source-info=file specify a source info file
   --unchecked-shared-lib-imports
             Allow shared libraries to import static libraries

To pass an arbitrary switch to the Compiler, Binder or Linker:
   -cargs opts   opts are passed to the compiler
   -bargs opts   opts are passed to the binder
   -largs opts   opts are passed to the linker
   -margs opts   opts are passed to gnatmake

Compiler switches (passed to the compiler by gnatmake):

   -fstack-check Generate stack checking code
   -fno-inline   Inhibit all inlining (makes executable smaller)
   -fpreserve-control-flow Preserve control flow for coverage analysis
   -g            Generate debugging information
   -Idir         Specify source files search path
   -I-           Do not look for sources in current directory
   -O[0123]      Control the optimization level

   -gnata    Assertions enabled. Pragma Assert/Debug to be activated
   -gnatA    Avoid processing gnat.adc, if present file will be ignored
   -gnatb    Generate brief messages to stderr even if verbose mode set
   -gnatB    Assume no bad (invalid) values except in 'Valid attribute
   -gnatc    Check syntax and semantics only (no code generation)
   -gnatC    Generate CodePeer intermediate format (no code generation)
   -gnatd?   Compiler debug option ? ([.]a-z,A-Z,0-9), see debug.adb
   -gnatD    Debug expanded generated code (max line length = 72)
   -gnatDnn  Debug expanded generated code (max line length = nn)
   -gnateA   Aliasing checks on subprogram parameters
   -gnatec=? Specify configuration pragmas file, e.g. -gnatec=/x/f.adc
   -gnateC   Generate CodePeer messages (ignored without -gnatcC)
   -gnated   Disable synchronization of atomic variables
   -gnateD?  Define or redefine preprocessing symbol,
   -e.g. -gnateDsym=val
   -gnateE   Generate extra information in exception messages
   -gnatef   Full source path in brief error messages
   -gnateF   Check overflow on predefined Float types
   -gnateG   Generate preprocessed source
   -gnateinn Set maximum number of instantiations to nn
   -gnateInn Index in multi-unit source, e.g. -gnateI2
   -gnatel   Turn on info messages on generated Elaborate[_All] pragmas
   -gnateL   Turn off info messages on generated Elaborate[_All]
   -pragmas
   -gnatem=? Specify mapping file, e.g. -gnatem=mapping
   -gnatep=? Specify preprocessing data file, e.g. -gnatep=prep.data
   -gnateP   Pure/Prelaborate errors generate warnings rather than
   -errors
   -gnateS   Generate SCO (Source Coverage Obligation) information
   -gnatet=? Write target dependent information file ?, e.g. gnatet=tdf
   -gnateT=? Read target dependent information file ?, e.g. gnateT=tdf
   -gnateu   Ignore unrecognized style/validity/warning switches
   -gnateV   Validity checks on subprogram parameters
   -gnateY   Ignore all Style_Checks pragmas in source
   -gnatE    Dynamic elaboration checking mode enabled
   -gnatf    Full errors. Verbose details, all undefined references
   -gnatF    Force all import/export external names to all uppercase
   -gnatg    GNAT implementation mode (used for compiling GNAT units)
   -gnatG    Output generated expanded code (max line length = 72)
   -gnatGnn  Output generated expanded code (max line length = nn)
   -gnath    Output this usage (help) information
   -gnati?   Identifier char set (?=1/2/3/4/5/8/9/p/f/n/w)
   -gnatI    Ignore all representation clauses
   -gnatjnn  Format error and warning messages to fit nn character
   -lines
   -gnatk    Limit file names to nn characters (k = krunch)
   -gnatl    Output full source listing with embedded error messages
   -gnatl=f  Output full source listing to specified file
   -gnatL    List corresponding source text in -gnatG or -gnatD output
   -gnatmnn  Limit number of detected errors/warnings to nn (1-999999)
   -gnatn[?] Enable pragma Inline (both within and across units, ?=1/2)
   -gnato    Enable overflow checking mode to CHECKED (off by default)
   -gnato?   Enable overflow checks in STRICT/MINIMIZED/ELIMINATED
   -(1/2/3) mode
   -gnato??  Set mode for general/assertion expressions separately
   -gnatp    Suppress all checks
   -gnatP    Generate periodic calls to System.Polling.Poll
   -gnatq    Don't quit, try semantics, even if parse errors
   -gnatQ    Don't quit, write ali/tree file even if compile errors
   -gnatr    Treat pragma Restrictions as Restriction_Warnings
   -gnatR?   List rep info (?=0/1/2/3/m for
   -none/types/all/variable/mechanisms)
   -gnatR?s  List rep info to file.rep instead of standard output
   -gnats    Syntax check only
   -gnatS    Print listing of package Standard
   -gnatt    Tree output file to be generated
   -gnatTnn  All compiler tables start at nn times usual starting size
   -gnatu    List units for this compilation
   -gnatU    Enable unique tag for error messages
   -gnatv    Verbose mode. Full error output with source lines to
   -stdout
   -gnatVxx  Enable selected validity checking mode, xx = list of
   -parameters:
         a    turn on all validity checking options
         c    turn on checking for copies
         C    turn off checking for copies
         d    turn on default (RM) checking
         D    turn off default (RM) checking
         e    turn on checking for elementary components
         E    turn off checking for elementary components
         f    turn on checking for floating-point
         F    turn off checking for floating-point
         i    turn on checking for in params
         I    turn off checking for in params
         m    turn on checking for in out params
         M    turn off checking for in out params
         o    turn on checking for operators/attributes
         O    turn off checking for operators/attributes
         p    turn on checking for parameters
         P    turn off checking for parameters
         r    turn on checking for returns
         R    turn off checking for returns
         s    turn on checking for subscripts
         S    turn off checking for subscripts
         t    turn on checking for tests
         T    turn off checking for tests
         n    turn off all validity checks (including RM)
   -gnatwxx  Enable selected warning modes, xx = list of parameters:
         *    indicates default setting
         +    indicates warning flag included in -gnatwa
         a    turn on all info/warnings marked below with +
         A    turn off all optional info/warnings
         .a*+ turn on warnings for failing assertion
         .A   turn off warnings for failing assertion
         b+   turn on warnings for bad fixed value (not multiple of
   -small)
         B*   turn off warnings for bad fixed value (not multiple of
   -small)
         .b*+ turn on warnings for biased representation
         .B   turn off warnings for biased representation
         c+   turn on warnings for constant conditional
         C*   turn off warnings for constant conditional
         .c+  turn on warnings for unrepped components
         .C*  turn off warnings for unrepped components
         d    turn on warnings for implicit dereference
         D*   turn off warnings for implicit dereference
         .d   turn on tagging of warnings with -gnatw switch
         .D*  turn off tagging of warnings with -gnatw switch
         e    treat all warnings (but not info) as errors
         .e   turn on every optional info/warning (no exceptions)
         f+   turn on warnings for unreferenced formal
         F*   turn off warnings for unreferenced formal
         g*+  turn on warnings for unrecognized pragma
         G    turn off warnings for unrecognized pragma
         h    turn on warnings for hiding declarations
         H*   turn off warnings for hiding declarations
         .h   turn on warnings for holes in records
         .H*  turn off warnings for holes in records
         i*+  turn on warnings for implementation unit
         I    turn off warnings for implementation unit
         .i*+ turn on warnings for overlapping actuals
         .I   turn off warnings for overlapping actuals
         j+   turn on warnings for obsolescent (annex J) feature
         J*   turn off warnings for obsolescent (annex J) feature
         k+   turn on warnings on constant variable
         K*   turn off warnings on constant variable
         .k   turn on warnings for standard redefinition
         .K*  turn off warnings for standard redefinition
         l    turn on warnings for elaboration problems
         L*   turn off warnings for elaboration problems
         .l   turn on info messages for inherited aspects
         .L*  turn off info messages for inherited aspects
         m+   turn on warnings for variable assigned but not read
         M*   turn off warnings for variable assigned but not read
         .m*  turn on warnings for suspicious modulus value
         .M   turn off warnings for suspicious modulus value
         n*   normal warning mode (cancels -gnatws/-gnatwe)
         .n   turn on info messages for atomic synchronization
         .N*  turn off info messages for atomic synchronization
         o*   turn on warnings for address clause overlay
         O    turn off warnings for address clause overlay
         .o   turn on warnings for out parameters assigned but not read
         .O*  turn off warnings for out parameters assigned but not
   -read
         p+   turn on warnings for ineffective pragma Inline in
   -frontend
         P*   turn off warnings for ineffective pragma Inline in
   -frontend
         .p+  turn on warnings for suspicious parameter order
         .P*  turn off warnings for suspicious parameter order
         q*+  turn on warnings for questionable missing parenthesis
         Q    turn off warnings for questionable missing parenthesis
         r+   turn on warnings for redundant construct
         R*   turn off warnings for redundant construct
         .r+  turn on warnings for object renaming function
         .R*  turn off warnings for object renaming function
         s    suppress all info/warnings
         .s   turn on warnings for overridden size clause
         .S*  turn off warnings for overridden size clause
         t    turn on warnings for tracking deleted code
         T*   turn off warnings for tracking deleted code
         .t*+ turn on warnings for suspicious contract
         .T   turn off warnings for suspicious contract
         u+   turn on warnings for unused entity
         U*   turn off warnings for unused entity
         .u   turn on warnings for unordered enumeration
         .U*  turn off warnings for unordered enumeration
         v*+  turn on warnings for unassigned variable
         V    turn off warnings for unassigned variable
         .v*+ turn on info messages for reverse bit order
         .V   turn off info messages for reverse bit order
         w*+  turn on warnings for wrong low bound assumption
         W    turn off warnings for wrong low bound assumption
         .w   turn on warnings on pragma Warnings Off
         .W*  turn off warnings on pragma Warnings Off
         x*+  turn on warnings for export/import
         X    turn off warnings for export/import
         .x+  turn on warnings for non-local exception
         .X*  turn off warnings for non-local exception
         y*+  turn on warnings for Ada compatibility issues
         Y    turn off warnings for Ada compatibility issues
         .y   turn on info messages for why pkg body needed
         .Y*  turn off info messages for why pkg body needed
         z*+  turn on warnings for suspicious unchecked conversion
         Z    turn off warnings for suspicious unchecked conversion
   -gnatW?   Wide character encoding method (?=h/u/s/e/8/b)
   -gnatx    Suppress output of cross-reference information
   -gnatX    Language extensions permitted
   -gnaty    Enable default style checks (same as
   --gnaty3abcefhiklmnprst)
   -gnatyxx  Enable selected style checks xx = list of parameters:
         1-9  check indentation
         a    check attribute casing
         A    check array attribute indexes
         b    check no blanks at end of lines
         B    check no use of AND/OR for boolean expressions
         c    check comment format (two spaces)
         C    check comment format (one space)
         d    check no DOS line terminators
         e    check end/exit labels present
         f    check no form feeds/vertical tabs in source
         g    check standard GNAT style rules
         h    check no horizontal tabs in source
         i    check if-then layout
         I    check mode in
         k    check casing rules for keywords
         l    check reference manual layout
         Lnn  check max nest level < nn
         m    check line length <= 79 characters
         Mnn  check line length <= nn characters
         n    check casing of package Standard identifiers
         N    turn off all checks
         o    check subprogram bodies in alphabetical order
         O    check overriding indicators
         p    check pragma casing
         r    check casing for identifier references
         s    check separate subprogram specs present
         S    check separate lines after THEN or ELSE
         t    check token separation rules
         u    check no unnecessary blank lines
         x    check extra parentheses around conditionals
         y    turn on default style checks
         -    subtract (turn off) subsequent checks
         +    add (turn on) subsequent checks
   -gnatyN   Cancel all previously set style checks
   -gnatzc   Distribution stub generation for caller stubs
   -gnatzr   Distribution stub generation for receiver stubs
   -gnat83   Ada 83 mode
   -gnat95   Ada 95 mode
   -gnat2005 Ada 2005 mode
   -gnat2012 Ada 2012 mode (default)
   -gnat-p   Cancel effect of previous -gnatp switch

According to  armv6-rpi-linux-gnueabi-gnatmake --version  . . .
GNATMAKE 4.9.1
Copyright (C) 1995-2014, Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

According to  armv6-rpi-linux-gnueabi-gcc -v  . . .
Using built-in specs.
COLLECT_GCC=armv6-rpi-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/home/gloucester/x-tools/armv6-rpi-linux-gnueabi/libexec/gcc/armv6-rpi-linux-gnueabi/4.9.1/lto-wrapper
Target: armv6-rpi-linux-gnueabi
Configured with:
/home/gloucester/CrossTool-NG1.20.0_building__armv6-rpi-linux-gnueabi__with_CC_LANG_ADA/.build/src/gcc-4.9.1/configure
--build=x86_64-build_unknown-linux-gnu
--host=x86_64-build_unknown-linux-gnu --target=armv6-rpi-linux-gnueabi
--prefix=/home/gloucester/x-tools/armv6-rpi-linux-gnueabi
--with-sysroot=/home/gloucester/x-tools/armv6-rpi-linux-gnueabi/armv6-rpi-linux-gnueabi/sysroot
--enable-languages=c,c++,ada --with-arch=armv6zk
--with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp
--with-pkgversion='crosstool-NG 1.20.0' --enable-__cxa_atexit
--disable-libmudflap --disable-libgomp --disable-libssp
--disable-libquadmath --disable-libquadmath-support
--disable-libsanitizer
--with-gmp=/home/gloucester/CrossTool-NG1.20.0_building__armv6-rpi-linux-gnueabi__with_CC_LANG_ADA/.build/armv6-rpi-linux-gnueabi/buildtools
--with-mpfr=/home/gloucester/CrossTool-NG1.20.0_building__armv6-rpi-linux-gnueabi__with_CC_LANG_ADA/.build/armv6-rpi-linux-gnueabi/buildtools
--with-mpc=/home/gloucester/CrossTool-NG1.20.0_building__armv6-rpi-linux-gnueabi__with_CC_LANG_ADA/.build/armv6-rpi-linux-gnueabi/buildtools
--with-isl=/home/gloucester/CrossTool-NG1.20.0_building__armv6-rpi-linux-gnueabi__with_CC_LANG_ADA/.build/armv6-rpi-linux-gnueabi/buildtools
--with-cloog=/home/gloucester/CrossTool-NG1.20.0_building__armv6-rpi-linux-gnueabi__with_CC_LANG_ADA/.build/armv6-rpi-linux-gnueabi/buildtools
--with-libelf=/home/gloucester/CrossTool-NG1.20.0_building__armv6-rpi-linux-gnueabi__with_CC_LANG_ADA/.build/armv6-rpi-linux-gnueabi/buildtools
--enable-threads=posix --enable-target-optspace
--disable-libstdcxx-pch --enable-linker-build-id
--with-linker-hash-style=both --enable-plugin --enable-gold
--disable-nls --disable-multilib
--with-local-prefix=/home/gloucester/x-tools/armv6-rpi-linux-gnueabi/armv6-rpi-linux-gnueabi/sysroot
--enable-c99 --enable-long-long
Thread model: posix
gcc version 4.9.1 (crosstool-NG 1.20.0)

The target which I successfully ran Ada programs on built by this
toolchain never (and still does not) have an Ada compiler installed on
it. According to  gcc -v  on this target . . .
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian
4.6.3-14+rpi1' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--enable-gnu-unique-object --enable-plugin --enable-objc-gc
--disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp
--with-float=hard --enable-checking=release
--build=arm-linux-gnueabihf --host=arm-linux-gnueabihf
--target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-14+rpi1)

With kind regards,
Colin Paul de Glocester

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list