|
|
|
@ -387,6 +387,31 @@ yourself. Please remember that for each architecture there may be various |
|
|
|
patches required to get glibc HEAD into a runnable state. The best course |
|
|
|
of action is to determine if you have all the required patches. |
|
|
|
|
|
|
|
?? Why do I get: |
|
|
|
`#error "glibc cannot be compiled without optimization"', |
|
|
|
when trying to compile GNU libc with GNU CC? |
|
|
|
|
|
|
|
{AJ,CO} There are a couple of reasons why the GNU C library will not work |
|
|
|
correctly if it is not complied with optimzation. |
|
|
|
|
|
|
|
In the early startup of the dynamic loader (_dl_start), before |
|
|
|
relocation of the PLT, you cannot make function calls. You must inline |
|
|
|
the functions you will use during early startup, or call compiler |
|
|
|
builtins (__builtin_*). |
|
|
|
|
|
|
|
Without optimizations enabled GNU CC will not inline functions. The |
|
|
|
early startup of the dynamic loader will make function calls via an |
|
|
|
unrelocated PLT and crash. |
|
|
|
|
|
|
|
Without auditing the dynamic linker code it would be difficult to remove |
|
|
|
this requirement. |
|
|
|
|
|
|
|
Another reason is that nested functions must be inlined in many cases to |
|
|
|
avoid executable stacks. |
|
|
|
|
|
|
|
In practice there is no reason to compile without optimizations, therefore |
|
|
|
we require that GNU libc be compiled with optimizations enabled. |
|
|
|
|
|
|
|
? Installation and configuration issues |
|
|
|
|
|
|
|
?? Can I replace the libc on my Linux system with GNU libc? |
|
|
|
@ -1685,6 +1710,7 @@ Answers were given by: |
|
|
|
{AO} Alexandre Oliva, <aoliva@redhat.com> |
|
|
|
{BH} Bruno Haible, <haible@clisp.cons.org> |
|
|
|
{SM} Steven Munroe, <sjmunroe@us.ibm.com> |
|
|
|
{CO} Carlos O'Donell, <carlos@systemhalted.org> |
|
|
|
|
|
|
|
Local Variables: |
|
|
|
mode:outline |
|
|
|
|