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