You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Alexey Neyman 52203df900 Fix sh4-unknown-linux-gnu sample.
The issue with this sample is that the sh4-* targets in GCC do not
implement __builtin_trap() function. Starting with release 5.1,
GCC inserts abort() calls where NULL pointers are dereferenced. The
elf/dl-conflict.c in glibc is one such place: it calls elf_machine_rela
with NULL `sym' pointer. This causes an undefined `abort' symbol to
appear in the object file and as a result, pulls in some files during
the linking of the dynamic loader that are not supposed to. Eventually,
it results in link error due to multiple definitions of _itoa and some
other symbols.

The right fix would be to implement __builtin_trap() for sh4 in GCC.
A workaround would be adding -fno-delete-null-pointer-checks to
CFLAGS-dl-conflict.c in elf/Makefile. Until either of these happens,
though, pin the GCC version to 4.9.3 - the last that did not generate
`abort' calls. Note that the version where GCC started to generate
`abort' calls is apparently different for different architectures;
the issue in [1] was reported against GCC 4.9.

References:
[1] https://www.sourceware.org/ml/libc-alpha/2014-10/msg00807.html
  (similar issue on HP-PA which was resolved by implementing
  __builtin_trap)
8 years ago
config Merge pull request #184 from jasmin-j/add_gcc_env_array 8 years ago
contrib test-suite: define $tmpdir to $TOPDIR 8 years ago
docs Merge pull request #56 from smoofra/docfix 8 years ago
kconfig kconfig: Update kconfig. Sync with Linux-4.2 8 years ago
licenses.d Rename directory "licenses" to "licenses.d" for those filesystems unable to handle lower/upper case. 16 years ago
patches Merge pull request #178 from pkirchhofer/fix-glibc-with-new-gcc 8 years ago
samples Fix sh4-unknown-linux-gnu sample. 8 years ago
scripts Merge pull request #187 from jasmin-j/sync_lto 8 years ago
.gitignore Update .gitignore files. 8 years ago
.travis.sh Manage travis-ci build in an external script 8 years ago
.travis.yml Merge pull request #195 from stilor/bfin-multiple-bugs 8 years ago
COPYING Update and clarify COPYING (plus a typo). 15 years ago
LICENSES Add the full crosstool-NG sources to the new repository of its own. 16 years ago
Makefile.in Revert the automated build option 8 years ago
README.md Replace README to README.md and add travis-ci status 8 years ago
TODO TODO: remove some items 9 years ago
bootstrap configure: use autoconf to generate configure 12 years ago
configure.ac Revert the automated build option 8 years ago
ct-ng.comp kconfig: Update kconfig. Sync with Linux-4.2 8 years ago
ct-ng.in all: remove references to creating a tarball 8 years ago
steps.mk avr-libc: add support for avr-libc C library 8 years ago

README.md

Crosstool-NG Build Status

Crosstool-NG follows the autoconf dance. So, to get you kick-started, just run:

./configure --help

If you are using a development snapshot, you'll have to create the configure script, first. Just run:

./bootstrap

You will find the documentation in the directory docs. Here is a quick overview of what you'll find there:

  1. Table of content
  2. Introduction
  3. Installing crosstool-NG
  4. Configuring a toolchain
  5. Building the toolchain
  6. Using the toolchain
  7. Toolchain types
  8. Contributing
  9. Internals
  1. Credits
  2. Known issues
  3. Misc. tutorials

You can also point your browser at: http://crosstool-ng.org

Aloha!