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.
![]() 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 | 8 years ago | |
contrib | 8 years ago | |
docs | 8 years ago | |
kconfig | 8 years ago | |
licenses.d | 16 years ago | |
patches | 8 years ago | |
samples | 8 years ago | |
scripts | 8 years ago | |
.gitignore | 8 years ago | |
.travis.sh | 8 years ago | |
.travis.yml | 8 years ago | |
COPYING | 15 years ago | |
LICENSES | 16 years ago | |
Makefile.in | 8 years ago | |
README.md | 8 years ago | |
TODO | 9 years ago | |
bootstrap | 12 years ago | |
configure.ac | 8 years ago | |
ct-ng.comp | 8 years ago | |
ct-ng.in | 8 years ago | |
steps.mk | 8 years ago |
README.md
Crosstool-NG 
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:
- Table of content
- Introduction
- Installing crosstool-NG
- Configuring a toolchain
- Building the toolchain
- Using the toolchain
- Toolchain types
- Contributing
- Internals
- Credits
- Known issues
- Misc. tutorials
You can also point your browser at: http://crosstool-ng.org
Aloha!