New platform recommendations

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

New platform recommendations

Dan Tejada
To someone who knows what they are doing:

I am trying to build a configuration for GCC on the c6x target.  C6x is the TI DSP without an MMU I have a reference GCC implementation built by CodeSorcery ( a long time ago before they were bought by Mentor and ruined).  I have built several Linux kernels with this compiler but would like to update it. I have used crosstool-ng for MIPS and ARM and it works like a champ.  I know quite a bit about the c6x platform and decided to I'd try to build a cross tool configuration for it.

Below are the config files I added and the output of my build.  I'm sure I didn't add something that people normally configure (and that will be obvious once I start really testing this).  Can anyone provide advice of things I may have overlooked or might want to verify.  Is there a test suite I can run on my target to verify the output of the compiler?  I have target hardware (and simulators) that I can test it on.

Thanks,

Dan

crosstool-ng/config/arch/c6x.in:
# c6x specific configuration file

## no-package
## select ARCH_SUPPORTS_32
## select ARCH_DEFAULT_32
## select ARCH_SUPPORTS_EITHER_ENDIAN
## select ARCH_DEFAULT_LE
## select ARCH_SUPPORTS_FLAT_FORMAT
## depends on EXPERIMENTAL
##
## help The TI C6x architecture

crosstool-ng/config/arch/c6x.in:

# Compute c6x-specific values

CT_DoArchUClibcConfig() {
    local cfg="${1}"

    CT_DoArchUClibcSelectArch "${cfg}" "tic6x"
}

CT_DoArchTupleValues() {
    CT_TARGET_ARCH="tic6x"
    #binutils does not like uclibc in the tuple
    CT_TARGET_SYS=
}

Here is my output:

