From: Dan Tejada <dan.tejada@cantada.com>
To: "crossgcc@sourceware.org" <crossgcc@sourceware.org>
Subject: New platform recommendations
Date: Fri, 10 Apr 2020 18:28:45 +0000 [thread overview]
Message-ID: <SN6PR1901MB21258525DF2A24273DE68D9793DE0@SN6PR1901MB2125.namprd19.prod.outlook.com> (raw)
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$
reply other threads:[~2020-04-10 18:28 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=SN6PR1901MB21258525DF2A24273DE68D9793DE0@SN6PR1901MB2125.namprd19.prod.outlook.com \
--to=dan.tejada@cantada.com \
--cc=crossgcc@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).