mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-19 04:47:52 +00:00
443f51a2dc
Build glibc with -O2 as a fix/workaround to building seemingly-native toolchains. See: - docs/overview.txt - docs/known-issues.txt - http://sourceware.org/ml/crossgcc/2009-09/msg00055.html
109 lines
3.4 KiB
Plaintext
109 lines
3.4 KiB
Plaintext
This files lists the known issues encountered while developping crosstool-NG,
|
|
but that could not be addressed before the release.
|
|
|
|
The file has one section for each known issue, each section containing four
|
|
sub-sections: Symptoms, Explanations, Fix, and Workaround.
|
|
|
|
Each section is separated from the others with a lines of at least 4 dashes.
|
|
|
|
The following dummy section explains it all.
|
|
|
|
--------------------------------
|
|
Symptoms:
|
|
A one-liner of what you would observe.
|
|
|
|
Explanations:
|
|
An as much as possible in-depth explanations of the context, why it
|
|
happens, what has been investigated so far, and possible orientations
|
|
as how to try to solve this (eg. URLs, code snippets...).
|
|
|
|
Fix:
|
|
What you have to do to fix it, if at all possible.
|
|
The fact that there is a fix, and yet this is a known issue means that
|
|
time to incorporate the fix in crosstool-NG was missing, or planned for
|
|
a future release.
|
|
|
|
Workaround:
|
|
What you can do to fix it *temporarily*, if at all possible.
|
|
A workaround is not a real fix, as it can break other parts of
|
|
crosstool-NG, but at least makes you going in your particular case.
|
|
|
|
So now, on for the real issues...
|
|
|
|
--------------------------------
|
|
Symptoms:
|
|
Seemingly native toolchains do not build.
|
|
|
|
Explanations:
|
|
Seemingly native toolchains are toolchains that target the same architecture
|
|
as the one it is built on, and on which it will run, but the machine tuple
|
|
may be different (eg i686 vs. i386, or x86_64-unknown-linux-gnu vs.
|
|
x86_64-pc-linux-gnu).
|
|
|
|
This seems to happen when building glibc-2.7 based toolchains only, for
|
|
x86 and for x86_64.
|
|
|
|
Only the system part of the tuple (here, linux-gnu) needs to be the same to
|
|
trigger the bug. Which means that building a tolchain for either x86 or
|
|
x86_64 on either x86 or x86_64 breaks.
|
|
|
|
Fix:
|
|
None known.
|
|
|
|
Workaround:
|
|
It seems that using -O2 in the CFLAGS fixes the problem. It has been
|
|
confirmed in the following threads:
|
|
http://sourceware.org/ml/crossgcc/2009-09/msg00055.html (for glibc)
|
|
http://sourceware.org/ml/crossgcc/2009-10/msg00001.html (for eglibc)
|
|
|
|
--------------------------------
|
|
Symptoms:
|
|
gcc is not found, although I *do* have gcc installed.
|
|
|
|
Explanations:
|
|
This is an issue on at least RHEL systems, where gcc is a symlink to ccache.
|
|
Because crosstool-NG create links to gcc for the build and host environment,
|
|
those symlinks are in fact pointing to ccache, which then doesn't know how
|
|
to run the compiler.
|
|
|
|
A possible fix could probably set the environment variable CCACHE_CC to the
|
|
actual compiler used.
|
|
|
|
Fix:
|
|
None known.
|
|
|
|
Workaround:
|
|
Uninstall ccache.
|
|
|
|
--------------------------------
|
|
Symptoms:
|
|
The extract and/or path steps fail under Cygwin.
|
|
|
|
Explanations:
|
|
This is not related to crosstool-NG. Mounts under Cygwin are by default not
|
|
case-sensitive. You have to use so-called "managed" mounts. See:
|
|
http://cygwin.com/faq.html section 4, question 32.
|
|
|
|
Fix:
|
|
Use "managed" mounts for the directories where you build *and* install your
|
|
toolchains.
|
|
|
|
Workaround:
|
|
None.
|
|
|
|
--------------------------------
|
|
Symptoms:
|
|
uClibc fails to build under Cygwin.
|
|
|
|
Explanations:
|
|
With uClibc, it is possible to build a cross-ldd. Unfortunately, it is
|
|
not (currently) possible to build this cross-ldd under Cygwin.
|
|
|
|
Fix:
|
|
None so far.
|
|
|
|
Workaround:
|
|
Disable the cross-ldd build.
|
|
|
|
--------------------------------
|