dan@osboxes:~/gcc-c6x$ ct-ng build
[INFO ]  Performing some trivial sanity checks
[WARN ]  Number of open files 1024 may not be sufficient to build the toolchain; increasing to 2048
[INFO ]  Build started 20200410.123452
[INFO ]  Building environment variables
[EXTRA]  Preparing working directories
[EXTRA]  Installing user-supplied crosstool-NG configuration
[EXTRA]  =================================================================
[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = x86_64-pc-linux-gnu
[EXTRA]      host   = x86_64-pc-linux-gnu
[EXTRA]      target = tic6x-unknown-uclinux
[EXTRA]  Dumping internal crosstool-NG configuration: done in 0.32s (at 00:06)
[INFO ]  =================================================================
[INFO ]  Retrieving needed toolchain components' tarballs
[INFO ]  Retrieving needed toolchain components' tarballs: done in 1.36s (at 00:08)
[INFO ]  =================================================================
[INFO ]  Extracting and patching toolchain components
[INFO ]  Extracting and patching toolchain components: done in 2.70s (at 00:10)
[INFO ]  =================================================================
[INFO ]  Installing zlib for host
[EXTRA]    Configuring zlib
[EXTRA]    Building zlib
[EXTRA]    Installing zlib
[INFO ]  Installing zlib for host: done in 7.77s (at 00:18)
[INFO ]  =================================================================
[INFO ]  Installing GMP for host
[EXTRA]    Configuring GMP
[EXTRA]    Building GMP
[EXTRA]    Installing GMP
[INFO ]  Installing GMP for host: done in 94.60s (at 01:53)
[INFO ]  =================================================================
[INFO ]  Installing MPFR for host
[EXTRA]    Configuring MPFR
[EXTRA]    Building MPFR
[EXTRA]    Installing MPFR
[INFO ]  Installing MPFR for host: done in 61.64s (at 02:54)
[INFO ]  =================================================================
[INFO ]  Installing ISL for host
[EXTRA]    Configuring ISL
[EXTRA]    Building ISL
[EXTRA]    Installing ISL
[INFO ]  Installing ISL for host: done in 72.72s (at 04:07)
[INFO ]  =================================================================
[INFO ]  Installing MPC for host
[EXTRA]    Configuring MPC
[EXTRA]    Building MPC
[EXTRA]    Installing MPC
[INFO ]  Installing MPC for host: done in 15.99s (at 04:23)
[INFO ]  =================================================================
[INFO ]  Installing binutils for host
[EXTRA]    Configuring binutils
[EXTRA]    Building binutils
[EXTRA]    Installing binutils
[INFO ]  Installing binutils for host: done in 165.84s (at 07:09)
[INFO ]  =================================================================
[INFO ]  Installing pass-1 core C gcc compiler
[EXTRA]    Configuring core C gcc compiler
[EXTRA]    Building gcc
[EXTRA]    Installing gcc
[EXTRA]    Housekeeping for core gcc compiler
[EXTRA]       '' --> lib (gcc)   lib (os)
[INFO ]  Installing pass-1 core C gcc compiler: done in 1200.37s (at 27:10)
[INFO ]  =================================================================
[INFO ]  Installing kernel headers
[EXTRA]    Installing kernel headers
[EXTRA]    Checking installed headers
[INFO ]  Installing kernel headers: done in 7.51s (at 27:17)
[INFO ]  =================================================================
[INFO ]  Installing C library headers & start files
[INFO ]    =================================================================
[INFO ]    Building for multilib 1/1: ''
[EXTRA]      Copying sources to build dir
[EXTRA]      Applying configuration
[EXTRA]      Building headers
[EXTRA]      Installing headers
[INFO ]    Building for multilib 1/1: '': done in 11.40s (at 27:29)
[INFO ]  Installing C library headers & start files: done in 11.52s (at 27:29)
[INFO ]  =================================================================
[INFO ]  Installing pass-2 core C gcc compiler
[EXTRA]    Configuring core C gcc compiler
[EXTRA]    Building gcc
[EXTRA]    Installing gcc
[EXTRA]    Housekeeping for core gcc compiler
[EXTRA]       '' --> lib (gcc)   lib (os)
[INFO ]  Installing pass-2 core C gcc compiler: done in 1220.96s (at 47:50)
[INFO ]  =================================================================
[INFO ]  Installing C library
[INFO ]    =================================================================
[INFO ]    Building for multilib 1/1: ''
[EXTRA]      Copying sources to build dir
[EXTRA]      Applying configuration
[EXTRA]      Cleaning up startfiles
[EXTRA]      Building C library
[EXTRA]      Installing C library
[INFO ]    Building for multilib 1/1: '': done in 63.24s (at 48:53)
[INFO ]  Installing C library: done in 63.54s (at 48:53)
[INFO ]  =================================================================
[INFO ]  Installing final gcc compiler
[EXTRA]    Configuring final gcc compiler
[EXTRA]    Building final gcc compiler
[EXTRA]    Installing final gcc compiler
[EXTRA]    Housekeeping for final gcc compiler
[EXTRA]       '' --> lib (gcc)   lib (os)
[INFO ]  Installing final gcc compiler: done in 1195.59s (at 68:49)
[INFO ]  =================================================================
[INFO ]  Checking dynamic linker symlinks
[EXTRA]    Checking dynamic linker for multilib ''
[INFO ]  Checking dynamic linker symlinks: done in 0.16s (at 68:49)
[INFO ]  =================================================================
[INFO ]  Finalizing the toolchain's directory
[INFO ]    Stripping all toolchain executables
[EXTRA]    Installing the populate helper
[EXTRA]    Installing a cross-ldd helper
[EXTRA]    Creating toolchain aliases
[EXTRA]    Removing installed documentation
[EXTRA]    Collect license information from: /home/dan/gcc-c6x/.build/tic6x-unknown-uclinux/src
[EXTRA]    Put the license information to: /home/dan/x-tools/tic6x-unknown-uclinux/share/licenses
[INFO ]  Finalizing the toolchain's directory: done in 8.34s (at 68:57)
[INFO ]  Build completed at 20200410.134348
[INFO ]  (elapsed: 68:55.85)
[INFO ]  Finishing installation (may take a few seconds)...
[68:57] / dan@osboxes:~/gcc-c6x$
--
For unsubscribe information see http://sourceware.org/lists.html#faq